ARM: imx: get rid of mxc_gpio_init
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 10 Jun 2010 15:11:06 +0000 (17:11 +0200)
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 24 Jun 2010 13:40:40 +0000 (15:40 +0200)
This function is defined once for each imx family and so is in the way
when compiling a kernel for more than one SoC.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
15 files changed:
arch/arm/mach-imx/devices.c
arch/arm/mach-imx/mm-imx21.c
arch/arm/mach-imx/mm-imx27.c
arch/arm/mach-mx1/devices.c
arch/arm/mach-mx1/generic.c
arch/arm/mach-mx25/devices.c
arch/arm/mach-mx25/mm.c
arch/arm/mach-mx3/devices.c
arch/arm/mach-mx3/mm.c
arch/arm/mach-mx5/devices.c
arch/arm/mach-mx5/mm.c
arch/arm/mach-mxc91231/devices.c
arch/arm/mach-mxc91231/mm.c
arch/arm/plat-mxc/irq.c
arch/arm/plat-mxc/tzic.c

index a0aeb8a4adc19ef419a0a045ad3b882131597106..e708bfd9aabc2902732fe97f234827c7ce1fcd77 100644 (file)
@@ -454,26 +454,21 @@ DEFINE_IMX_SSI_DEVICE(1, 2, MX2x_SSI1_BASE_ADDR, MX2x_INT_SSI1);
 
 #ifdef CONFIG_MACH_MX21
 DEFINE_MXC_GPIO_PORTS(MX21, imx21);
+
+int __init imx21_register_gpios(void)
+{
+       return mxc_gpio_init(imx21_gpio_ports, ARRAY_SIZE(imx21_gpio_ports));
+}
 #endif
 
 #ifdef CONFIG_MACH_MX27
 DEFINE_MXC_GPIO_PORTS(MX27, imx27);
-#endif
 
-int __init mxc_register_gpios(void)
+int __init imx27_register_gpios(void)
 {
-#ifdef CONFIG_MACH_MX21
-       if (cpu_is_mx21())
-               return mxc_gpio_init(imx21_gpio_ports, ARRAY_SIZE(imx21_gpio_ports));
-       else
-#endif
-#ifdef CONFIG_MACH_MX27
-       if (cpu_is_mx27())
-               return mxc_gpio_init(imx27_gpio_ports, ARRAY_SIZE(imx27_gpio_ports));
-       else
-#endif
-               return 0;
+       return mxc_gpio_init(imx27_gpio_ports, ARRAY_SIZE(imx27_gpio_ports));
 }
+#endif
 
 #ifdef CONFIG_MACH_MX21
 static struct resource mx21_usbhc_resources[] = {
@@ -500,4 +495,3 @@ struct platform_device mx21_usbhc_device = {
        .resource       = mx21_usbhc_resources,
 };
 #endif
-
index 115c21289125759eb4e3ff4226745d1b65907ac4..68aa5d2ecdb1da8fd2a5955cd07952e1a73b8f49 100644 (file)
@@ -77,7 +77,10 @@ void __init mx21_map_io(void)
        iotable_init(imx21_io_desc, ARRAY_SIZE(imx21_io_desc));
 }
 
+int imx21_register_gpios(void);
+
 void __init mx21_init_irq(void)
 {
+       imx21_register_gpios();
        mxc_init_irq(MX21_IO_ADDRESS(MX21_AVIC_BASE_ADDR));
 }
index 89b41749e166416e7f1deb989139faf3c56b1e83..bcedce9c87dd14325cb7717b37a386edce8a1326 100644 (file)
@@ -77,7 +77,10 @@ void __init mx27_map_io(void)
        iotable_init(imx27_io_desc, ARRAY_SIZE(imx27_io_desc));
 }
 
+int imx27_register_gpios(void);
+
 void __init mx27_init_irq(void)
 {
+       imx27_register_gpios();
        mxc_init_irq(MX27_IO_ADDRESS(MX27_AVIC_BASE_ADDR));
 }
index 8064f2c3b86ffd129462b1e6602451dcc1faf6bf..860cbb7397d59fe5116579d880d4b16301bb745f 100644 (file)
@@ -237,7 +237,7 @@ static struct mxc_gpio_port imx_gpio_ports[] = {
        }
 };
 
-int __init mxc_register_gpios(void)
+int __init imx1_register_gpios(void)
 {
        return mxc_gpio_init(imx_gpio_ports, ARRAY_SIZE(imx_gpio_ports));
 }
index 5a745d99e6600eed216eb5f38cc1d1805185af4d..a9be5f14bd9db69f4ea0db1676ac33e9b804ab74 100644 (file)
@@ -46,7 +46,10 @@ void __init mx1_map_io(void)
        iotable_init(imx_io_desc, ARRAY_SIZE(imx_io_desc));
 }
 
+int imx1_register_gpios(void);
+
 void __init mx1_init_irq(void)
 {
+       imx1_register_gpios();
        mxc_init_irq(MX1_IO_ADDRESS(MX1_AVIC_BASE_ADDR));
 }
index 3a405fa400eb064a6a8e612027709b7601cb4d34..80f31318071335f602eaafe304771a6c7a53d627 100644 (file)
@@ -414,7 +414,7 @@ static struct mxc_gpio_port imx_gpio_ports[] = {
        }
 };
 
-int __init mxc_register_gpios(void)
+int __init imx25_register_gpios(void)
 {
        return mxc_gpio_init(imx_gpio_ports, ARRAY_SIZE(imx_gpio_ports));
 }
index a7e587ff3e9ebc5b0821f4a506548b7bd7e1b817..cf4d76e0d22d94071a2fad9e7531b769104e7231 100644 (file)
@@ -69,8 +69,11 @@ void __init mx25_map_io(void)
        iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
 }
 
+int imx25_register_gpios(void);
+
 void __init mx25_init_irq(void)
 {
+       imx25_register_gpios();
        mxc_init_irq((void __iomem *)MX25_AVIC_BASE_ADDR_VIRT);
 }
 
index db7acd6e910160cc230736ff3eb441eff255f2d0..f6da0ffbe7190e24ce5098a0139d2e69dacc65a5 100644 (file)
@@ -147,7 +147,7 @@ static struct mxc_gpio_port imx_gpio_ports[] = {
        }
 };
 
-int __init mxc_register_gpios(void)
+int __init imx3x_register_gpios(void)
 {
        return mxc_gpio_init(imx_gpio_ports, ARRAY_SIZE(imx_gpio_ports));
 }
index 6858a4f9806cd69f3f0ffe95641d87d342cdd899..595cf09b2c59521875ffcc5575962344568d1129 100644 (file)
@@ -97,8 +97,11 @@ void __init mx35_map_io(void)
 }
 #endif
 
+int imx3x_register_gpios(void);
+
 void __init mx31_init_irq(void)
 {
+       imx3x_register_gpios();
        mxc_init_irq(IO_ADDRESS(AVIC_BASE_ADDR));
 }
 
index 7130449aacdcff6671cea5fe794a418916bdac34..f40778f1a8779ea48796f4235a6bcc223d2da35a 100644 (file)
@@ -195,7 +195,7 @@ static struct mxc_gpio_port mxc_gpio_ports[] = {
        },
 };
 
-int __init mxc_register_gpios(void)
+int __init imx51_register_gpios(void)
 {
        return mxc_gpio_init(mxc_gpio_ports, ARRAY_SIZE(mxc_gpio_ports));
 }
index b7677ef80cc4388a4c414c4b7c8e1269137227a6..2f79722508cf5a2f64c3788e5e6e43a6533e7524 100644 (file)
@@ -65,6 +65,8 @@ void __init mx51_map_io(void)
        iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
 }
 
+int imx51_register_gpios(void);
+
 void __init mx51_init_irq(void)
 {
        unsigned long tzic_addr;
@@ -79,5 +81,6 @@ void __init mx51_init_irq(void)
        if (!tzic_virt)
                panic("unable to map TZIC interrupt controller\n");
 
+       imx51_register_gpios();
        tzic_init_irq(tzic_virt);
 }
index 353bd977b393b3e87e21dd83c866776a69479d0b..027af4f0d18aed1a40c97f448f43daa2028efc32 100644 (file)
@@ -135,7 +135,7 @@ static struct mxc_gpio_port mxc_gpio_ports[] = {
        },
 };
 
-int __init mxc_register_gpios(void)
+int __init mxc91231_register_gpios(void)
 {
        return mxc_gpio_init(mxc_gpio_ports, ARRAY_SIZE(mxc_gpio_ports));
 }
index 6becda3ff331ddf4196dc8a6667cbd543decd07e..1f23c743ae651899c666d9a522a5caabcfbf2a6e 100644 (file)
@@ -88,7 +88,10 @@ void __init mxc91231_map_io(void)
        iotable_init(mxc_io_desc, ARRAY_SIZE(mxc_io_desc));
 }
 
+int mxc91231_register_gpios(void);
+
 void __init mxc91231_init_irq(void)
 {
+       mxc91231_register_gpios();
        mxc_init_irq(MXC91231_IO_ADDRESS(MXC91231_AVIC_BASE_ADDR));
 }
index 778ddfe57d895c5db1a4969886bd1dac6226f5f0..7331f2ace5fe12b49e1ce431fd01459bc6bae785 100644 (file)
@@ -142,9 +142,6 @@ void __init mxc_init_irq(void __iomem *irqbase)
        for (i = 0; i < 8; i++)
                __raw_writel(0, avic_base + AVIC_NIPRIORITY(i));
 
-       /* init architectures chained interrupt handler */
-       mxc_register_gpios();
-
 #ifdef CONFIG_FIQ
        /* Initialize FIQ */
        init_FIQ();
index 9b86d2a60d43789a22d644105981815169123dd7..b3da9aad4295704ef9ea8a4a43c95127d74e6d9e 100644 (file)
@@ -145,8 +145,6 @@ void __init tzic_init_irq(void __iomem *irqbase)
                set_irq_handler(i, handle_level_irq);
                set_irq_flags(i, IRQF_VALID);
        }
-       mxc_register_gpios();
-
        pr_info("TrustZone Interrupt Controller (TZIC) initialized\n");
 }