m68knommu: switch to GPIO init macros in ColdFire 5272 init code
authorGreg Ungerer <gerg@uclinux.org>
Mon, 16 Apr 2012 06:12:43 +0000 (16:12 +1000)
committerGreg Ungerer <gerg@uclinux.org>
Sun, 20 May 2012 11:21:41 +0000 (21:21 +1000)
Modify the GPIO setup table to use the mcfgpio.h macros for table init.
Simplifies code and reduces line count significantly.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Steven King <sfking@fdwdc.com>
arch/m68k/platform/5272/gpio.c

index 57ac10a..91358b8 100644 (file)
 #include <asm/mcfgpio.h>
 
 static struct mcf_gpio_chip mcf_gpio_chips[] = {
-       {
-               .gpio_chip                      = {
-                       .label                  = "PA",
-                       .request                = mcf_gpio_request,
-                       .free                   = mcf_gpio_free,
-                       .direction_input        = mcf_gpio_direction_input,
-                       .direction_output       = mcf_gpio_direction_output,
-                       .get                    = mcf_gpio_get_value,
-                       .set                    = mcf_gpio_set_value,
-                       .ngpio                  = 16,
-               },
-               .pddr                           = (void __iomem *) MCFSIM_PADDR,
-               .podr                           = (void __iomem *) MCFSIM_PADAT,
-               .ppdr                           = (void __iomem *) MCFSIM_PADAT,
-       },
-       {
-               .gpio_chip                      = {
-                       .label                  = "PB",
-                       .request                = mcf_gpio_request,
-                       .free                   = mcf_gpio_free,
-                       .direction_input        = mcf_gpio_direction_input,
-                       .direction_output       = mcf_gpio_direction_output,
-                       .get                    = mcf_gpio_get_value,
-                       .set                    = mcf_gpio_set_value,
-                       .base                   = 16,
-                       .ngpio                  = 16,
-               },
-               .pddr                           = (void __iomem *) MCFSIM_PBDDR,
-               .podr                           = (void __iomem *) MCFSIM_PBDAT,
-               .ppdr                           = (void __iomem *) MCFSIM_PBDAT,
-       },
-       {
-               .gpio_chip                      = {
-                       .label                  = "PC",
-                       .request                = mcf_gpio_request,
-                       .free                   = mcf_gpio_free,
-                       .direction_input        = mcf_gpio_direction_input,
-                       .direction_output       = mcf_gpio_direction_output,
-                       .get                    = mcf_gpio_get_value,
-                       .set                    = mcf_gpio_set_value,
-                       .base                   = 32,
-                       .ngpio                  = 16,
-               },
-               .pddr                           = (void __iomem *) MCFSIM_PCDDR,
-               .podr                           = (void __iomem *) MCFSIM_PCDAT,
-               .ppdr                           = (void __iomem *) MCFSIM_PCDAT,
-       },
+       MCFGPS(PA,  0, 16, MCFSIM_PADDR, MCFSIM_PADAT, MCFSIM_PADAT),
+       MCFGPS(PB, 16, 16, MCFSIM_PBDDR, MCFSIM_PBDAT, MCFSIM_PBDAT),
+       MCFGPS(Pc, 32, 16, MCFSIM_PCDDR, MCFSIM_PCDAT, MCFSIM_PCDAT),
 };
 
 static int __init mcf_gpio_init(void)