Conflicts:
	arch/arm/mach-pxa/am200epd.c
	arch/arm/mach-pxa/ezx.c
        .cleanup                = am200_cleanup,
  };
  
- static int __init am200_init(void)
 +static unsigned long am200_pin_config[] __initdata = {
 +      GPIO51_GPIO,
 +      GPIO49_GPIO,
 +      GPIO48_GPIO,
 +      GPIO32_GPIO,
 +      GPIO17_GPIO,
 +      GPIO16_GPIO,
 +};
 +
+ int __init am200_init(void)
  {
        int ret;
  
 
  #include <mach/pxafb.h>
  #include <mach/ohci.h>
  #include <mach/i2c.h>
 +#include <mach/hardware.h>
+ #include <mach/pxa27x_keypad.h>
  
  #include <mach/mfp-pxa27x.h>
  #include <mach/pxa-regs.h>
 
        GPIO6_MMC_CLK,
        GPIO53_MMC_CLK,
        GPIO8_MMC_CS0,
 -      /* these are used by AM200EPD */
 -      GPIO51_GPIO,
 -      GPIO49_GPIO,
 -      GPIO48_GPIO,
 -      GPIO32_GPIO,
 -      GPIO17_GPIO,
 -      GPIO16_GPIO,
  };
  
+ int __attribute__((weak)) am200_init(void)
+ {
+       return 0;
+ }
+ 
+ static void __init carrier_board_init(void)
+ {
+       /*
+        * put carrier/expansion board init here if
+        * they cannot be detected programatically
+        */
+       am200_init();
+ }
+ 
  static void __init gumstix_init(void)
  {
        pxa2xx_mfp_config(ARRAY_AND_SIZE(gumstix_pin_config));