From 21d182b9e54910c6bdfa6c8934d25b2c115a8588 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 7 Oct 2012 23:23:29 +0000
Subject: ixp4xx: patch cleanup

roll all cambria patches into a single patch (no code changes)

Signed-off-by: Tim Harvey <tharvey@gateworks.com>

SVN-Revision: 33643
---
 .../ixp4xx/patches-3.3/190-cambria_support.patch   | 146 ++++++++++++++++++++-
 .../patches-3.3/191-cambria_optional_uart.patch    |  96 --------------
 .../patches-3.3/192-cambria_gpio_device.patch      |  46 -------
 .../ixp4xx/patches-3.3/193-cambria_pld_gpio.patch  | 107 ---------------
 4 files changed, 145 insertions(+), 250 deletions(-)
 delete mode 100644 target/linux/ixp4xx/patches-3.3/191-cambria_optional_uart.patch
 delete mode 100644 target/linux/ixp4xx/patches-3.3/192-cambria_gpio_device.patch
 delete mode 100644 target/linux/ixp4xx/patches-3.3/193-cambria_pld_gpio.patch

(limited to 'target/linux')

diff --git a/target/linux/ixp4xx/patches-3.3/190-cambria_support.patch b/target/linux/ixp4xx/patches-3.3/190-cambria_support.patch
index 3c6627cb35..dcd116e8d7 100644
--- a/target/linux/ixp4xx/patches-3.3/190-cambria_support.patch
+++ b/target/linux/ixp4xx/patches-3.3/190-cambria_support.patch
@@ -77,7 +77,7 @@
 +subsys_initcall(cambria_pci_init);
 --- /dev/null
 +++ b/arch/arm/mach-ixp4xx/cambria-setup.c
-@@ -0,0 +1,430 @@
+@@ -0,0 +1,574 @@
 +/*
 + * arch/arm/mach-ixp4xx/cambria-setup.c
 + *
@@ -92,11 +92,14 @@
 + */
 +
 +#include <linux/device.h>
++#include <linux/gpio_buttons.h>
 +#include <linux/i2c.h>
 +#include <linux/i2c-gpio.h>
 +#include <linux/i2c/at24.h>
++#include <linux/i2c/gw_i2c_pld.h>
 +#include <linux/if_ether.h>
 +#include <linux/init.h>
++#include <linux/input.h>
 +#include <linux/kernel.h>
 +#include <linux/leds.h>
 +#include <linux/memory.h>
@@ -114,6 +117,7 @@
 +#include <asm/mach/arch.h>
 +#include <asm/mach/flash.h>
 +#include <asm/setup.h>
++#include <linux/irq.h>
 +
 +struct cambria_board_info {
 +	unsigned char	*model;
@@ -207,6 +211,45 @@
 +	.resource	= &cambria_uart_resource,
 +};
 +
++static struct resource cambria_optional_uart_resources[] = {
++	{
++		.start	= 0x52000000,
++		.end	= 0x52000fff,
++		.flags	= IORESOURCE_MEM
++	},
++	{
++		.start	= 0x53000000,
++		.end	= 0x53000fff,
++		.flags	= IORESOURCE_MEM
++	}
++};
++
++static struct plat_serial8250_port cambria_optional_uart_data[] = {
++	{
++		.flags		= UPF_BOOT_AUTOCONF,
++		.iotype		= UPIO_MEM_DELAY,
++		.regshift	= 0,
++		.uartclk	= 1843200,
++		.rw_delay	= 2,
++	},
++	{
++		.flags		= UPF_BOOT_AUTOCONF,
++		.iotype		= UPIO_MEM_DELAY,
++		.regshift	= 0,
++		.uartclk	= 1843200,
++		.rw_delay	= 2,
++	},
++  { },
++};
++
++static struct platform_device cambria_optional_uart = {
++	.name		= "serial8250",
++	.id		= PLAT8250_DEV_PLATFORM1,
++	.dev.platform_data	= cambria_optional_uart_data,
++	.num_resources	= 2,
++	.resource	= cambria_optional_uart_resources,
++};
++
 +static struct resource cambria_pata_resources[] = {
 +	{
 +		.flags	= IORESOURCE_MEM
@@ -254,6 +297,20 @@
 +	.dev.platform_data = &cambria_gpio_leds_data,
 +};
 +
++static struct resource cambria_gpio_resources[] = {
++	{
++		.name = "gpio",
++		.flags  = 0,
++	},
++};
++
++static struct platform_device cambria_gpio = {
++	.name     = "GPIODEV",
++	.id     = -1,
++	.num_resources    = ARRAY_SIZE(cambria_gpio_resources),
++	.resource   = cambria_gpio_resources,
++};
++
 +static struct latch_led cambria_latch_leds[] = {
 +	{
 +		.name	= "ledA",  /* green led */
@@ -349,6 +406,39 @@
 +	},
 +};
 +
++static struct gw_i2c_pld_platform_data gw_i2c_pld_data0 = {
++	.gpio_base	= 16,
++	.nr_gpio	= 8,
++};
++
++static struct gw_i2c_pld_platform_data gw_i2c_pld_data1 = {
++	.gpio_base	= 24,
++	.nr_gpio	= 2,
++};
++
++
++static struct gpio_button cambria_gpio_buttons[] = {
++	{
++		.desc		= "user",
++		.type		= EV_KEY,
++		.code		= BTN_0,
++		.threshold	= 2,
++		.gpio		= 25,
++	}
++};
++
++static struct gpio_buttons_platform_data cambria_gpio_buttons_data = {
++	.poll_interval	= 500,
++	.nbuttons	= 1,
++	.buttons	= cambria_gpio_buttons,
++};
++
++static struct platform_device cambria_gpio_buttons_device = {
++	.name			= "gpio-buttons",
++	.id			= -1,
++	.dev.platform_data	= &cambria_gpio_buttons_data,
++};
++
 +static struct platform_device *cambria_devices[] __initdata = {
 +	&cambria_i2c_gpio,
 +	&cambria_flash,
@@ -357,12 +447,35 @@
 +
 +static void __init cambria_gw23xx_setup(void)
 +{
++	cambria_gpio_resources[0].start = (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) |\
++																		(1 << 5) | (1 << 8) | (1 << 9) | (1 << 12);
++	cambria_gpio_resources[0].end = cambria_gpio_resources[0].start;
++
++	platform_device_register(&cambria_gpio);
 +	platform_device_register(&cambria_npec_device);
 +	platform_device_register(&cambria_npea_device);
 +}
 +
 +static void __init cambria_gw2350_setup(void)
 +{
++	*IXP4XX_EXP_CS2 = 0xBFFF3C43;
++	irq_set_irq_type(IRQ_IXP4XX_GPIO3, IRQ_TYPE_EDGE_RISING);
++	cambria_optional_uart_data[0].mapbase	= 0x52FF0000;
++	cambria_optional_uart_data[0].membase	= (void __iomem *)ioremap(0x52FF0000, 0x0fff);
++	cambria_optional_uart_data[0].irq		= IRQ_IXP4XX_GPIO3;
++
++	*IXP4XX_EXP_CS3 = 0xBFFF3C43;
++	irq_set_irq_type(IRQ_IXP4XX_GPIO4, IRQ_TYPE_EDGE_RISING);
++	cambria_optional_uart_data[1].mapbase	= 0x53FF0000;
++	cambria_optional_uart_data[1].membase	= (void __iomem *)ioremap(0x53FF0000, 0x0fff);
++	cambria_optional_uart_data[1].irq		= IRQ_IXP4XX_GPIO4;
++
++	cambria_gpio_resources[0].start = (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) |\
++																		(1 << 5) | (1 << 8) | (1 << 9) | (1 << 12);
++	cambria_gpio_resources[0].end = cambria_gpio_resources[0].start;
++
++	platform_device_register(&cambria_gpio);
++	platform_device_register(&cambria_optional_uart);
 +	platform_device_register(&cambria_npec_device);
 +	platform_device_register(&cambria_npea_device);
 +
@@ -374,6 +487,24 @@
 +
 +static void __init cambria_gw2358_setup(void)
 +{
++	*IXP4XX_EXP_CS3 = 0xBFFF3C43;
++	irq_set_irq_type(IRQ_IXP4XX_GPIO3, IRQ_TYPE_EDGE_RISING);
++	cambria_optional_uart_data[0].mapbase	= 0x53FC0000;
++	cambria_optional_uart_data[0].membase	= (void __iomem *)ioremap(0x53FC0000, 0x0fff);
++	cambria_optional_uart_data[0].irq		= IRQ_IXP4XX_GPIO3;
++
++	irq_set_irq_type(IRQ_IXP4XX_GPIO4, IRQ_TYPE_EDGE_RISING);
++	cambria_optional_uart_data[1].mapbase	= 0x53F80000;
++	cambria_optional_uart_data[1].membase	= (void __iomem *)ioremap(0x53F80000, 0x0fff);
++	cambria_optional_uart_data[1].irq		= IRQ_IXP4XX_GPIO4;
++
++	cambria_gpio_resources[0].start = (1 << 14) | (1 << 16) | (1 << 17) | (1 << 18) |\
++																		(1 << 19) | (1 << 20) | (1 << 24) | (1 << 25);
++	cambria_gpio_resources[0].end = cambria_gpio_resources[0].start;
++
++	platform_device_register(&cambria_gpio);
++	platform_device_register(&cambria_optional_uart);
++
 +	platform_device_register(&cambria_npec_device);
 +	platform_device_register(&cambria_npea_device);
 +
@@ -382,7 +513,12 @@
 +
 +	platform_device_register(&cambria_pata);
 +
++	cambria_gpio_leds[0].gpio = 24;
++	platform_device_register(&cambria_gpio_leds_device);
++
 +	platform_device_register(&cambria_latch_leds_device);
++
++	platform_device_register(&cambria_gpio_buttons_device);
 +}
 +
 +static struct cambria_board_info cambria_boards[] __initdata = {
@@ -451,6 +587,14 @@
 +		I2C_BOARD_INFO("24c08", 0x51),
 +		.platform_data	= &cambria_eeprom_info
 +	},
++	{
++		I2C_BOARD_INFO("gw_i2c_pld", 0x56),
++		.platform_data	= &gw_i2c_pld_data0,
++	},
++	{
++		I2C_BOARD_INFO("gw_i2c_pld", 0x57),
++		.platform_data	= &gw_i2c_pld_data1,
++	},
 +};
 +
 +static void __init cambria_init(void)
diff --git a/target/linux/ixp4xx/patches-3.3/191-cambria_optional_uart.patch b/target/linux/ixp4xx/patches-3.3/191-cambria_optional_uart.patch
deleted file mode 100644
index 130606fb5f..0000000000
--- a/target/linux/ixp4xx/patches-3.3/191-cambria_optional_uart.patch
+++ /dev/null
@@ -1,96 +0,0 @@
---- a/arch/arm/mach-ixp4xx/cambria-setup.c
-+++ b/arch/arm/mach-ixp4xx/cambria-setup.c
-@@ -34,6 +34,7 @@
- #include <asm/mach/arch.h>
- #include <asm/mach/flash.h>
- #include <asm/setup.h>
-+#include <linux/irq.h>
- 
- struct cambria_board_info {
- 	unsigned char	*model;
-@@ -127,6 +128,45 @@ static struct platform_device cambria_ua
- 	.resource	= &cambria_uart_resource,
- };
- 
-+static struct resource cambria_optional_uart_resources[] = {
-+	{
-+		.start	= 0x52000000,
-+		.end	= 0x52000fff,
-+		.flags	= IORESOURCE_MEM
-+	},
-+	{
-+		.start	= 0x53000000,
-+		.end	= 0x53000fff,
-+		.flags	= IORESOURCE_MEM
-+	}
-+};
-+
-+static struct plat_serial8250_port cambria_optional_uart_data[] = {
-+	{
-+		.flags		= UPF_BOOT_AUTOCONF,
-+		.iotype		= UPIO_MEM_DELAY,
-+		.regshift	= 0,
-+		.uartclk	= 1843200,
-+		.rw_delay	= 2,
-+	},
-+	{
-+		.flags		= UPF_BOOT_AUTOCONF,
-+		.iotype		= UPIO_MEM_DELAY,
-+		.regshift	= 0,
-+		.uartclk	= 1843200,
-+		.rw_delay	= 2,
-+	},
-+  { },
-+};
-+
-+static struct platform_device cambria_optional_uart = {
-+	.name		= "serial8250",
-+	.id		= PLAT8250_DEV_PLATFORM1,
-+	.dev.platform_data	= cambria_optional_uart_data,
-+	.num_resources	= 2,
-+	.resource	= cambria_optional_uart_resources,
-+};
-+
- static struct resource cambria_pata_resources[] = {
- 	{
- 		.flags	= IORESOURCE_MEM
-@@ -283,6 +323,19 @@ static void __init cambria_gw23xx_setup(
- 
- static void __init cambria_gw2350_setup(void)
- {
-+	*IXP4XX_EXP_CS2 = 0xBFFF3C43;
-+	irq_set_irq_type(IRQ_IXP4XX_GPIO3, IRQ_TYPE_EDGE_RISING);
-+	cambria_optional_uart_data[0].mapbase	= 0x52FF0000;
-+	cambria_optional_uart_data[0].membase	= (void __iomem *)ioremap(0x52FF0000, 0x0fff);
-+	cambria_optional_uart_data[0].irq		= IRQ_IXP4XX_GPIO3;
-+
-+	*IXP4XX_EXP_CS3 = 0xBFFF3C43;
-+	irq_set_irq_type(IRQ_IXP4XX_GPIO4, IRQ_TYPE_EDGE_RISING);
-+	cambria_optional_uart_data[1].mapbase	= 0x53FF0000;
-+	cambria_optional_uart_data[1].membase	= (void __iomem *)ioremap(0x53FF0000, 0x0fff);
-+	cambria_optional_uart_data[1].irq		= IRQ_IXP4XX_GPIO4;
-+
-+	platform_device_register(&cambria_optional_uart);
- 	platform_device_register(&cambria_npec_device);
- 	platform_device_register(&cambria_npea_device);
- 
-@@ -294,6 +347,19 @@ static void __init cambria_gw2350_setup(
- 
- static void __init cambria_gw2358_setup(void)
- {
-+	*IXP4XX_EXP_CS3 = 0xBFFF3C43;
-+	irq_set_irq_type(IRQ_IXP4XX_GPIO3, IRQ_TYPE_EDGE_RISING);
-+	cambria_optional_uart_data[0].mapbase	= 0x53FC0000;
-+	cambria_optional_uart_data[0].membase	= (void __iomem *)ioremap(0x53FC0000, 0x0fff);
-+	cambria_optional_uart_data[0].irq		= IRQ_IXP4XX_GPIO3;
-+
-+	irq_set_irq_type(IRQ_IXP4XX_GPIO4, IRQ_TYPE_EDGE_RISING);
-+	cambria_optional_uart_data[1].mapbase	= 0x53F80000;
-+	cambria_optional_uart_data[1].membase	= (void __iomem *)ioremap(0x53F80000, 0x0fff);
-+	cambria_optional_uart_data[1].irq		= IRQ_IXP4XX_GPIO4;
-+
-+	platform_device_register(&cambria_optional_uart);
-+
- 	platform_device_register(&cambria_npec_device);
- 	platform_device_register(&cambria_npea_device);
- 
diff --git a/target/linux/ixp4xx/patches-3.3/192-cambria_gpio_device.patch b/target/linux/ixp4xx/patches-3.3/192-cambria_gpio_device.patch
deleted file mode 100644
index d785c3a8ca..0000000000
--- a/target/linux/ixp4xx/patches-3.3/192-cambria_gpio_device.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- a/arch/arm/mach-ixp4xx/cambria-setup.c
-+++ b/arch/arm/mach-ixp4xx/cambria-setup.c
-@@ -214,6 +214,20 @@ static struct platform_device cambria_gp
- 	.dev.platform_data = &cambria_gpio_leds_data,
- };
- 
-+static struct resource cambria_gpio_resources[] = {
-+	{
-+		.name = "gpio",
-+		.flags  = 0,
-+	},
-+};
-+
-+static struct platform_device cambria_gpio = {
-+	.name     = "GPIODEV",
-+	.id     = -1,
-+	.num_resources    = ARRAY_SIZE(cambria_gpio_resources),
-+	.resource   = cambria_gpio_resources,
-+};
-+
- static struct latch_led cambria_latch_leds[] = {
- 	{
- 		.name	= "ledA",  /* green led */
-@@ -335,6 +349,11 @@ static void __init cambria_gw2350_setup(
- 	cambria_optional_uart_data[1].membase	= (void __iomem *)ioremap(0x53FF0000, 0x0fff);
- 	cambria_optional_uart_data[1].irq		= IRQ_IXP4XX_GPIO4;
- 
-+	cambria_gpio_resources[0].start = (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) |\
-+																		(1 << 5) | (1 << 8) | (1 << 9) | (1 << 12);
-+	cambria_gpio_resources[0].end = cambria_gpio_resources[0].start;
-+
-+	platform_device_register(&cambria_gpio);
- 	platform_device_register(&cambria_optional_uart);
- 	platform_device_register(&cambria_npec_device);
- 	platform_device_register(&cambria_npea_device);
-@@ -358,6 +377,10 @@ static void __init cambria_gw2358_setup(
- 	cambria_optional_uart_data[1].membase	= (void __iomem *)ioremap(0x53F80000, 0x0fff);
- 	cambria_optional_uart_data[1].irq		= IRQ_IXP4XX_GPIO4;
- 
-+	cambria_gpio_resources[0].start = (1 << 14);
-+	cambria_gpio_resources[0].end = cambria_gpio_resources[0].start;
-+
-+	platform_device_register(&cambria_gpio);
- 	platform_device_register(&cambria_optional_uart);
- 
- 	platform_device_register(&cambria_npec_device);
diff --git a/target/linux/ixp4xx/patches-3.3/193-cambria_pld_gpio.patch b/target/linux/ixp4xx/patches-3.3/193-cambria_pld_gpio.patch
deleted file mode 100644
index 171898d6c7..0000000000
--- a/target/linux/ixp4xx/patches-3.3/193-cambria_pld_gpio.patch
+++ /dev/null
@@ -1,107 +0,0 @@
---- a/arch/arm/mach-ixp4xx/cambria-setup.c
-+++ b/arch/arm/mach-ixp4xx/cambria-setup.c
-@@ -12,11 +12,14 @@
-  */
- 
- #include <linux/device.h>
-+#include <linux/gpio_buttons.h>
- #include <linux/i2c.h>
- #include <linux/i2c-gpio.h>
- #include <linux/i2c/at24.h>
-+#include <linux/i2c/gw_i2c_pld.h>
- #include <linux/if_ether.h>
- #include <linux/init.h>
-+#include <linux/input.h>
- #include <linux/kernel.h>
- #include <linux/leds.h>
- #include <linux/memory.h>
-@@ -323,6 +326,39 @@ static struct platform_device cambria_us
- 	},
- };
- 
-+static struct gw_i2c_pld_platform_data gw_i2c_pld_data0 = {
-+	.gpio_base	= 16,
-+	.nr_gpio	= 8,
-+};
-+
-+static struct gw_i2c_pld_platform_data gw_i2c_pld_data1 = {
-+	.gpio_base	= 24,
-+	.nr_gpio	= 2,
-+};
-+
-+
-+static struct gpio_button cambria_gpio_buttons[] = {
-+	{
-+		.desc		= "user",
-+		.type		= EV_KEY,
-+		.code		= BTN_0,
-+		.threshold	= 2,
-+		.gpio		= 25,
-+	}
-+};
-+
-+static struct gpio_buttons_platform_data cambria_gpio_buttons_data = {
-+	.poll_interval	= 500,
-+	.nbuttons	= 1,
-+	.buttons	= cambria_gpio_buttons,	
-+};
-+
-+static struct platform_device cambria_gpio_buttons_device = {
-+	.name			= "gpio-buttons",
-+	.id			= -1,
-+	.dev.platform_data	= &cambria_gpio_buttons_data,
-+};
-+
- static struct platform_device *cambria_devices[] __initdata = {
- 	&cambria_i2c_gpio,
- 	&cambria_flash,
-@@ -331,6 +367,11 @@ static struct platform_device *cambria_d
- 
- static void __init cambria_gw23xx_setup(void)
- {
-+	cambria_gpio_resources[0].start = (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4) |\
-+																		(1 << 5) | (1 << 8) | (1 << 9) | (1 << 12);
-+	cambria_gpio_resources[0].end = cambria_gpio_resources[0].start;
-+
-+	platform_device_register(&cambria_gpio);
- 	platform_device_register(&cambria_npec_device);
- 	platform_device_register(&cambria_npea_device);
- }
-@@ -377,7 +418,8 @@ static void __init cambria_gw2358_setup(
- 	cambria_optional_uart_data[1].membase	= (void __iomem *)ioremap(0x53F80000, 0x0fff);
- 	cambria_optional_uart_data[1].irq		= IRQ_IXP4XX_GPIO4;
- 
--	cambria_gpio_resources[0].start = (1 << 14);
-+	cambria_gpio_resources[0].start = (1 << 14) | (1 << 16) | (1 << 17) | (1 << 18) |\
-+																		(1 << 19) | (1 << 20) | (1 << 24) | (1 << 25);
- 	cambria_gpio_resources[0].end = cambria_gpio_resources[0].start;
- 
- 	platform_device_register(&cambria_gpio);
-@@ -391,7 +433,12 @@ static void __init cambria_gw2358_setup(
- 
- 	platform_device_register(&cambria_pata);
- 
-+	cambria_gpio_leds[0].gpio = 24;
-+	platform_device_register(&cambria_gpio_leds_device);
-+
- 	platform_device_register(&cambria_latch_leds_device);
-+
-+	platform_device_register(&cambria_gpio_buttons_device);
- }
- 
- static struct cambria_board_info cambria_boards[] __initdata = {
-@@ -460,6 +507,14 @@ static struct i2c_board_info __initdata
- 		I2C_BOARD_INFO("24c08", 0x51),
- 		.platform_data	= &cambria_eeprom_info
- 	},
-+	{
-+		I2C_BOARD_INFO("gw_i2c_pld", 0x56),
-+		.platform_data	= &gw_i2c_pld_data0,
-+	},
-+	{
-+		I2C_BOARD_INFO("gw_i2c_pld", 0x57),
-+		.platform_data	= &gw_i2c_pld_data1,
-+	},
- };
- 
- static void __init cambria_init(void)
-- 
cgit v1.2.3