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

diff --git a/a/2.hdr b/a/2.hdr
deleted file mode 100644
index cf34848..0000000
--- a/a/2.hdr
+++ /dev/null
@@ -1,2 +0,0 @@
-Content-Type: text/x-diff; charset=us-ascii
-Content-Disposition: inline; filename="gpio-ioremap-v2.patch"
diff --git a/a/2.txt b/a/2.txt
deleted file mode 100644
index e8a9ec5..0000000
--- a/a/2.txt
+++ /dev/null
@@ -1,387 +0,0 @@
->From db6d20507b61d75534a9a36d34b41356c1de710c Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony@atomide.com>
-Date: Fri, 16 Oct 2009 15:55:09 -0700
-Subject: [PATCH] omap: Use ioremap in gpio.c
-
-Use ioremap in gpio.c
-
-Signed-off-by: Tony Lindgren <tony@atomide.com>
-
-diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
-index b0c7361..7c753c3 100644
---- a/arch/arm/plat-omap/gpio.c
-+++ b/arch/arm/plat-omap/gpio.c
-@@ -45,10 +45,10 @@
- /*
-  * OMAP1610 specific GPIO registers
-  */
--#define OMAP1610_GPIO1_BASE		OMAP1_IO_ADDRESS(0xfffbe400)
--#define OMAP1610_GPIO2_BASE		OMAP1_IO_ADDRESS(0xfffbec00)
--#define OMAP1610_GPIO3_BASE		OMAP1_IO_ADDRESS(0xfffbb400)
--#define OMAP1610_GPIO4_BASE		OMAP1_IO_ADDRESS(0xfffbbc00)
-+#define OMAP1610_GPIO1_BASE		0xfffbe400
-+#define OMAP1610_GPIO2_BASE		0xfffbec00
-+#define OMAP1610_GPIO3_BASE		0xfffbb400
-+#define OMAP1610_GPIO4_BASE		0xfffbbc00
- #define OMAP1610_GPIO_REVISION		0x0000
- #define OMAP1610_GPIO_SYSCONFIG		0x0010
- #define OMAP1610_GPIO_SYSSTATUS		0x0014
-@@ -70,12 +70,12 @@
- /*
-  * OMAP7XX specific GPIO registers
-  */
--#define OMAP7XX_GPIO1_BASE		OMAP1_IO_ADDRESS(0xfffbc000)
--#define OMAP7XX_GPIO2_BASE		OMAP1_IO_ADDRESS(0xfffbc800)
--#define OMAP7XX_GPIO3_BASE		OMAP1_IO_ADDRESS(0xfffbd000)
--#define OMAP7XX_GPIO4_BASE		OMAP1_IO_ADDRESS(0xfffbd800)
--#define OMAP7XX_GPIO5_BASE		OMAP1_IO_ADDRESS(0xfffbe000)
--#define OMAP7XX_GPIO6_BASE		OMAP1_IO_ADDRESS(0xfffbe800)
-+#define OMAP7XX_GPIO1_BASE		0xfffbc000
-+#define OMAP7XX_GPIO2_BASE		0xfffbc800
-+#define OMAP7XX_GPIO3_BASE		0xfffbd000
-+#define OMAP7XX_GPIO4_BASE		0xfffbd800
-+#define OMAP7XX_GPIO5_BASE		0xfffbe000
-+#define OMAP7XX_GPIO6_BASE		0xfffbe800
- #define OMAP7XX_GPIO_DATA_INPUT		0x00
- #define OMAP7XX_GPIO_DATA_OUTPUT	0x04
- #define OMAP7XX_GPIO_DIR_CONTROL	0x08
-@@ -83,21 +83,21 @@
- #define OMAP7XX_GPIO_INT_MASK		0x10
- #define OMAP7XX_GPIO_INT_STATUS		0x14
- 
--#define OMAP1_MPUIO_VBASE		OMAP1_IO_ADDRESS(OMAP1_MPUIO_BASE)
-+#define OMAP1_MPUIO_VBASE		OMAP1_MPUIO_BASE
- 
- /*
-  * omap24xx specific GPIO registers
-  */
--#define OMAP242X_GPIO1_BASE		OMAP2_IO_ADDRESS(0x48018000)
--#define OMAP242X_GPIO2_BASE		OMAP2_IO_ADDRESS(0x4801a000)
--#define OMAP242X_GPIO3_BASE		OMAP2_IO_ADDRESS(0x4801c000)
--#define OMAP242X_GPIO4_BASE		OMAP2_IO_ADDRESS(0x4801e000)
-+#define OMAP242X_GPIO1_BASE		0x48018000
-+#define OMAP242X_GPIO2_BASE		0x4801a000
-+#define OMAP242X_GPIO3_BASE		0x4801c000
-+#define OMAP242X_GPIO4_BASE		0x4801e000
- 
--#define OMAP243X_GPIO1_BASE		OMAP2_IO_ADDRESS(0x4900C000)
--#define OMAP243X_GPIO2_BASE		OMAP2_IO_ADDRESS(0x4900E000)
--#define OMAP243X_GPIO3_BASE		OMAP2_IO_ADDRESS(0x49010000)
--#define OMAP243X_GPIO4_BASE		OMAP2_IO_ADDRESS(0x49012000)
--#define OMAP243X_GPIO5_BASE		OMAP2_IO_ADDRESS(0x480B6000)
-+#define OMAP243X_GPIO1_BASE		0x4900C000
-+#define OMAP243X_GPIO2_BASE		0x4900E000
-+#define OMAP243X_GPIO3_BASE		0x49010000
-+#define OMAP243X_GPIO4_BASE		0x49012000
-+#define OMAP243X_GPIO5_BASE		0x480B6000
- 
- #define OMAP24XX_GPIO_REVISION		0x0000
- #define OMAP24XX_GPIO_SYSCONFIG		0x0010
-@@ -154,24 +154,25 @@
-  * omap34xx specific GPIO registers
-  */
- 
--#define OMAP34XX_GPIO1_BASE		OMAP2_IO_ADDRESS(0x48310000)
--#define OMAP34XX_GPIO2_BASE		OMAP2_IO_ADDRESS(0x49050000)
--#define OMAP34XX_GPIO3_BASE		OMAP2_IO_ADDRESS(0x49052000)
--#define OMAP34XX_GPIO4_BASE		OMAP2_IO_ADDRESS(0x49054000)
--#define OMAP34XX_GPIO5_BASE		OMAP2_IO_ADDRESS(0x49056000)
--#define OMAP34XX_GPIO6_BASE		OMAP2_IO_ADDRESS(0x49058000)
-+#define OMAP34XX_GPIO1_BASE		0x48310000
-+#define OMAP34XX_GPIO2_BASE		0x49050000
-+#define OMAP34XX_GPIO3_BASE		0x49052000
-+#define OMAP34XX_GPIO4_BASE		0x49054000
-+#define OMAP34XX_GPIO5_BASE		0x49056000
-+#define OMAP34XX_GPIO6_BASE		0x49058000
- 
- /*
-  * OMAP44XX  specific GPIO registers
-  */
--#define OMAP44XX_GPIO1_BASE             OMAP2_IO_ADDRESS(0x4a310000)
--#define OMAP44XX_GPIO2_BASE             OMAP2_IO_ADDRESS(0x48055000)
--#define OMAP44XX_GPIO3_BASE             OMAP2_IO_ADDRESS(0x48057000)
--#define OMAP44XX_GPIO4_BASE             OMAP2_IO_ADDRESS(0x48059000)
--#define OMAP44XX_GPIO5_BASE             OMAP2_IO_ADDRESS(0x4805B000)
--#define OMAP44XX_GPIO6_BASE             OMAP2_IO_ADDRESS(0x4805D000)
-+#define OMAP44XX_GPIO1_BASE             0x4a310000
-+#define OMAP44XX_GPIO2_BASE             0x48055000
-+#define OMAP44XX_GPIO3_BASE             0x48057000
-+#define OMAP44XX_GPIO4_BASE             0x48059000
-+#define OMAP44XX_GPIO5_BASE             0x4805B000
-+#define OMAP44XX_GPIO6_BASE             0x4805D000
- 
- struct gpio_bank {
-+	unsigned long pbase;
- 	void __iomem *base;
- 	u16 irq;
- 	u16 virtual_irq_start;
-@@ -204,77 +205,106 @@ struct gpio_bank {
- 
- #ifdef CONFIG_ARCH_OMAP16XX
- static struct gpio_bank gpio_bank_1610[5] = {
--	{ OMAP1_MPUIO_VBASE,    INT_MPUIO,	    IH_MPUIO_BASE,     METHOD_MPUIO},
--	{ OMAP1610_GPIO1_BASE, INT_GPIO_BANK1,	    IH_GPIO_BASE,      METHOD_GPIO_1610 },
--	{ OMAP1610_GPIO2_BASE, INT_1610_GPIO_BANK2, IH_GPIO_BASE + 16, METHOD_GPIO_1610 },
--	{ OMAP1610_GPIO3_BASE, INT_1610_GPIO_BANK3, IH_GPIO_BASE + 32, METHOD_GPIO_1610 },
--	{ OMAP1610_GPIO4_BASE, INT_1610_GPIO_BANK4, IH_GPIO_BASE + 48, METHOD_GPIO_1610 },
-+	{ OMAP1_MPUIO_VBASE, NULL, INT_MPUIO, IH_MPUIO_BASE,
-+		METHOD_MPUIO },
-+	{ OMAP1610_GPIO1_BASE, NULL, INT_GPIO_BANK1, IH_GPIO_BASE,
-+		METHOD_GPIO_1610 },
-+	{ OMAP1610_GPIO2_BASE, NULL, INT_1610_GPIO_BANK2, IH_GPIO_BASE + 16,
-+		METHOD_GPIO_1610 },
-+	{ OMAP1610_GPIO3_BASE, NULL, INT_1610_GPIO_BANK3, IH_GPIO_BASE + 32,
-+		METHOD_GPIO_1610 },
-+	{ OMAP1610_GPIO4_BASE, NULL, INT_1610_GPIO_BANK4, IH_GPIO_BASE + 48,
-+		METHOD_GPIO_1610 },
- };
- #endif
- 
- #ifdef CONFIG_ARCH_OMAP15XX
- static struct gpio_bank gpio_bank_1510[2] = {
--	{ OMAP1_MPUIO_VBASE,   INT_MPUIO,      IH_MPUIO_BASE, METHOD_MPUIO },
--	{ OMAP1510_GPIO_BASE, INT_GPIO_BANK1, IH_GPIO_BASE,  METHOD_GPIO_1510 }
-+	{ OMAP1_MPUIO_VBASE, NULL, INT_MPUIO, IH_MPUIO_BASE,
-+		METHOD_MPUIO },
-+	{ OMAP1510_GPIO_BASE, NULL, INT_GPIO_BANK1, IH_GPIO_BASE,
-+		METHOD_GPIO_1510 }
- };
- #endif
- 
- #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
- static struct gpio_bank gpio_bank_7xx[7] = {
--	{ OMAP1_MPUIO_VBASE,    INT_7XX_MPUIO,	    IH_MPUIO_BASE,	METHOD_MPUIO },
--	{ OMAP7XX_GPIO1_BASE,  INT_7XX_GPIO_BANK1,  IH_GPIO_BASE,	METHOD_GPIO_7XX },
--	{ OMAP7XX_GPIO2_BASE,  INT_7XX_GPIO_BANK2,  IH_GPIO_BASE + 32,	METHOD_GPIO_7XX },
--	{ OMAP7XX_GPIO3_BASE,  INT_7XX_GPIO_BANK3,  IH_GPIO_BASE + 64,	METHOD_GPIO_7XX },
--	{ OMAP7XX_GPIO4_BASE,  INT_7XX_GPIO_BANK4,  IH_GPIO_BASE + 96,	METHOD_GPIO_7XX },
--	{ OMAP7XX_GPIO5_BASE,  INT_7XX_GPIO_BANK5,  IH_GPIO_BASE + 128, METHOD_GPIO_7XX },
--	{ OMAP7XX_GPIO6_BASE,  INT_7XX_GPIO_BANK6,  IH_GPIO_BASE + 160, METHOD_GPIO_7XX },
-+	{ OMAP1_MPUIO_VBASE, NULL, INT_7XX_MPUIO, IH_MPUIO_BASE,
-+		METHOD_MPUIO },
-+	{ OMAP7XX_GPIO1_BASE, NULL, INT_7XX_GPIO_BANK1, IH_GPIO_BASE,
-+		METHOD_GPIO_7XX },
-+	{ OMAP7XX_GPIO2_BASE, NULL, INT_7XX_GPIO_BANK2, IH_GPIO_BASE + 32,
-+		METHOD_GPIO_7XX },
-+	{ OMAP7XX_GPIO3_BASE, NULL, INT_7XX_GPIO_BANK3, IH_GPIO_BASE + 64,
-+		METHOD_GPIO_7XX },
-+	{ OMAP7XX_GPIO4_BASE, NULL, INT_7XX_GPIO_BANK4,  IH_GPIO_BASE + 96,
-+		METHOD_GPIO_7XX },
-+	{ OMAP7XX_GPIO5_BASE, NULL, INT_7XX_GPIO_BANK5,  IH_GPIO_BASE + 128,
-+		METHOD_GPIO_7XX },
-+	{ OMAP7XX_GPIO6_BASE, NULL, INT_7XX_GPIO_BANK6,  IH_GPIO_BASE + 160,
-+		METHOD_GPIO_7XX },
- };
- #endif
- 
- #ifdef CONFIG_ARCH_OMAP24XX
- 
- static struct gpio_bank gpio_bank_242x[4] = {
--	{ OMAP242X_GPIO1_BASE, INT_24XX_GPIO_BANK1, IH_GPIO_BASE,	METHOD_GPIO_24XX },
--	{ OMAP242X_GPIO2_BASE, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32,	METHOD_GPIO_24XX },
--	{ OMAP242X_GPIO3_BASE, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64,	METHOD_GPIO_24XX },
--	{ OMAP242X_GPIO4_BASE, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96,	METHOD_GPIO_24XX },
-+	{ OMAP242X_GPIO1_BASE, NULL, INT_24XX_GPIO_BANK1, IH_GPIO_BASE,
-+		METHOD_GPIO_24XX },
-+	{ OMAP242X_GPIO2_BASE, NULL, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32,
-+		METHOD_GPIO_24XX },
-+	{ OMAP242X_GPIO3_BASE, NULL, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64,
-+		METHOD_GPIO_24XX },
-+	{ OMAP242X_GPIO4_BASE, NULL, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96,
-+		METHOD_GPIO_24XX },
- };
- 
- static struct gpio_bank gpio_bank_243x[5] = {
--	{ OMAP243X_GPIO1_BASE, INT_24XX_GPIO_BANK1, IH_GPIO_BASE,	METHOD_GPIO_24XX },
--	{ OMAP243X_GPIO2_BASE, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32,	METHOD_GPIO_24XX },
--	{ OMAP243X_GPIO3_BASE, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64,	METHOD_GPIO_24XX },
--	{ OMAP243X_GPIO4_BASE, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96,	METHOD_GPIO_24XX },
--	{ OMAP243X_GPIO5_BASE, INT_24XX_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_24XX },
-+	{ OMAP243X_GPIO1_BASE, NULL, INT_24XX_GPIO_BANK1, IH_GPIO_BASE,
-+		METHOD_GPIO_24XX },
-+	{ OMAP243X_GPIO2_BASE, NULL, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32,
-+		METHOD_GPIO_24XX },
-+	{ OMAP243X_GPIO3_BASE, NULL, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64,
-+		METHOD_GPIO_24XX },
-+	{ OMAP243X_GPIO4_BASE, NULL, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96,
-+		METHOD_GPIO_24XX },
-+	{ OMAP243X_GPIO5_BASE, NULL, INT_24XX_GPIO_BANK5, IH_GPIO_BASE + 128,
-+		METHOD_GPIO_24XX },
- };
- 
- #endif
- 
- #ifdef CONFIG_ARCH_OMAP34XX
- static struct gpio_bank gpio_bank_34xx[6] = {
--	{ OMAP34XX_GPIO1_BASE, INT_34XX_GPIO_BANK1, IH_GPIO_BASE,	METHOD_GPIO_24XX },
--	{ OMAP34XX_GPIO2_BASE, INT_34XX_GPIO_BANK2, IH_GPIO_BASE + 32,	METHOD_GPIO_24XX },
--	{ OMAP34XX_GPIO3_BASE, INT_34XX_GPIO_BANK3, IH_GPIO_BASE + 64,	METHOD_GPIO_24XX },
--	{ OMAP34XX_GPIO4_BASE, INT_34XX_GPIO_BANK4, IH_GPIO_BASE + 96,	METHOD_GPIO_24XX },
--	{ OMAP34XX_GPIO5_BASE, INT_34XX_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_24XX },
--	{ OMAP34XX_GPIO6_BASE, INT_34XX_GPIO_BANK6, IH_GPIO_BASE + 160, METHOD_GPIO_24XX },
-+	{ OMAP34XX_GPIO1_BASE, NULL, INT_34XX_GPIO_BANK1, IH_GPIO_BASE,
-+		METHOD_GPIO_24XX },
-+	{ OMAP34XX_GPIO2_BASE, NULL, INT_34XX_GPIO_BANK2, IH_GPIO_BASE + 32,
-+		METHOD_GPIO_24XX },
-+	{ OMAP34XX_GPIO3_BASE, NULL, INT_34XX_GPIO_BANK3, IH_GPIO_BASE + 64,
-+		METHOD_GPIO_24XX },
-+	{ OMAP34XX_GPIO4_BASE, NULL, INT_34XX_GPIO_BANK4, IH_GPIO_BASE + 96,
-+		METHOD_GPIO_24XX },
-+	{ OMAP34XX_GPIO5_BASE, NULL, INT_34XX_GPIO_BANK5, IH_GPIO_BASE + 128,
-+		METHOD_GPIO_24XX },
-+	{ OMAP34XX_GPIO6_BASE, NULL, INT_34XX_GPIO_BANK6, IH_GPIO_BASE + 160,
-+		METHOD_GPIO_24XX },
- };
- 
- #endif
- 
- #ifdef CONFIG_ARCH_OMAP4
- static struct gpio_bank gpio_bank_44xx[6] = {
--	{ OMAP44XX_GPIO1_BASE, INT_44XX_GPIO_BANK1, IH_GPIO_BASE,	\
-+	{ OMAP44XX_GPIO1_BASE, NULL, INT_44XX_GPIO_BANK1, IH_GPIO_BASE,
- 		METHOD_GPIO_24XX },
--	{ OMAP44XX_GPIO2_BASE, INT_44XX_GPIO_BANK2, IH_GPIO_BASE + 32,	\
-+	{ OMAP44XX_GPIO2_BASE, NULL, INT_44XX_GPIO_BANK2, IH_GPIO_BASE + 32,
- 		METHOD_GPIO_24XX },
--	{ OMAP44XX_GPIO3_BASE, INT_44XX_GPIO_BANK3, IH_GPIO_BASE + 64,	\
-+	{ OMAP44XX_GPIO3_BASE, NULL, INT_44XX_GPIO_BANK3, IH_GPIO_BASE + 64,
- 		METHOD_GPIO_24XX },
--	{ OMAP44XX_GPIO4_BASE, INT_44XX_GPIO_BANK4, IH_GPIO_BASE + 96,	\
-+	{ OMAP44XX_GPIO4_BASE, NULL, INT_44XX_GPIO_BANK4, IH_GPIO_BASE + 96,
- 		METHOD_GPIO_24XX },
--	{ OMAP44XX_GPIO5_BASE, INT_44XX_GPIO_BANK5, IH_GPIO_BASE + 128, \
-+	{ OMAP44XX_GPIO5_BASE, NULL, INT_44XX_GPIO_BANK5, IH_GPIO_BASE + 128,
- 		METHOD_GPIO_24XX },
--	{ OMAP44XX_GPIO6_BASE, INT_44XX_GPIO_BANK6, IH_GPIO_BASE + 160, \
-+	{ OMAP44XX_GPIO6_BASE, NULL, INT_44XX_GPIO_BANK6, IH_GPIO_BASE + 160,
- 		METHOD_GPIO_24XX },
- };
- 
-@@ -1511,6 +1541,23 @@ static struct clk * gpio5_fck;
- static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS];
- #endif
- 
-+static void __init omap_gpio_show_rev(void)
-+{
-+	u32 rev;
-+
-+	if (cpu_is_omap16xx())
-+		rev = __raw_readw(gpio_bank[1].base + OMAP1610_GPIO_REVISION);
-+	else if (cpu_is_omap24xx() || cpu_is_omap34xx())
-+		rev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);
-+	else if (cpu_is_omap44xx())
-+		rev = __raw_readl(gpio_bank[0].base + OMAP4_GPIO_REVISION);
-+	else
-+		return;
-+
-+	printk(KERN_INFO "OMAP GPIO hardware version %d.%d\n",
-+		(rev >> 4) & 0x0f, rev & 0x0f);
-+}
-+
- /* This lock class tells lockdep that GPIO irqs are in a different
-  * category than their parents, so it won't report false recursion.
-  */
-@@ -1521,6 +1568,7 @@ static int __init _omap_gpio_init(void)
- 	int i;
- 	int gpio = 0;
- 	struct gpio_bank *bank;
-+	int bank_size = SZ_8K;	/* Module 4KB + L4 4KB except on omap1 */
- 	char clk_name[11];
- 
- 	initialized = 1;
-@@ -1583,69 +1631,45 @@ static int __init _omap_gpio_init(void)
- 
- #ifdef CONFIG_ARCH_OMAP15XX
- 	if (cpu_is_omap15xx()) {
--		printk(KERN_INFO "OMAP1510 GPIO hardware\n");
- 		gpio_bank_count = 2;
- 		gpio_bank = gpio_bank_1510;
-+		bank_size = SZ_2K;
- 	}
- #endif
- #if defined(CONFIG_ARCH_OMAP16XX)
- 	if (cpu_is_omap16xx()) {
--		u32 rev;
--
- 		gpio_bank_count = 5;
- 		gpio_bank = gpio_bank_1610;
--		rev = __raw_readw(gpio_bank[1].base + OMAP1610_GPIO_REVISION);
--		printk(KERN_INFO "OMAP GPIO hardware version %d.%d\n",
--		       (rev >> 4) & 0x0f, rev & 0x0f);
-+		bank_size = SZ_2K;
- 	}
- #endif
- #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
- 	if (cpu_is_omap7xx()) {
--		printk(KERN_INFO "OMAP7XX GPIO hardware\n");
- 		gpio_bank_count = 7;
- 		gpio_bank = gpio_bank_7xx;
-+		bank_size = SZ_2K;
- 	}
- #endif
- #ifdef CONFIG_ARCH_OMAP24XX
- 	if (cpu_is_omap242x()) {
--		int rev;
--
- 		gpio_bank_count = 4;
- 		gpio_bank = gpio_bank_242x;
--		rev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);
--		printk(KERN_INFO "OMAP242x GPIO hardware version %d.%d\n",
--			(rev >> 4) & 0x0f, rev & 0x0f);
- 	}
- 	if (cpu_is_omap243x()) {
--		int rev;
--
- 		gpio_bank_count = 5;
- 		gpio_bank = gpio_bank_243x;
--		rev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);
--		printk(KERN_INFO "OMAP243x GPIO hardware version %d.%d\n",
--			(rev >> 4) & 0x0f, rev & 0x0f);
- 	}
- #endif
- #ifdef CONFIG_ARCH_OMAP34XX
- 	if (cpu_is_omap34xx()) {
--		int rev;
--
- 		gpio_bank_count = OMAP34XX_NR_GPIOS;
- 		gpio_bank = gpio_bank_34xx;
--		rev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);
--		printk(KERN_INFO "OMAP34xx GPIO hardware version %d.%d\n",
--			(rev >> 4) & 0x0f, rev & 0x0f);
- 	}
- #endif
- #ifdef CONFIG_ARCH_OMAP4
- 	if (cpu_is_omap44xx()) {
--		int rev;
--
- 		gpio_bank_count = OMAP34XX_NR_GPIOS;
- 		gpio_bank = gpio_bank_44xx;
--		rev = __raw_readl(gpio_bank[0].base + OMAP4_GPIO_REVISION);
--		printk(KERN_INFO "OMAP44xx GPIO hardware version %d.%d\n",
--			(rev >> 4) & 0x0f, rev & 0x0f);
- 	}
- #endif
- 	for (i = 0; i < gpio_bank_count; i++) {
-@@ -1653,6 +1677,14 @@ static int __init _omap_gpio_init(void)
- 
- 		bank = &gpio_bank[i];
- 		spin_lock_init(&bank->lock);
-+
-+		/* Static mapping, never released */
-+		bank->base = ioremap(bank->pbase, bank_size);
-+		if (!bank->base) {
-+			printk(KERN_ERR "Could not ioremap gpio bank%i\n", i);
-+			continue;
-+		}
-+
- 		if (bank_is_mpuio(bank))
- 			__raw_writew(0xffff, bank->base + OMAP_MPUIO_GPIO_MASKIT);
- 		if (cpu_is_omap15xx() && bank->method == METHOD_GPIO_1510) {
-@@ -1758,6 +1790,8 @@ static int __init _omap_gpio_init(void)
- 	if (cpu_is_omap34xx())
- 		omap_writel(1 << 0, 0x48306814);
- 
-+	omap_gpio_show_rev();
-+
- 	return 0;
- }
diff --git a/a/content_digest b/N1/content_digest
index a15dabe..c554282 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -2,13 +2,11 @@
  "ref\020091016234104.2463.54276.stgit@localhost\0"
  "ref\020091017081004.GA648@n2100.arm.linux.org.uk\0"
  "ref\020091017161347.GJ12576@atomide.com\0"
- "From\0Tony Lindgren <tony@atomide.com>\0"
- "Subject\0Re: [PATCH 05/14] omap: Use ioremap in gpio.c\0"
+ "From\0tony@atomide.com (Tony Lindgren)\0"
+ "Subject\0[PATCH 05/14] omap: Use ioremap in gpio.c\0"
  "Date\0Sun, 18 Oct 2009 17:19:12 -0700\0"
- "To\0Russell King - ARM Linux <linux@arm.linux.org.uk>\0"
- "Cc\0linux-arm-kernel@lists.infradead.org"
- " linux-omap@vger.kernel.org\0"
- "\01:1\0"
+ "To\0linux-arm-kernel@lists.infradead.org\0"
+ "\00:1\0"
  "b\0"
  "* Tony Lindgren <tony@atomide.com> [091017 09:14]:\n"
  "> * Russell King - ARM Linux <linux@arm.linux.org.uk> [091017 01:10]:\n"
@@ -22,395 +20,5 @@
  "Here's this one updated.\n"
  "\n"
  Tony
- "\01:2\0"
- "fn\0gpio-ioremap-v2.patch\0"
- "b\0"
- ">From db6d20507b61d75534a9a36d34b41356c1de710c Mon Sep 17 00:00:00 2001\n"
- "From: Tony Lindgren <tony@atomide.com>\n"
- "Date: Fri, 16 Oct 2009 15:55:09 -0700\n"
- "Subject: [PATCH] omap: Use ioremap in gpio.c\n"
- "\n"
- "Use ioremap in gpio.c\n"
- "\n"
- "Signed-off-by: Tony Lindgren <tony@atomide.com>\n"
- "\n"
- "diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c\n"
- "index b0c7361..7c753c3 100644\n"
- "--- a/arch/arm/plat-omap/gpio.c\n"
- "+++ b/arch/arm/plat-omap/gpio.c\n"
- "@@ -45,10 +45,10 @@\n"
- " /*\n"
- "  * OMAP1610 specific GPIO registers\n"
- "  */\n"
- "-#define OMAP1610_GPIO1_BASE\t\tOMAP1_IO_ADDRESS(0xfffbe400)\n"
- "-#define OMAP1610_GPIO2_BASE\t\tOMAP1_IO_ADDRESS(0xfffbec00)\n"
- "-#define OMAP1610_GPIO3_BASE\t\tOMAP1_IO_ADDRESS(0xfffbb400)\n"
- "-#define OMAP1610_GPIO4_BASE\t\tOMAP1_IO_ADDRESS(0xfffbbc00)\n"
- "+#define OMAP1610_GPIO1_BASE\t\t0xfffbe400\n"
- "+#define OMAP1610_GPIO2_BASE\t\t0xfffbec00\n"
- "+#define OMAP1610_GPIO3_BASE\t\t0xfffbb400\n"
- "+#define OMAP1610_GPIO4_BASE\t\t0xfffbbc00\n"
- " #define OMAP1610_GPIO_REVISION\t\t0x0000\n"
- " #define OMAP1610_GPIO_SYSCONFIG\t\t0x0010\n"
- " #define OMAP1610_GPIO_SYSSTATUS\t\t0x0014\n"
- "@@ -70,12 +70,12 @@\n"
- " /*\n"
- "  * OMAP7XX specific GPIO registers\n"
- "  */\n"
- "-#define OMAP7XX_GPIO1_BASE\t\tOMAP1_IO_ADDRESS(0xfffbc000)\n"
- "-#define OMAP7XX_GPIO2_BASE\t\tOMAP1_IO_ADDRESS(0xfffbc800)\n"
- "-#define OMAP7XX_GPIO3_BASE\t\tOMAP1_IO_ADDRESS(0xfffbd000)\n"
- "-#define OMAP7XX_GPIO4_BASE\t\tOMAP1_IO_ADDRESS(0xfffbd800)\n"
- "-#define OMAP7XX_GPIO5_BASE\t\tOMAP1_IO_ADDRESS(0xfffbe000)\n"
- "-#define OMAP7XX_GPIO6_BASE\t\tOMAP1_IO_ADDRESS(0xfffbe800)\n"
- "+#define OMAP7XX_GPIO1_BASE\t\t0xfffbc000\n"
- "+#define OMAP7XX_GPIO2_BASE\t\t0xfffbc800\n"
- "+#define OMAP7XX_GPIO3_BASE\t\t0xfffbd000\n"
- "+#define OMAP7XX_GPIO4_BASE\t\t0xfffbd800\n"
- "+#define OMAP7XX_GPIO5_BASE\t\t0xfffbe000\n"
- "+#define OMAP7XX_GPIO6_BASE\t\t0xfffbe800\n"
- " #define OMAP7XX_GPIO_DATA_INPUT\t\t0x00\n"
- " #define OMAP7XX_GPIO_DATA_OUTPUT\t0x04\n"
- " #define OMAP7XX_GPIO_DIR_CONTROL\t0x08\n"
- "@@ -83,21 +83,21 @@\n"
- " #define OMAP7XX_GPIO_INT_MASK\t\t0x10\n"
- " #define OMAP7XX_GPIO_INT_STATUS\t\t0x14\n"
- " \n"
- "-#define OMAP1_MPUIO_VBASE\t\tOMAP1_IO_ADDRESS(OMAP1_MPUIO_BASE)\n"
- "+#define OMAP1_MPUIO_VBASE\t\tOMAP1_MPUIO_BASE\n"
- " \n"
- " /*\n"
- "  * omap24xx specific GPIO registers\n"
- "  */\n"
- "-#define OMAP242X_GPIO1_BASE\t\tOMAP2_IO_ADDRESS(0x48018000)\n"
- "-#define OMAP242X_GPIO2_BASE\t\tOMAP2_IO_ADDRESS(0x4801a000)\n"
- "-#define OMAP242X_GPIO3_BASE\t\tOMAP2_IO_ADDRESS(0x4801c000)\n"
- "-#define OMAP242X_GPIO4_BASE\t\tOMAP2_IO_ADDRESS(0x4801e000)\n"
- "+#define OMAP242X_GPIO1_BASE\t\t0x48018000\n"
- "+#define OMAP242X_GPIO2_BASE\t\t0x4801a000\n"
- "+#define OMAP242X_GPIO3_BASE\t\t0x4801c000\n"
- "+#define OMAP242X_GPIO4_BASE\t\t0x4801e000\n"
- " \n"
- "-#define OMAP243X_GPIO1_BASE\t\tOMAP2_IO_ADDRESS(0x4900C000)\n"
- "-#define OMAP243X_GPIO2_BASE\t\tOMAP2_IO_ADDRESS(0x4900E000)\n"
- "-#define OMAP243X_GPIO3_BASE\t\tOMAP2_IO_ADDRESS(0x49010000)\n"
- "-#define OMAP243X_GPIO4_BASE\t\tOMAP2_IO_ADDRESS(0x49012000)\n"
- "-#define OMAP243X_GPIO5_BASE\t\tOMAP2_IO_ADDRESS(0x480B6000)\n"
- "+#define OMAP243X_GPIO1_BASE\t\t0x4900C000\n"
- "+#define OMAP243X_GPIO2_BASE\t\t0x4900E000\n"
- "+#define OMAP243X_GPIO3_BASE\t\t0x49010000\n"
- "+#define OMAP243X_GPIO4_BASE\t\t0x49012000\n"
- "+#define OMAP243X_GPIO5_BASE\t\t0x480B6000\n"
- " \n"
- " #define OMAP24XX_GPIO_REVISION\t\t0x0000\n"
- " #define OMAP24XX_GPIO_SYSCONFIG\t\t0x0010\n"
- "@@ -154,24 +154,25 @@\n"
- "  * omap34xx specific GPIO registers\n"
- "  */\n"
- " \n"
- "-#define OMAP34XX_GPIO1_BASE\t\tOMAP2_IO_ADDRESS(0x48310000)\n"
- "-#define OMAP34XX_GPIO2_BASE\t\tOMAP2_IO_ADDRESS(0x49050000)\n"
- "-#define OMAP34XX_GPIO3_BASE\t\tOMAP2_IO_ADDRESS(0x49052000)\n"
- "-#define OMAP34XX_GPIO4_BASE\t\tOMAP2_IO_ADDRESS(0x49054000)\n"
- "-#define OMAP34XX_GPIO5_BASE\t\tOMAP2_IO_ADDRESS(0x49056000)\n"
- "-#define OMAP34XX_GPIO6_BASE\t\tOMAP2_IO_ADDRESS(0x49058000)\n"
- "+#define OMAP34XX_GPIO1_BASE\t\t0x48310000\n"
- "+#define OMAP34XX_GPIO2_BASE\t\t0x49050000\n"
- "+#define OMAP34XX_GPIO3_BASE\t\t0x49052000\n"
- "+#define OMAP34XX_GPIO4_BASE\t\t0x49054000\n"
- "+#define OMAP34XX_GPIO5_BASE\t\t0x49056000\n"
- "+#define OMAP34XX_GPIO6_BASE\t\t0x49058000\n"
- " \n"
- " /*\n"
- "  * OMAP44XX  specific GPIO registers\n"
- "  */\n"
- "-#define OMAP44XX_GPIO1_BASE             OMAP2_IO_ADDRESS(0x4a310000)\n"
- "-#define OMAP44XX_GPIO2_BASE             OMAP2_IO_ADDRESS(0x48055000)\n"
- "-#define OMAP44XX_GPIO3_BASE             OMAP2_IO_ADDRESS(0x48057000)\n"
- "-#define OMAP44XX_GPIO4_BASE             OMAP2_IO_ADDRESS(0x48059000)\n"
- "-#define OMAP44XX_GPIO5_BASE             OMAP2_IO_ADDRESS(0x4805B000)\n"
- "-#define OMAP44XX_GPIO6_BASE             OMAP2_IO_ADDRESS(0x4805D000)\n"
- "+#define OMAP44XX_GPIO1_BASE             0x4a310000\n"
- "+#define OMAP44XX_GPIO2_BASE             0x48055000\n"
- "+#define OMAP44XX_GPIO3_BASE             0x48057000\n"
- "+#define OMAP44XX_GPIO4_BASE             0x48059000\n"
- "+#define OMAP44XX_GPIO5_BASE             0x4805B000\n"
- "+#define OMAP44XX_GPIO6_BASE             0x4805D000\n"
- " \n"
- " struct gpio_bank {\n"
- "+\tunsigned long pbase;\n"
- " \tvoid __iomem *base;\n"
- " \tu16 irq;\n"
- " \tu16 virtual_irq_start;\n"
- "@@ -204,77 +205,106 @@ struct gpio_bank {\n"
- " \n"
- " #ifdef CONFIG_ARCH_OMAP16XX\n"
- " static struct gpio_bank gpio_bank_1610[5] = {\n"
- "-\t{ OMAP1_MPUIO_VBASE,    INT_MPUIO,\t    IH_MPUIO_BASE,     METHOD_MPUIO},\n"
- "-\t{ OMAP1610_GPIO1_BASE, INT_GPIO_BANK1,\t    IH_GPIO_BASE,      METHOD_GPIO_1610 },\n"
- "-\t{ OMAP1610_GPIO2_BASE, INT_1610_GPIO_BANK2, IH_GPIO_BASE + 16, METHOD_GPIO_1610 },\n"
- "-\t{ OMAP1610_GPIO3_BASE, INT_1610_GPIO_BANK3, IH_GPIO_BASE + 32, METHOD_GPIO_1610 },\n"
- "-\t{ OMAP1610_GPIO4_BASE, INT_1610_GPIO_BANK4, IH_GPIO_BASE + 48, METHOD_GPIO_1610 },\n"
- "+\t{ OMAP1_MPUIO_VBASE, NULL, INT_MPUIO, IH_MPUIO_BASE,\n"
- "+\t\tMETHOD_MPUIO },\n"
- "+\t{ OMAP1610_GPIO1_BASE, NULL, INT_GPIO_BANK1, IH_GPIO_BASE,\n"
- "+\t\tMETHOD_GPIO_1610 },\n"
- "+\t{ OMAP1610_GPIO2_BASE, NULL, INT_1610_GPIO_BANK2, IH_GPIO_BASE + 16,\n"
- "+\t\tMETHOD_GPIO_1610 },\n"
- "+\t{ OMAP1610_GPIO3_BASE, NULL, INT_1610_GPIO_BANK3, IH_GPIO_BASE + 32,\n"
- "+\t\tMETHOD_GPIO_1610 },\n"
- "+\t{ OMAP1610_GPIO4_BASE, NULL, INT_1610_GPIO_BANK4, IH_GPIO_BASE + 48,\n"
- "+\t\tMETHOD_GPIO_1610 },\n"
- " };\n"
- " #endif\n"
- " \n"
- " #ifdef CONFIG_ARCH_OMAP15XX\n"
- " static struct gpio_bank gpio_bank_1510[2] = {\n"
- "-\t{ OMAP1_MPUIO_VBASE,   INT_MPUIO,      IH_MPUIO_BASE, METHOD_MPUIO },\n"
- "-\t{ OMAP1510_GPIO_BASE, INT_GPIO_BANK1, IH_GPIO_BASE,  METHOD_GPIO_1510 }\n"
- "+\t{ OMAP1_MPUIO_VBASE, NULL, INT_MPUIO, IH_MPUIO_BASE,\n"
- "+\t\tMETHOD_MPUIO },\n"
- "+\t{ OMAP1510_GPIO_BASE, NULL, INT_GPIO_BANK1, IH_GPIO_BASE,\n"
- "+\t\tMETHOD_GPIO_1510 }\n"
- " };\n"
- " #endif\n"
- " \n"
- " #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)\n"
- " static struct gpio_bank gpio_bank_7xx[7] = {\n"
- "-\t{ OMAP1_MPUIO_VBASE,    INT_7XX_MPUIO,\t    IH_MPUIO_BASE,\tMETHOD_MPUIO },\n"
- "-\t{ OMAP7XX_GPIO1_BASE,  INT_7XX_GPIO_BANK1,  IH_GPIO_BASE,\tMETHOD_GPIO_7XX },\n"
- "-\t{ OMAP7XX_GPIO2_BASE,  INT_7XX_GPIO_BANK2,  IH_GPIO_BASE + 32,\tMETHOD_GPIO_7XX },\n"
- "-\t{ OMAP7XX_GPIO3_BASE,  INT_7XX_GPIO_BANK3,  IH_GPIO_BASE + 64,\tMETHOD_GPIO_7XX },\n"
- "-\t{ OMAP7XX_GPIO4_BASE,  INT_7XX_GPIO_BANK4,  IH_GPIO_BASE + 96,\tMETHOD_GPIO_7XX },\n"
- "-\t{ OMAP7XX_GPIO5_BASE,  INT_7XX_GPIO_BANK5,  IH_GPIO_BASE + 128, METHOD_GPIO_7XX },\n"
- "-\t{ OMAP7XX_GPIO6_BASE,  INT_7XX_GPIO_BANK6,  IH_GPIO_BASE + 160, METHOD_GPIO_7XX },\n"
- "+\t{ OMAP1_MPUIO_VBASE, NULL, INT_7XX_MPUIO, IH_MPUIO_BASE,\n"
- "+\t\tMETHOD_MPUIO },\n"
- "+\t{ OMAP7XX_GPIO1_BASE, NULL, INT_7XX_GPIO_BANK1, IH_GPIO_BASE,\n"
- "+\t\tMETHOD_GPIO_7XX },\n"
- "+\t{ OMAP7XX_GPIO2_BASE, NULL, INT_7XX_GPIO_BANK2, IH_GPIO_BASE + 32,\n"
- "+\t\tMETHOD_GPIO_7XX },\n"
- "+\t{ OMAP7XX_GPIO3_BASE, NULL, INT_7XX_GPIO_BANK3, IH_GPIO_BASE + 64,\n"
- "+\t\tMETHOD_GPIO_7XX },\n"
- "+\t{ OMAP7XX_GPIO4_BASE, NULL, INT_7XX_GPIO_BANK4,  IH_GPIO_BASE + 96,\n"
- "+\t\tMETHOD_GPIO_7XX },\n"
- "+\t{ OMAP7XX_GPIO5_BASE, NULL, INT_7XX_GPIO_BANK5,  IH_GPIO_BASE + 128,\n"
- "+\t\tMETHOD_GPIO_7XX },\n"
- "+\t{ OMAP7XX_GPIO6_BASE, NULL, INT_7XX_GPIO_BANK6,  IH_GPIO_BASE + 160,\n"
- "+\t\tMETHOD_GPIO_7XX },\n"
- " };\n"
- " #endif\n"
- " \n"
- " #ifdef CONFIG_ARCH_OMAP24XX\n"
- " \n"
- " static struct gpio_bank gpio_bank_242x[4] = {\n"
- "-\t{ OMAP242X_GPIO1_BASE, INT_24XX_GPIO_BANK1, IH_GPIO_BASE,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP242X_GPIO2_BASE, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP242X_GPIO3_BASE, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP242X_GPIO4_BASE, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96,\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP242X_GPIO1_BASE, NULL, INT_24XX_GPIO_BANK1, IH_GPIO_BASE,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP242X_GPIO2_BASE, NULL, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP242X_GPIO3_BASE, NULL, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP242X_GPIO4_BASE, NULL, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- " };\n"
- " \n"
- " static struct gpio_bank gpio_bank_243x[5] = {\n"
- "-\t{ OMAP243X_GPIO1_BASE, INT_24XX_GPIO_BANK1, IH_GPIO_BASE,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP243X_GPIO2_BASE, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP243X_GPIO3_BASE, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP243X_GPIO4_BASE, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP243X_GPIO5_BASE, INT_24XX_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_24XX },\n"
- "+\t{ OMAP243X_GPIO1_BASE, NULL, INT_24XX_GPIO_BANK1, IH_GPIO_BASE,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP243X_GPIO2_BASE, NULL, INT_24XX_GPIO_BANK2, IH_GPIO_BASE + 32,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP243X_GPIO3_BASE, NULL, INT_24XX_GPIO_BANK3, IH_GPIO_BASE + 64,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP243X_GPIO4_BASE, NULL, INT_24XX_GPIO_BANK4, IH_GPIO_BASE + 96,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP243X_GPIO5_BASE, NULL, INT_24XX_GPIO_BANK5, IH_GPIO_BASE + 128,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- " };\n"
- " \n"
- " #endif\n"
- " \n"
- " #ifdef CONFIG_ARCH_OMAP34XX\n"
- " static struct gpio_bank gpio_bank_34xx[6] = {\n"
- "-\t{ OMAP34XX_GPIO1_BASE, INT_34XX_GPIO_BANK1, IH_GPIO_BASE,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP34XX_GPIO2_BASE, INT_34XX_GPIO_BANK2, IH_GPIO_BASE + 32,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP34XX_GPIO3_BASE, INT_34XX_GPIO_BANK3, IH_GPIO_BASE + 64,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP34XX_GPIO4_BASE, INT_34XX_GPIO_BANK4, IH_GPIO_BASE + 96,\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP34XX_GPIO5_BASE, INT_34XX_GPIO_BANK5, IH_GPIO_BASE + 128, METHOD_GPIO_24XX },\n"
- "-\t{ OMAP34XX_GPIO6_BASE, INT_34XX_GPIO_BANK6, IH_GPIO_BASE + 160, METHOD_GPIO_24XX },\n"
- "+\t{ OMAP34XX_GPIO1_BASE, NULL, INT_34XX_GPIO_BANK1, IH_GPIO_BASE,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP34XX_GPIO2_BASE, NULL, INT_34XX_GPIO_BANK2, IH_GPIO_BASE + 32,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP34XX_GPIO3_BASE, NULL, INT_34XX_GPIO_BANK3, IH_GPIO_BASE + 64,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP34XX_GPIO4_BASE, NULL, INT_34XX_GPIO_BANK4, IH_GPIO_BASE + 96,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP34XX_GPIO5_BASE, NULL, INT_34XX_GPIO_BANK5, IH_GPIO_BASE + 128,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- "+\t{ OMAP34XX_GPIO6_BASE, NULL, INT_34XX_GPIO_BANK6, IH_GPIO_BASE + 160,\n"
- "+\t\tMETHOD_GPIO_24XX },\n"
- " };\n"
- " \n"
- " #endif\n"
- " \n"
- " #ifdef CONFIG_ARCH_OMAP4\n"
- " static struct gpio_bank gpio_bank_44xx[6] = {\n"
- "-\t{ OMAP44XX_GPIO1_BASE, INT_44XX_GPIO_BANK1, IH_GPIO_BASE,\t\\\n"
- "+\t{ OMAP44XX_GPIO1_BASE, NULL, INT_44XX_GPIO_BANK1, IH_GPIO_BASE,\n"
- " \t\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP44XX_GPIO2_BASE, INT_44XX_GPIO_BANK2, IH_GPIO_BASE + 32,\t\\\n"
- "+\t{ OMAP44XX_GPIO2_BASE, NULL, INT_44XX_GPIO_BANK2, IH_GPIO_BASE + 32,\n"
- " \t\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP44XX_GPIO3_BASE, INT_44XX_GPIO_BANK3, IH_GPIO_BASE + 64,\t\\\n"
- "+\t{ OMAP44XX_GPIO3_BASE, NULL, INT_44XX_GPIO_BANK3, IH_GPIO_BASE + 64,\n"
- " \t\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP44XX_GPIO4_BASE, INT_44XX_GPIO_BANK4, IH_GPIO_BASE + 96,\t\\\n"
- "+\t{ OMAP44XX_GPIO4_BASE, NULL, INT_44XX_GPIO_BANK4, IH_GPIO_BASE + 96,\n"
- " \t\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP44XX_GPIO5_BASE, INT_44XX_GPIO_BANK5, IH_GPIO_BASE + 128, \\\n"
- "+\t{ OMAP44XX_GPIO5_BASE, NULL, INT_44XX_GPIO_BANK5, IH_GPIO_BASE + 128,\n"
- " \t\tMETHOD_GPIO_24XX },\n"
- "-\t{ OMAP44XX_GPIO6_BASE, INT_44XX_GPIO_BANK6, IH_GPIO_BASE + 160, \\\n"
- "+\t{ OMAP44XX_GPIO6_BASE, NULL, INT_44XX_GPIO_BANK6, IH_GPIO_BASE + 160,\n"
- " \t\tMETHOD_GPIO_24XX },\n"
- " };\n"
- " \n"
- "@@ -1511,6 +1541,23 @@ static struct clk * gpio5_fck;\n"
- " static struct clk *gpio_iclks[OMAP34XX_NR_GPIOS];\n"
- " #endif\n"
- " \n"
- "+static void __init omap_gpio_show_rev(void)\n"
- "+{\n"
- "+\tu32 rev;\n"
- "+\n"
- "+\tif (cpu_is_omap16xx())\n"
- "+\t\trev = __raw_readw(gpio_bank[1].base + OMAP1610_GPIO_REVISION);\n"
- "+\telse if (cpu_is_omap24xx() || cpu_is_omap34xx())\n"
- "+\t\trev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);\n"
- "+\telse if (cpu_is_omap44xx())\n"
- "+\t\trev = __raw_readl(gpio_bank[0].base + OMAP4_GPIO_REVISION);\n"
- "+\telse\n"
- "+\t\treturn;\n"
- "+\n"
- "+\tprintk(KERN_INFO \"OMAP GPIO hardware version %d.%d\\n\",\n"
- "+\t\t(rev >> 4) & 0x0f, rev & 0x0f);\n"
- "+}\n"
- "+\n"
- " /* This lock class tells lockdep that GPIO irqs are in a different\n"
- "  * category than their parents, so it won't report false recursion.\n"
- "  */\n"
- "@@ -1521,6 +1568,7 @@ static int __init _omap_gpio_init(void)\n"
- " \tint i;\n"
- " \tint gpio = 0;\n"
- " \tstruct gpio_bank *bank;\n"
- "+\tint bank_size = SZ_8K;\t/* Module 4KB + L4 4KB except on omap1 */\n"
- " \tchar clk_name[11];\n"
- " \n"
- " \tinitialized = 1;\n"
- "@@ -1583,69 +1631,45 @@ static int __init _omap_gpio_init(void)\n"
- " \n"
- " #ifdef CONFIG_ARCH_OMAP15XX\n"
- " \tif (cpu_is_omap15xx()) {\n"
- "-\t\tprintk(KERN_INFO \"OMAP1510 GPIO hardware\\n\");\n"
- " \t\tgpio_bank_count = 2;\n"
- " \t\tgpio_bank = gpio_bank_1510;\n"
- "+\t\tbank_size = SZ_2K;\n"
- " \t}\n"
- " #endif\n"
- " #if defined(CONFIG_ARCH_OMAP16XX)\n"
- " \tif (cpu_is_omap16xx()) {\n"
- "-\t\tu32 rev;\n"
- "-\n"
- " \t\tgpio_bank_count = 5;\n"
- " \t\tgpio_bank = gpio_bank_1610;\n"
- "-\t\trev = __raw_readw(gpio_bank[1].base + OMAP1610_GPIO_REVISION);\n"
- "-\t\tprintk(KERN_INFO \"OMAP GPIO hardware version %d.%d\\n\",\n"
- "-\t\t       (rev >> 4) & 0x0f, rev & 0x0f);\n"
- "+\t\tbank_size = SZ_2K;\n"
- " \t}\n"
- " #endif\n"
- " #if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)\n"
- " \tif (cpu_is_omap7xx()) {\n"
- "-\t\tprintk(KERN_INFO \"OMAP7XX GPIO hardware\\n\");\n"
- " \t\tgpio_bank_count = 7;\n"
- " \t\tgpio_bank = gpio_bank_7xx;\n"
- "+\t\tbank_size = SZ_2K;\n"
- " \t}\n"
- " #endif\n"
- " #ifdef CONFIG_ARCH_OMAP24XX\n"
- " \tif (cpu_is_omap242x()) {\n"
- "-\t\tint rev;\n"
- "-\n"
- " \t\tgpio_bank_count = 4;\n"
- " \t\tgpio_bank = gpio_bank_242x;\n"
- "-\t\trev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);\n"
- "-\t\tprintk(KERN_INFO \"OMAP242x GPIO hardware version %d.%d\\n\",\n"
- "-\t\t\t(rev >> 4) & 0x0f, rev & 0x0f);\n"
- " \t}\n"
- " \tif (cpu_is_omap243x()) {\n"
- "-\t\tint rev;\n"
- "-\n"
- " \t\tgpio_bank_count = 5;\n"
- " \t\tgpio_bank = gpio_bank_243x;\n"
- "-\t\trev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);\n"
- "-\t\tprintk(KERN_INFO \"OMAP243x GPIO hardware version %d.%d\\n\",\n"
- "-\t\t\t(rev >> 4) & 0x0f, rev & 0x0f);\n"
- " \t}\n"
- " #endif\n"
- " #ifdef CONFIG_ARCH_OMAP34XX\n"
- " \tif (cpu_is_omap34xx()) {\n"
- "-\t\tint rev;\n"
- "-\n"
- " \t\tgpio_bank_count = OMAP34XX_NR_GPIOS;\n"
- " \t\tgpio_bank = gpio_bank_34xx;\n"
- "-\t\trev = __raw_readl(gpio_bank[0].base + OMAP24XX_GPIO_REVISION);\n"
- "-\t\tprintk(KERN_INFO \"OMAP34xx GPIO hardware version %d.%d\\n\",\n"
- "-\t\t\t(rev >> 4) & 0x0f, rev & 0x0f);\n"
- " \t}\n"
- " #endif\n"
- " #ifdef CONFIG_ARCH_OMAP4\n"
- " \tif (cpu_is_omap44xx()) {\n"
- "-\t\tint rev;\n"
- "-\n"
- " \t\tgpio_bank_count = OMAP34XX_NR_GPIOS;\n"
- " \t\tgpio_bank = gpio_bank_44xx;\n"
- "-\t\trev = __raw_readl(gpio_bank[0].base + OMAP4_GPIO_REVISION);\n"
- "-\t\tprintk(KERN_INFO \"OMAP44xx GPIO hardware version %d.%d\\n\",\n"
- "-\t\t\t(rev >> 4) & 0x0f, rev & 0x0f);\n"
- " \t}\n"
- " #endif\n"
- " \tfor (i = 0; i < gpio_bank_count; i++) {\n"
- "@@ -1653,6 +1677,14 @@ static int __init _omap_gpio_init(void)\n"
- " \n"
- " \t\tbank = &gpio_bank[i];\n"
- " \t\tspin_lock_init(&bank->lock);\n"
- "+\n"
- "+\t\t/* Static mapping, never released */\n"
- "+\t\tbank->base = ioremap(bank->pbase, bank_size);\n"
- "+\t\tif (!bank->base) {\n"
- "+\t\t\tprintk(KERN_ERR \"Could not ioremap gpio bank%i\\n\", i);\n"
- "+\t\t\tcontinue;\n"
- "+\t\t}\n"
- "+\n"
- " \t\tif (bank_is_mpuio(bank))\n"
- " \t\t\t__raw_writew(0xffff, bank->base + OMAP_MPUIO_GPIO_MASKIT);\n"
- " \t\tif (cpu_is_omap15xx() && bank->method == METHOD_GPIO_1510) {\n"
- "@@ -1758,6 +1790,8 @@ static int __init _omap_gpio_init(void)\n"
- " \tif (cpu_is_omap34xx())\n"
- " \t\tomap_writel(1 << 0, 0x48306814);\n"
- " \n"
- "+\tomap_gpio_show_rev();\n"
- "+\n"
- " \treturn 0;\n"
-  }
 
-a9c3e6edbbe7e25f269cc719a4366f7771176263cdc37788724e17f325165bf8
+49990c07a559b816011d7bf30ec5482897650d9d5423f516288a7c4e48290428

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.