All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20101204212554.GM17222@atomide.com>

diff --git a/a/1.txt b/N1/1.txt
index fafe9b2..245c197 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -12,3 +12,10 @@ with the 7xx vs 15xx/16xx MPUIO registers.
 Regards,
 
 Tony
+-------------- next part --------------
+A non-text attachment was scrubbed...
+Name: omap-gpio-mpuio-regs.patch
+Type: text/x-diff
+Size: 7601 bytes
+Desc: not available
+URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20101204/a1d1370d/attachment.bin>
diff --git a/a/2.hdr b/a/2.hdr
deleted file mode 100644
index c50e953..0000000
--- a/a/2.hdr
+++ /dev/null
@@ -1,2 +0,0 @@
-Content-Type: text/x-diff; charset=us-ascii
-Content-Disposition: inline; filename="omap-gpio-mpuio-regs.patch"
diff --git a/a/2.txt b/a/2.txt
deleted file mode 100644
index 6382d85..0000000
--- a/a/2.txt
+++ /dev/null
@@ -1,224 +0,0 @@
-From: Tony Lindgren <tony@atomide.com>
-Date: Sat, 4 Dec 2010 12:39:43 -0800
-Subject: [PATCH] omap1: Fix gpio mpuio bank to work for multi-omap for 7xx/15xx/16xx
-
-We need to multiply the 7xx offset by 2 for 15xx/16xx. Use bank->stride
-for that. This allows us to get rid of the duplicate defines for the
-MPUIO registers.
-
-Signed-off-by: Tony Lindgren <tony@atomide.com>
-
---- a/arch/arm/mach-omap1/gpio15xx.c
-+++ b/arch/arm/mach-omap1/gpio15xx.c
-@@ -38,6 +38,7 @@ static struct __initdata omap_gpio_platform_data omap15xx_mpu_gpio_config = {
- 	.virtual_irq_start	= IH_MPUIO_BASE,
- 	.bank_type		= METHOD_MPUIO,
- 	.bank_width		= 16,
-+	.bank_stride		= 2,
- };
- 
- static struct __initdata platform_device omap15xx_mpu_gpio = {
---- a/arch/arm/mach-omap1/gpio16xx.c
-+++ b/arch/arm/mach-omap1/gpio16xx.c
-@@ -41,6 +41,7 @@ static struct __initdata omap_gpio_platform_data omap16xx_mpu_gpio_config = {
- 	.virtual_irq_start	= IH_MPUIO_BASE,
- 	.bank_type		= METHOD_MPUIO,
- 	.bank_width		= 16,
-+	.bank_stride		= 2,
- };
- 
- static struct __initdata platform_device omap16xx_mpu_gpio = {
---- a/arch/arm/mach-omap1/gpio7xx.c
-+++ b/arch/arm/mach-omap1/gpio7xx.c
-@@ -43,6 +43,7 @@ static struct __initdata omap_gpio_platform_data omap7xx_mpu_gpio_config = {
- 	.virtual_irq_start	= IH_MPUIO_BASE,
- 	.bank_type		= METHOD_MPUIO,
- 	.bank_width		= 32,
-+	.bank_stride		= 1,
- };
- 
- static struct __initdata platform_device omap7xx_mpu_gpio = {
---- a/arch/arm/plat-omap/gpio.c
-+++ b/arch/arm/plat-omap/gpio.c
-@@ -159,6 +159,7 @@ struct gpio_bank {
- 	u32 dbck_enable_mask;
- 	struct device *dev;
- 	bool dbck_flag;
-+	int stride;
- };
- 
- #ifdef CONFIG_ARCH_OMAP3
-@@ -267,7 +268,7 @@ static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input)
- 	switch (bank->method) {
- #ifdef CONFIG_ARCH_OMAP1
- 	case METHOD_MPUIO:
--		reg += OMAP_MPUIO_IO_CNTL;
-+		reg += OMAP_MPUIO_IO_CNTL * bank->stride;
- 		break;
- #endif
- #ifdef CONFIG_ARCH_OMAP15XX
-@@ -315,7 +316,7 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
- 	switch (bank->method) {
- #ifdef CONFIG_ARCH_OMAP1
- 	case METHOD_MPUIO:
--		reg += OMAP_MPUIO_OUTPUT;
-+		reg += OMAP_MPUIO_OUTPUT * bank->stride;
- 		l = __raw_readl(reg);
- 		if (enable)
- 			l |= 1 << gpio;
-@@ -387,7 +388,7 @@ static int _get_gpio_datain(struct gpio_bank *bank, int gpio)
- 	switch (bank->method) {
- #ifdef CONFIG_ARCH_OMAP1
- 	case METHOD_MPUIO:
--		reg += OMAP_MPUIO_INPUT_LATCH;
-+		reg += OMAP_MPUIO_INPUT_LATCH * bank->stride;
- 		break;
- #endif
- #ifdef CONFIG_ARCH_OMAP15XX
-@@ -433,7 +434,7 @@ static int _get_gpio_dataout(struct gpio_bank *bank, int gpio)
- 	switch (bank->method) {
- #ifdef CONFIG_ARCH_OMAP1
- 	case METHOD_MPUIO:
--		reg += OMAP_MPUIO_OUTPUT;
-+		reg += OMAP_MPUIO_OUTPUT * bank->stride;
- 		break;
- #endif
- #ifdef CONFIG_ARCH_OMAP15XX
-@@ -620,7 +621,7 @@ static void _toggle_gpio_edge_triggering(struct gpio_bank *bank, int gpio)
- 
- 	switch (bank->method) {
- 	case METHOD_MPUIO:
--		reg += OMAP_MPUIO_GPIO_INT_EDGE;
-+		reg += OMAP_MPUIO_GPIO_INT_EDGE * bank->stride;
- 		break;
- #ifdef CONFIG_ARCH_OMAP15XX
- 	case METHOD_GPIO_1510:
-@@ -654,7 +655,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
- 	switch (bank->method) {
- #ifdef CONFIG_ARCH_OMAP1
- 	case METHOD_MPUIO:
--		reg += OMAP_MPUIO_GPIO_INT_EDGE;
-+		reg += OMAP_MPUIO_GPIO_INT_EDGE * bank->stride;
- 		l = __raw_readl(reg);
- 		if ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH)
- 			bank->toggle_mask |= 1 << gpio;
-@@ -840,7 +841,7 @@ static u32 _get_gpio_irqbank_mask(struct gpio_bank *bank)
- 	switch (bank->method) {
- #ifdef CONFIG_ARCH_OMAP1
- 	case METHOD_MPUIO:
--		reg += OMAP_MPUIO_GPIO_MASKIT;
-+		reg += OMAP_MPUIO_GPIO_MASKIT * bank->stride;
- 		mask = 0xffff;
- 		inv = 1;
- 		break;
-@@ -897,7 +898,7 @@ static void _enable_gpio_irqbank(struct gpio_bank *bank, int gpio_mask, int enab
- 	switch (bank->method) {
- #ifdef CONFIG_ARCH_OMAP1
- 	case METHOD_MPUIO:
--		reg += OMAP_MPUIO_GPIO_MASKIT;
-+		reg += OMAP_MPUIO_GPIO_MASKIT * bank->stride;
- 		l = __raw_readl(reg);
- 		if (enable)
- 			l &= ~(gpio_mask);
-@@ -1147,7 +1148,8 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
- 	bank = get_irq_data(irq);
- #ifdef CONFIG_ARCH_OMAP1
- 	if (bank->method == METHOD_MPUIO)
--		isr_reg = bank->base + OMAP_MPUIO_GPIO_INT;
-+		isr_reg = bank->base +
-+				OMAP_MPUIO_GPIO_INT * bank->stride;
- #endif
- #ifdef CONFIG_ARCH_OMAP15XX
- 	if (bank->method == METHOD_GPIO_1510)
-@@ -1340,7 +1342,8 @@ static int omap_mpuio_suspend_noirq(struct device *dev)
- {
- 	struct platform_device *pdev = to_platform_device(dev);
- 	struct gpio_bank	*bank = platform_get_drvdata(pdev);
--	void __iomem		*mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT;
-+	void __iomem		*mask_reg = bank->base +
-+					OMAP_MPUIO_GPIO_MASKIT * bank->stride;
- 	unsigned long		flags;
- 
- 	spin_lock_irqsave(&bank->lock, flags);
-@@ -1355,7 +1358,8 @@ static int omap_mpuio_resume_noirq(struct device *dev)
- {
- 	struct platform_device *pdev = to_platform_device(dev);
- 	struct gpio_bank	*bank = platform_get_drvdata(pdev);
--	void __iomem		*mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT;
-+	void __iomem		*mask_reg = bank->base +
-+					OMAP_MPUIO_GPIO_MASKIT * bank->stride;
- 	unsigned long		flags;
- 
- 	spin_lock_irqsave(&bank->lock, flags);
-@@ -1435,7 +1439,7 @@ static int gpio_is_input(struct gpio_bank *bank, int mask)
- 
- 	switch (bank->method) {
- 	case METHOD_MPUIO:
--		reg += OMAP_MPUIO_IO_CNTL;
-+		reg += OMAP_MPUIO_IO_CNTL * bank->stride;
- 		break;
- 	case METHOD_GPIO_1510:
- 		reg += OMAP1510_GPIO_DIR_CONTROL;
-@@ -1596,8 +1600,8 @@ static void omap_gpio_mod_init(struct gpio_bank *bank, int id)
- 		}
- 	} else if (cpu_class_is_omap1()) {
- 		if (bank_is_mpuio(bank))
--			__raw_writew(0xffff, bank->base
--						+ OMAP_MPUIO_GPIO_MASKIT);
-+			__raw_writew(0xffff, bank->base +
-+				OMAP_MPUIO_GPIO_MASKIT * bank->stride);
- 		if (cpu_is_omap15xx() && bank->method == METHOD_GPIO_1510) {
- 			__raw_writew(0xffff, bank->base
- 						+ OMAP1510_GPIO_INT_MASK);
-@@ -1711,6 +1715,7 @@ static int __devinit omap_gpio_probe(struct platform_device *pdev)
- 	bank->method = pdata->bank_type;
- 	bank->dev = &pdev->dev;
- 	bank->dbck_flag = pdata->dbck_flag;
-+	bank->stride = pdata->bank_stride;
- 	bank_width = pdata->bank_width;
- 
- 	spin_lock_init(&bank->lock);
---- a/arch/arm/plat-omap/include/plat/gpio.h
-+++ b/arch/arm/plat-omap/include/plat/gpio.h
-@@ -32,8 +32,10 @@
- 
- #define OMAP1_MPUIO_BASE			0xfffb5000
- 
--#if (defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850))
--
-+/*
-+ * These are the omap7xx offsets. The omap16xx offset are
-+ * 2 x OMAP_MPUIO_ offsets below.
-+ */
- #define OMAP_MPUIO_INPUT_LATCH		0x00
- #define OMAP_MPUIO_OUTPUT		0x02
- #define OMAP_MPUIO_IO_CNTL		0x04
-@@ -47,21 +49,6 @@
- #define OMAP_MPUIO_GPIO_MASKIT		0x16
- #define OMAP_MPUIO_GPIO_DEBOUNCING	0x18
- #define OMAP_MPUIO_LATCH		0x1a
--#else
--#define OMAP_MPUIO_INPUT_LATCH		0x00
--#define OMAP_MPUIO_OUTPUT		0x04
--#define OMAP_MPUIO_IO_CNTL		0x08
--#define OMAP_MPUIO_KBR_LATCH		0x10
--#define OMAP_MPUIO_KBC			0x14
--#define OMAP_MPUIO_GPIO_EVENT_MODE	0x18
--#define OMAP_MPUIO_GPIO_INT_EDGE	0x1c
--#define OMAP_MPUIO_KBD_INT		0x20
--#define OMAP_MPUIO_GPIO_INT		0x24
--#define OMAP_MPUIO_KBD_MASKIT		0x28
--#define OMAP_MPUIO_GPIO_MASKIT		0x2c
--#define OMAP_MPUIO_GPIO_DEBOUNCING	0x30
--#define OMAP_MPUIO_LATCH		0x34
--#endif
- 
- #define OMAP34XX_NR_GPIOS		6
- 
-@@ -88,6 +75,7 @@ struct omap_gpio_platform_data {
- 	u16 virtual_irq_start;
- 	int bank_type;
- 	int bank_width;		/* GPIO bank width */
-+	int bank_stride;	/* Only needed for omap1 MPUIO */
- 	bool dbck_flag;		/* dbck required or not - True for OMAP3&4 */
- };
diff --git a/a/content_digest b/N1/content_digest
index e190a6f..2b0bdf2 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -2,18 +2,11 @@
  "ref\020101201183357.GI17222@atomide.com\0"
  "ref\087zkso4hu3.fsf@deeprootsystems.com\0"
  "ref\0AANLkTinY8FKbVvXD29KpgGnsnKwQziXws+zKLZWn69Hj@mail.gmail.com\0"
- "From\0Tony Lindgren <tony@atomide.com>\0"
- "Subject\0Re: [PATCH v8 00/11] OMAP: GPIO: Implement GPIO as platform device\0"
+ "From\0tony@atomide.com (Tony Lindgren)\0"
+ "Subject\0[PATCH v8 00/11] OMAP: GPIO: Implement GPIO as platform device\0"
  "Date\0Sat, 4 Dec 2010 13:25:54 -0800\0"
- "To\0Varadarajan"
- " Charulatha <charu@ti.com>\0"
- "Cc\0Kevin Hilman <khilman@deeprootsystems.com>"
-  linux-omap@vger.kernel.org
-  linux-arm-kernel@lists.infradead.org
-  paul@pwsan.com
-  b-cousson@ti.com
- " p-basak2@ti.com\0"
- "\01:1\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
+ "\00:1\0"
  "b\0"
  "* Varadarajan, Charulatha <charu@ti.com> [101202 06:08]:\n"
  "> On Thu, Dec 2, 2010 at 15:28, Kevin Hilman <khilman@deeprootsystems.com> wrote:\n"
@@ -28,233 +21,13 @@
  "\n"
  "Regards,\n"
  "\n"
- Tony
- "\01:2\0"
- "fn\0omap-gpio-mpuio-regs.patch\0"
- "b\0"
- "From: Tony Lindgren <tony@atomide.com>\n"
- "Date: Sat, 4 Dec 2010 12:39:43 -0800\n"
- "Subject: [PATCH] omap1: Fix gpio mpuio bank to work for multi-omap for 7xx/15xx/16xx\n"
- "\n"
- "We need to multiply the 7xx offset by 2 for 15xx/16xx. Use bank->stride\n"
- "for that. This allows us to get rid of the duplicate defines for the\n"
- "MPUIO registers.\n"
- "\n"
- "Signed-off-by: Tony Lindgren <tony@atomide.com>\n"
- "\n"
- "--- a/arch/arm/mach-omap1/gpio15xx.c\n"
- "+++ b/arch/arm/mach-omap1/gpio15xx.c\n"
- "@@ -38,6 +38,7 @@ static struct __initdata omap_gpio_platform_data omap15xx_mpu_gpio_config = {\n"
- " \t.virtual_irq_start\t= IH_MPUIO_BASE,\n"
- " \t.bank_type\t\t= METHOD_MPUIO,\n"
- " \t.bank_width\t\t= 16,\n"
- "+\t.bank_stride\t\t= 2,\n"
- " };\n"
- " \n"
- " static struct __initdata platform_device omap15xx_mpu_gpio = {\n"
- "--- a/arch/arm/mach-omap1/gpio16xx.c\n"
- "+++ b/arch/arm/mach-omap1/gpio16xx.c\n"
- "@@ -41,6 +41,7 @@ static struct __initdata omap_gpio_platform_data omap16xx_mpu_gpio_config = {\n"
- " \t.virtual_irq_start\t= IH_MPUIO_BASE,\n"
- " \t.bank_type\t\t= METHOD_MPUIO,\n"
- " \t.bank_width\t\t= 16,\n"
- "+\t.bank_stride\t\t= 2,\n"
- " };\n"
- " \n"
- " static struct __initdata platform_device omap16xx_mpu_gpio = {\n"
- "--- a/arch/arm/mach-omap1/gpio7xx.c\n"
- "+++ b/arch/arm/mach-omap1/gpio7xx.c\n"
- "@@ -43,6 +43,7 @@ static struct __initdata omap_gpio_platform_data omap7xx_mpu_gpio_config = {\n"
- " \t.virtual_irq_start\t= IH_MPUIO_BASE,\n"
- " \t.bank_type\t\t= METHOD_MPUIO,\n"
- " \t.bank_width\t\t= 32,\n"
- "+\t.bank_stride\t\t= 1,\n"
- " };\n"
- " \n"
- " static struct __initdata platform_device omap7xx_mpu_gpio = {\n"
- "--- a/arch/arm/plat-omap/gpio.c\n"
- "+++ b/arch/arm/plat-omap/gpio.c\n"
- "@@ -159,6 +159,7 @@ struct gpio_bank {\n"
- " \tu32 dbck_enable_mask;\n"
- " \tstruct device *dev;\n"
- " \tbool dbck_flag;\n"
- "+\tint stride;\n"
- " };\n"
- " \n"
- " #ifdef CONFIG_ARCH_OMAP3\n"
- "@@ -267,7 +268,7 @@ static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input)\n"
- " \tswitch (bank->method) {\n"
- " #ifdef CONFIG_ARCH_OMAP1\n"
- " \tcase METHOD_MPUIO:\n"
- "-\t\treg += OMAP_MPUIO_IO_CNTL;\n"
- "+\t\treg += OMAP_MPUIO_IO_CNTL * bank->stride;\n"
- " \t\tbreak;\n"
- " #endif\n"
- " #ifdef CONFIG_ARCH_OMAP15XX\n"
- "@@ -315,7 +316,7 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)\n"
- " \tswitch (bank->method) {\n"
- " #ifdef CONFIG_ARCH_OMAP1\n"
- " \tcase METHOD_MPUIO:\n"
- "-\t\treg += OMAP_MPUIO_OUTPUT;\n"
- "+\t\treg += OMAP_MPUIO_OUTPUT * bank->stride;\n"
- " \t\tl = __raw_readl(reg);\n"
- " \t\tif (enable)\n"
- " \t\t\tl |= 1 << gpio;\n"
- "@@ -387,7 +388,7 @@ static int _get_gpio_datain(struct gpio_bank *bank, int gpio)\n"
- " \tswitch (bank->method) {\n"
- " #ifdef CONFIG_ARCH_OMAP1\n"
- " \tcase METHOD_MPUIO:\n"
- "-\t\treg += OMAP_MPUIO_INPUT_LATCH;\n"
- "+\t\treg += OMAP_MPUIO_INPUT_LATCH * bank->stride;\n"
- " \t\tbreak;\n"
- " #endif\n"
- " #ifdef CONFIG_ARCH_OMAP15XX\n"
- "@@ -433,7 +434,7 @@ static int _get_gpio_dataout(struct gpio_bank *bank, int gpio)\n"
- " \tswitch (bank->method) {\n"
- " #ifdef CONFIG_ARCH_OMAP1\n"
- " \tcase METHOD_MPUIO:\n"
- "-\t\treg += OMAP_MPUIO_OUTPUT;\n"
- "+\t\treg += OMAP_MPUIO_OUTPUT * bank->stride;\n"
- " \t\tbreak;\n"
- " #endif\n"
- " #ifdef CONFIG_ARCH_OMAP15XX\n"
- "@@ -620,7 +621,7 @@ static void _toggle_gpio_edge_triggering(struct gpio_bank *bank, int gpio)\n"
- " \n"
- " \tswitch (bank->method) {\n"
- " \tcase METHOD_MPUIO:\n"
- "-\t\treg += OMAP_MPUIO_GPIO_INT_EDGE;\n"
- "+\t\treg += OMAP_MPUIO_GPIO_INT_EDGE * bank->stride;\n"
- " \t\tbreak;\n"
- " #ifdef CONFIG_ARCH_OMAP15XX\n"
- " \tcase METHOD_GPIO_1510:\n"
- "@@ -654,7 +655,7 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)\n"
- " \tswitch (bank->method) {\n"
- " #ifdef CONFIG_ARCH_OMAP1\n"
- " \tcase METHOD_MPUIO:\n"
- "-\t\treg += OMAP_MPUIO_GPIO_INT_EDGE;\n"
- "+\t\treg += OMAP_MPUIO_GPIO_INT_EDGE * bank->stride;\n"
- " \t\tl = __raw_readl(reg);\n"
- " \t\tif ((trigger & IRQ_TYPE_SENSE_MASK) == IRQ_TYPE_EDGE_BOTH)\n"
- " \t\t\tbank->toggle_mask |= 1 << gpio;\n"
- "@@ -840,7 +841,7 @@ static u32 _get_gpio_irqbank_mask(struct gpio_bank *bank)\n"
- " \tswitch (bank->method) {\n"
- " #ifdef CONFIG_ARCH_OMAP1\n"
- " \tcase METHOD_MPUIO:\n"
- "-\t\treg += OMAP_MPUIO_GPIO_MASKIT;\n"
- "+\t\treg += OMAP_MPUIO_GPIO_MASKIT * bank->stride;\n"
- " \t\tmask = 0xffff;\n"
- " \t\tinv = 1;\n"
- " \t\tbreak;\n"
- "@@ -897,7 +898,7 @@ static void _enable_gpio_irqbank(struct gpio_bank *bank, int gpio_mask, int enab\n"
- " \tswitch (bank->method) {\n"
- " #ifdef CONFIG_ARCH_OMAP1\n"
- " \tcase METHOD_MPUIO:\n"
- "-\t\treg += OMAP_MPUIO_GPIO_MASKIT;\n"
- "+\t\treg += OMAP_MPUIO_GPIO_MASKIT * bank->stride;\n"
- " \t\tl = __raw_readl(reg);\n"
- " \t\tif (enable)\n"
- " \t\t\tl &= ~(gpio_mask);\n"
- "@@ -1147,7 +1148,8 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc)\n"
- " \tbank = get_irq_data(irq);\n"
- " #ifdef CONFIG_ARCH_OMAP1\n"
- " \tif (bank->method == METHOD_MPUIO)\n"
- "-\t\tisr_reg = bank->base + OMAP_MPUIO_GPIO_INT;\n"
- "+\t\tisr_reg = bank->base +\n"
- "+\t\t\t\tOMAP_MPUIO_GPIO_INT * bank->stride;\n"
- " #endif\n"
- " #ifdef CONFIG_ARCH_OMAP15XX\n"
- " \tif (bank->method == METHOD_GPIO_1510)\n"
- "@@ -1340,7 +1342,8 @@ static int omap_mpuio_suspend_noirq(struct device *dev)\n"
- " {\n"
- " \tstruct platform_device *pdev = to_platform_device(dev);\n"
- " \tstruct gpio_bank\t*bank = platform_get_drvdata(pdev);\n"
- "-\tvoid __iomem\t\t*mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT;\n"
- "+\tvoid __iomem\t\t*mask_reg = bank->base +\n"
- "+\t\t\t\t\tOMAP_MPUIO_GPIO_MASKIT * bank->stride;\n"
- " \tunsigned long\t\tflags;\n"
- " \n"
- " \tspin_lock_irqsave(&bank->lock, flags);\n"
- "@@ -1355,7 +1358,8 @@ static int omap_mpuio_resume_noirq(struct device *dev)\n"
- " {\n"
- " \tstruct platform_device *pdev = to_platform_device(dev);\n"
- " \tstruct gpio_bank\t*bank = platform_get_drvdata(pdev);\n"
- "-\tvoid __iomem\t\t*mask_reg = bank->base + OMAP_MPUIO_GPIO_MASKIT;\n"
- "+\tvoid __iomem\t\t*mask_reg = bank->base +\n"
- "+\t\t\t\t\tOMAP_MPUIO_GPIO_MASKIT * bank->stride;\n"
- " \tunsigned long\t\tflags;\n"
- " \n"
- " \tspin_lock_irqsave(&bank->lock, flags);\n"
- "@@ -1435,7 +1439,7 @@ static int gpio_is_input(struct gpio_bank *bank, int mask)\n"
- " \n"
- " \tswitch (bank->method) {\n"
- " \tcase METHOD_MPUIO:\n"
- "-\t\treg += OMAP_MPUIO_IO_CNTL;\n"
- "+\t\treg += OMAP_MPUIO_IO_CNTL * bank->stride;\n"
- " \t\tbreak;\n"
- " \tcase METHOD_GPIO_1510:\n"
- " \t\treg += OMAP1510_GPIO_DIR_CONTROL;\n"
- "@@ -1596,8 +1600,8 @@ static void omap_gpio_mod_init(struct gpio_bank *bank, int id)\n"
- " \t\t}\n"
- " \t} else if (cpu_class_is_omap1()) {\n"
- " \t\tif (bank_is_mpuio(bank))\n"
- "-\t\t\t__raw_writew(0xffff, bank->base\n"
- "-\t\t\t\t\t\t+ OMAP_MPUIO_GPIO_MASKIT);\n"
- "+\t\t\t__raw_writew(0xffff, bank->base +\n"
- "+\t\t\t\tOMAP_MPUIO_GPIO_MASKIT * bank->stride);\n"
- " \t\tif (cpu_is_omap15xx() && bank->method == METHOD_GPIO_1510) {\n"
- " \t\t\t__raw_writew(0xffff, bank->base\n"
- " \t\t\t\t\t\t+ OMAP1510_GPIO_INT_MASK);\n"
- "@@ -1711,6 +1715,7 @@ static int __devinit omap_gpio_probe(struct platform_device *pdev)\n"
- " \tbank->method = pdata->bank_type;\n"
- " \tbank->dev = &pdev->dev;\n"
- " \tbank->dbck_flag = pdata->dbck_flag;\n"
- "+\tbank->stride = pdata->bank_stride;\n"
- " \tbank_width = pdata->bank_width;\n"
- " \n"
- " \tspin_lock_init(&bank->lock);\n"
- "--- a/arch/arm/plat-omap/include/plat/gpio.h\n"
- "+++ b/arch/arm/plat-omap/include/plat/gpio.h\n"
- "@@ -32,8 +32,10 @@\n"
- " \n"
- " #define OMAP1_MPUIO_BASE\t\t\t0xfffb5000\n"
- " \n"
- "-#if (defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850))\n"
- "-\n"
- "+/*\n"
- "+ * These are the omap7xx offsets. The omap16xx offset are\n"
- "+ * 2 x OMAP_MPUIO_ offsets below.\n"
- "+ */\n"
- " #define OMAP_MPUIO_INPUT_LATCH\t\t0x00\n"
- " #define OMAP_MPUIO_OUTPUT\t\t0x02\n"
- " #define OMAP_MPUIO_IO_CNTL\t\t0x04\n"
- "@@ -47,21 +49,6 @@\n"
- " #define OMAP_MPUIO_GPIO_MASKIT\t\t0x16\n"
- " #define OMAP_MPUIO_GPIO_DEBOUNCING\t0x18\n"
- " #define OMAP_MPUIO_LATCH\t\t0x1a\n"
- "-#else\n"
- "-#define OMAP_MPUIO_INPUT_LATCH\t\t0x00\n"
- "-#define OMAP_MPUIO_OUTPUT\t\t0x04\n"
- "-#define OMAP_MPUIO_IO_CNTL\t\t0x08\n"
- "-#define OMAP_MPUIO_KBR_LATCH\t\t0x10\n"
- "-#define OMAP_MPUIO_KBC\t\t\t0x14\n"
- "-#define OMAP_MPUIO_GPIO_EVENT_MODE\t0x18\n"
- "-#define OMAP_MPUIO_GPIO_INT_EDGE\t0x1c\n"
- "-#define OMAP_MPUIO_KBD_INT\t\t0x20\n"
- "-#define OMAP_MPUIO_GPIO_INT\t\t0x24\n"
- "-#define OMAP_MPUIO_KBD_MASKIT\t\t0x28\n"
- "-#define OMAP_MPUIO_GPIO_MASKIT\t\t0x2c\n"
- "-#define OMAP_MPUIO_GPIO_DEBOUNCING\t0x30\n"
- "-#define OMAP_MPUIO_LATCH\t\t0x34\n"
- "-#endif\n"
- " \n"
- " #define OMAP34XX_NR_GPIOS\t\t6\n"
- " \n"
- "@@ -88,6 +75,7 @@ struct omap_gpio_platform_data {\n"
- " \tu16 virtual_irq_start;\n"
- " \tint bank_type;\n"
- " \tint bank_width;\t\t/* GPIO bank width */\n"
- "+\tint bank_stride;\t/* Only needed for omap1 MPUIO */\n"
- " \tbool dbck_flag;\t\t/* dbck required or not - True for OMAP3&4 */\n"
-  };
+ "Tony\n"
+ "-------------- next part --------------\n"
+ "A non-text attachment was scrubbed...\n"
+ "Name: omap-gpio-mpuio-regs.patch\n"
+ "Type: text/x-diff\n"
+ "Size: 7601 bytes\n"
+ "Desc: not available\n"
+ URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20101204/a1d1370d/attachment.bin>
 
-9bcfd28d730d31f336c7967039b2b876a20326f283585650f626533eb115b30d
+3577ca3cfdb6bb6a0b6ab64c4bb30ec49724d48dcffbdeec4e6a2a139f3780cb

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.