diff options
Diffstat (limited to 'arch/arm/plat-samsung/dev-i2c2.c')
-rw-r--r-- | arch/arm/plat-samsung/dev-i2c2.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/arch/arm/plat-samsung/dev-i2c2.c b/arch/arm/plat-samsung/dev-i2c2.c index ff4ba69b683..07e9fd0b1b8 100644 --- a/arch/arm/plat-samsung/dev-i2c2.c +++ b/arch/arm/plat-samsung/dev-i2c2.c | |||
@@ -45,26 +45,18 @@ struct platform_device s3c_device_i2c2 = { | |||
45 | .resource = s3c_i2c_resource, | 45 | .resource = s3c_i2c_resource, |
46 | }; | 46 | }; |
47 | 47 | ||
48 | static struct s3c2410_platform_i2c default_i2c_data2 __initdata = { | ||
49 | .flags = 0, | ||
50 | .bus_num = 2, | ||
51 | .slave_addr = 0x10, | ||
52 | .frequency = 100*1000, | ||
53 | .sda_delay = 100, | ||
54 | }; | ||
55 | |||
56 | void __init s3c_i2c2_set_platdata(struct s3c2410_platform_i2c *pd) | 48 | void __init s3c_i2c2_set_platdata(struct s3c2410_platform_i2c *pd) |
57 | { | 49 | { |
58 | struct s3c2410_platform_i2c *npd; | 50 | struct s3c2410_platform_i2c *npd; |
59 | 51 | ||
60 | if (!pd) | 52 | if (!pd) { |
61 | pd = &default_i2c_data2; | 53 | pd = &default_i2c_data; |
54 | pd->bus_num = 2; | ||
55 | } | ||
62 | 56 | ||
63 | npd = kmemdup(pd, sizeof(struct s3c2410_platform_i2c), GFP_KERNEL); | 57 | npd = s3c_set_platdata(pd, sizeof(struct s3c2410_platform_i2c), |
64 | if (!npd) | 58 | &s3c_device_i2c2); |
65 | printk(KERN_ERR "%s: no memory for platform data\n", __func__); | ||
66 | else if (!npd->cfg_gpio) | ||
67 | npd->cfg_gpio = s3c_i2c2_cfg_gpio; | ||
68 | 59 | ||
69 | s3c_device_i2c2.dev.platform_data = npd; | 60 | if (!npd->cfg_gpio) |
61 | npd->cfg_gpio = s3c_i2c2_cfg_gpio; | ||
70 | } | 62 | } |