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.