From 6e3a7fea2066d8902c7e63c79bd198a99a907305 Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Tue, 2 Nov 2010 12:01:56 +0000 Subject: support only 2.6.32 and 2.6.36 SVN-Revision: 23773 --- .../ixp4xx/patches-2.6.34/402-ixp4xx_gpiolib.patch | 136 --------------------- 1 file changed, 136 deletions(-) delete mode 100644 target/linux/ixp4xx/patches-2.6.34/402-ixp4xx_gpiolib.patch (limited to 'target/linux/ixp4xx/patches-2.6.34/402-ixp4xx_gpiolib.patch') diff --git a/target/linux/ixp4xx/patches-2.6.34/402-ixp4xx_gpiolib.patch b/target/linux/ixp4xx/patches-2.6.34/402-ixp4xx_gpiolib.patch deleted file mode 100644 index 5fb5edba46..0000000000 --- a/target/linux/ixp4xx/patches-2.6.34/402-ixp4xx_gpiolib.patch +++ /dev/null @@ -1,136 +0,0 @@ ---- a/arch/arm/mach-ixp4xx/common.c -+++ b/arch/arm/mach-ixp4xx/common.c -@@ -36,6 +36,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -375,12 +376,50 @@ static struct platform_device *ixp46x_de - unsigned long ixp4xx_exp_bus_size; - EXPORT_SYMBOL(ixp4xx_exp_bus_size); - -+static int ixp4xx_gpio_direction_input(struct gpio_chip *chip, unsigned gpio) -+{ -+ gpio_line_config(gpio, IXP4XX_GPIO_IN); -+ return 0; -+} -+ -+static int ixp4xx_gpio_direction_output(struct gpio_chip *chip, unsigned gpio, int level) -+{ -+ gpio_line_set(gpio, level); -+ gpio_line_config(gpio, IXP4XX_GPIO_OUT); -+ return 0; -+} -+ -+static int ixp4xx_gpio_get_value(struct gpio_chip *chip, unsigned gpio) -+{ -+ int value; -+ -+ gpio_line_get(gpio, &value); -+ return value; -+} -+ -+static void ixp4xx_gpio_set_value(struct gpio_chip *chip, unsigned gpio, int value) -+{ -+ gpio_line_set(gpio, value); -+} -+ -+static struct gpio_chip ixp4xx_gpio_chip = { -+ .label = "IXP4XX_GPIO_CHIP", -+ .direction_input = ixp4xx_gpio_direction_input, -+ .direction_output = ixp4xx_gpio_direction_output, -+ .get = ixp4xx_gpio_get_value, -+ .set = ixp4xx_gpio_set_value, -+ .base = 0, -+ .ngpio = 16, -+}; -+ - void __init ixp4xx_sys_init(void) - { - ixp4xx_exp_bus_size = SZ_16M; - - platform_add_devices(ixp4xx_devices, ARRAY_SIZE(ixp4xx_devices)); - -+ gpiochip_add(&ixp4xx_gpio_chip); -+ - if (cpu_is_ixp46x()) { - int region; - ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -434,6 +434,7 @@ config ARCH_IXP4XX - select GENERIC_GPIO - select GENERIC_TIME - select GENERIC_CLOCKEVENTS -+ select ARCH_REQUIRE_GPIOLIB - help - Support for Intel's IXP4XX (XScale) family of processors. - ---- a/arch/arm/mach-ixp4xx/include/mach/gpio.h -+++ b/arch/arm/mach-ixp4xx/include/mach/gpio.h -@@ -27,47 +27,31 @@ - - #include - #include -+#include /* cansleep wrappers */ - --static inline int gpio_request(unsigned gpio, const char *label) --{ -- return 0; --} -- --static inline void gpio_free(unsigned gpio) --{ -- might_sleep(); -- -- return; --} -- --static inline int gpio_direction_input(unsigned gpio) --{ -- gpio_line_config(gpio, IXP4XX_GPIO_IN); -- return 0; --} -- --static inline int gpio_direction_output(unsigned gpio, int level) --{ -- gpio_line_set(gpio, level); -- gpio_line_config(gpio, IXP4XX_GPIO_OUT); -- return 0; --} -+#define NR_BUILTIN_GPIO 16 - - static inline int gpio_get_value(unsigned gpio) - { -- int value; -- -- gpio_line_get(gpio, &value); -- -- return value; -+ if (gpio < NR_BUILTIN_GPIO) -+ { -+ int value; -+ gpio_line_get(gpio, &value); -+ return value; -+ } -+ else -+ return __gpio_get_value(gpio); - } - - static inline void gpio_set_value(unsigned gpio, int value) - { -- gpio_line_set(gpio, value); -+ if (gpio < NR_BUILTIN_GPIO) -+ gpio_line_set(gpio, value); -+ else -+ __gpio_set_value(gpio, value); - } - --#include /* cansleep wrappers */ -+#define gpio_cansleep __gpio_cansleep - - extern int gpio_to_irq(int gpio); - extern int irq_to_gpio(unsigned int irq); -- cgit v1.2.3