summaryrefslogtreecommitdiffstats
path: root/target/linux/ixp4xx/patches-2.6.23/025-dsmg600_i2c_gpio_driver_support.patch
diff options
context:
space:
mode:
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.patch43
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,
+ };
+