#include <asm/mcfgpio.h>
 
 static struct mcf_gpio_chip mcf_gpio_chips[] = {
-       {
-               .gpio_chip                      = {
-                       .label                  = "GPIO0",
-                       .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                  = 32,
-               },
-               .pddr                           = (void __iomem *) MCFSIM2_GPIOENABLE,
-               .podr                           = (void __iomem *) MCFSIM2_GPIOWRITE,
-               .ppdr                           = (void __iomem *) MCFSIM2_GPIOREAD,
-       },
-       {
-               .gpio_chip                      = {
-                       .label                  = "GPIO1",
-                       .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                  = 32,
-               },
-               .pddr                           = (void __iomem *) MCFSIM2_GPIO1ENABLE,
-               .podr                           = (void __iomem *) MCFSIM2_GPIO1WRITE,
-               .ppdr                           = (void __iomem *) MCFSIM2_GPIO1READ,
-       },
+       MCFGPS(GPIO0, 0, 32, MCFSIM2_GPIOENABLE, MCFSIM2_GPIOWRITE, MCFSIM2_GPIOREAD),
+       MCFGPS(GPIO1, 32, 32, MCFSIM2_GPIO1ENABLE, MCFSIM2_GPIO1WRITE, MCFSIM2_GPIO1READ),
 };
 
 static int __init mcf_gpio_init(void)