ARM: N30: Use s3c_i2c0_set_platdata() to set I2C platform data
authorBen Dooks <ben-linux@fluff.org>
Mon, 28 Sep 2009 15:29:48 +0000 (16:29 +0100)
committerBen Dooks <ben-linux@fluff.org>
Tue, 1 Dec 2009 01:34:17 +0000 (01:34 +0000)
Fix mach-n30.c to use the s3c_i2c0_set_platdata() call to register the
platform data with the system to get rid of any reliance on having a real
device structure available in memory.

Since s3c_i2c0_set_platdata() copies the data, mark the original as
__initdata so it is thrown away.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
arch/arm/mach-s3c2410/mach-n30.c

index 0f6ed61af41513c754f6237b590c8962dc57250c..0405712c22634b8a4915afcd7ad1fa94c49a1ef0 100644 (file)
@@ -338,7 +338,7 @@ static struct platform_device *n35_devices[] __initdata = {
        &n35_button_device,
 };
 
-static struct s3c2410_platform_i2c n30_i2ccfg = {
+static struct s3c2410_platform_i2c __initdata n30_i2ccfg = {
        .flags          = 0,
        .slave_addr     = 0x10,
        .frequency      = 10*1000,
@@ -500,8 +500,8 @@ static void __init n30_init_irq(void)
 static void __init n30_init(void)
 {
        s3c24xx_fb_set_platdata(&n30_fb_info);
-       s3c_device_i2c0.dev.platform_data = &n30_i2ccfg;
        s3c24xx_udc_set_platdata(&n30_udc_cfg);
+       s3c_i2c0_set_platdata(&n30_i2ccfg);
 
        /* Turn off suspend on both USB ports, and switch the
         * selectable USB port to USB device mode. */