summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorWilliam Lai <b04597@freescale.com>2010-01-26 15:54:15 +0800
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-24 11:50:06 +0200
commitec879df5c57d4ec34f2f41b3f5eb1fffb3ba6e40 (patch)
tree30f39a696783b67ba82e8bbf6c04ac56310637c7 /drivers/net
parent943772e39b6632ac49b7a4f65b6f7e4b958a8637 (diff)
ENGR00120455-1 CAN: Pass the default setting through platform_data
Initialize the default Flexcan device setting, by passing the predefined parameters through platform_data. Signed-off-by: William Lai <b04597@freescale.com> Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/can/flexcan/dev.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/drivers/net/can/flexcan/dev.c b/drivers/net/can/flexcan/dev.c
index cc117f0fca9b..178a49ab05a8 100644
--- a/drivers/net/can/flexcan/dev.c
+++ b/drivers/net/can/flexcan/dev.c
@@ -443,24 +443,26 @@ static ssize_t flexcan_set_attr(struct device *dev,
static void flexcan_device_default(struct flexcan_device *dev)
{
- dev->br_clksrc = 1;
- dev->br_rjw = 2;
- dev->br_presdiv = 6;
- dev->br_propseg = 4;
- dev->br_pseg1 = 4;
- dev->br_pseg2 = 7;
-
- dev->bcc = 1;
- dev->srx_dis = 1;
- dev->smp = 1;
- dev->boff_rec = 1;
+ struct platform_device *pdev = dev->dev;
+ struct flexcan_platform_data *plat_data = (pdev->dev).platform_data;
+ dev->br_clksrc = plat_data->br_clksrc;
+ dev->br_rjw = plat_data->br_rjw;
+ dev->br_presdiv = plat_data->br_presdiv;
+ dev->br_propseg = plat_data->br_propseg;
+ dev->br_pseg1 = plat_data->br_pseg1;
+ dev->br_pseg2 = plat_data->br_pseg2;
+
+ dev->bcc = plat_data->bcc;
+ dev->srx_dis = plat_data->srx_dis;
+ dev->smp = plat_data->smp;
+ dev->boff_rec = plat_data->boff_rec;
dev->maxmb = FLEXCAN_MAX_MB - 1;
dev->xmit_maxmb = (FLEXCAN_MAX_MB >> 1) - 1;
dev->xmit_mb = dev->maxmb - dev->xmit_maxmb;
- dev->ext_msg = 1;
- dev->std_msg = 1;
+ dev->ext_msg = plat_data->ext_msg;
+ dev->std_msg = plat_data->std_msg;
}
static int flexcan_device_attach(struct flexcan_device *flexcan)