diff options
Diffstat (limited to 'target/linux/ixp4xx/patches-2.6.23/021-nslu2_i2c_gpio_driver_support.patch')
-rw-r--r-- | target/linux/ixp4xx/patches-2.6.23/021-nslu2_i2c_gpio_driver_support.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/target/linux/ixp4xx/patches-2.6.23/021-nslu2_i2c_gpio_driver_support.patch b/target/linux/ixp4xx/patches-2.6.23/021-nslu2_i2c_gpio_driver_support.patch new file mode 100644 index 0000000000..8917050a61 --- /dev/null +++ b/target/linux/ixp4xx/patches-2.6.23/021-nslu2_i2c_gpio_driver_support.patch @@ -0,0 +1,47 @@ +diff --git a/arch/arm/mach-ixp4xx/nslu2-setup.c b/arch/arm/mach-ixp4xx/nslu2-setup.c +index 9bf8ccb..77277d2 100644 +--- a/arch/arm/mach-ixp4xx/nslu2-setup.c ++++ b/arch/arm/mach-ixp4xx/nslu2-setup.c +@@ -18,6 +18,7 @@ + #include <linux/serial.h> + #include <linux/serial_8250.h> + #include <linux/leds.h> ++#include <linux/i2c-gpio.h> + + #include <asm/mach-types.h> + #include <asm/mach/arch.h> +@@ -41,7 +42,7 @@ static struct platform_device nslu2_flash = { + .resource = &nslu2_flash_resource, + }; + +-static struct ixp4xx_i2c_pins nslu2_i2c_gpio_pins = { ++static struct i2c_gpio_platform_data nslu2_i2c_gpio_data = { + .sda_pin = NSLU2_SDA_PIN, + .scl_pin = NSLU2_SCL_PIN, + }; +@@ -82,11 +83,12 @@ static struct platform_device nslu2_leds = { + }; + #endif + +-static struct platform_device nslu2_i2c_controller = { +- .name = "IXP4XX-I2C", ++static struct platform_device nslu2_i2c_gpio = { ++ .name = "i2c-gpio", + .id = 0, +- .dev.platform_data = &nslu2_i2c_gpio_pins, +- .num_resources = 0, ++ .dev = { ++ .platform_data = &nslu2_i2c_gpio_data, ++ }, + }; + + static struct platform_device nslu2_beeper = { +@@ -139,7 +141,7 @@ static struct platform_device nslu2_uart = { + }; + + static struct platform_device *nslu2_devices[] __initdata = { +- &nslu2_i2c_controller, ++ &nslu2_i2c_gpio, + &nslu2_flash, + &nslu2_beeper, + #ifdef CONFIG_LEDS_IXP4XX |