aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-samsung/dev-i2c2.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-samsung/dev-i2c2.c')
-rw-r--r--arch/arm/plat-samsung/dev-i2c2.c24
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
48static 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
56void __init s3c_i2c2_set_platdata(struct s3c2410_platform_i2c *pd) 48void __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}