diff options
Diffstat (limited to 'target/linux/ixp4xx/patches-2.6.23/025-dsmg600_i2c_gpio_driver_support.patch')
-rw-r--r-- | target/linux/ixp4xx/patches-2.6.23/025-dsmg600_i2c_gpio_driver_support.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/target/linux/ixp4xx/patches-2.6.23/025-dsmg600_i2c_gpio_driver_support.patch b/target/linux/ixp4xx/patches-2.6.23/025-dsmg600_i2c_gpio_driver_support.patch new file mode 100644 index 000000000..bbb8025fc --- /dev/null +++ b/target/linux/ixp4xx/patches-2.6.23/025-dsmg600_i2c_gpio_driver_support.patch @@ -0,0 +1,43 @@ +Index: linux-2.6.22-rc3-git2-armeb/arch/arm/mach-ixp4xx/dsmg600-setup.c +=================================================================== +--- linux-2.6.22-rc3-git2-armeb.orig/arch/arm/mach-ixp4xx/dsmg600-setup.c 2007-05-31 04:05:30.000000000 -0700 ++++ linux-2.6.22-rc3-git2-armeb/arch/arm/mach-ixp4xx/dsmg600-setup.c 2007-05-31 04:13:02.000000000 -0700 +@@ -14,6 +14,7 @@ + #include <linux/kernel.h> + #include <linux/serial.h> + #include <linux/serial_8250.h> ++#include <linux/i2c-gpio.h> + + #include <asm/mach-types.h> + #include <asm/mach/arch.h> +@@ -37,15 +38,17 @@ + .resource = &dsmg600_flash_resource, + }; + +-static struct ixp4xx_i2c_pins dsmg600_i2c_gpio_pins = { ++static struct i2c_gpio_platform_data dsmg600_i2c_gpio_data = { + .sda_pin = DSMG600_SDA_PIN, + .scl_pin = DSMG600_SCL_PIN, + }; + +-static struct platform_device dsmg600_i2c_controller = { +- .name = "IXP4XX-I2C", ++static struct platform_device dsmg600_i2c_gpio = { ++ .name = "i2c-gpio", + .id = 0, +- .dev.platform_data = &dsmg600_i2c_gpio_pins, ++ .dev = { ++ .platform_data = &dsmg600_i2c_gpio_data, ++ }, + }; + + #ifdef CONFIG_LEDS_CLASS +@@ -116,7 +119,7 @@ + }; + + static struct platform_device *dsmg600_devices[] __initdata = { +- &dsmg600_i2c_controller, ++ &dsmg600_i2c_gpio, + &dsmg600_flash, + }; + |