summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorWilliam Lai <b04597@freescale.com>2010-01-26 15:54:15 +0800
committerWilliam Lai <b04597@freescale.com>2010-02-01 10:56:28 +0800
commit29065e61108c6a254a6ba4594c43ca9981ee2528 (patch)
tree28afc0aa6f7a0ba9285772343bd06c31124c4dd4 /drivers/net
parent321789480f856142a5d9e6eec646207581e6ff26 (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>
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)