]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap1/board-h2.c
Revert "ARM: OMAP: Get rid of controller vs slot confusion, initialize MMC devices...
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap1 / board-h2.c
index 2c12dfa8c09502b944bbb66b31e8dde34577a191..ac51d255aa0c9b553167e458b3826d9388fe4cf0 100644 (file)
@@ -437,25 +437,10 @@ static void __init h2_init_smc91x(void)
        }
 }
 
-static int tps_setup(struct i2c_client *client, void *context)
-{
-       tps65010_config_vregs1(TPS_LDO2_ENABLE | TPS_VLDO2_3_0V |
-                               TPS_LDO1_ENABLE | TPS_VLDO1_3_0V);
-
-       return 0;
-}
-
-static struct tps65010_board tps_board = {
-       .base           = H2_TPS_GPIO_BASE,
-       .outmask        = 0x0f,
-       .setup          = tps_setup,
-};
-
 static struct i2c_board_info __initdata h2_i2c_board_info[] = {
        {
                I2C_BOARD_INFO("tps65010", 0x48),
                .irq            = OMAP_GPIO_IRQ(58),
-               .platform_data  = &tps_board,
        }, {
                I2C_BOARD_INFO("isp1301_omap", 0x2d),
                .irq            = OMAP_GPIO_IRQ(2),
@@ -499,6 +484,18 @@ static struct omap_board_config_kernel h2_config[] __initdata = {
        { OMAP_TAG_LCD,         &h2_lcd_config },
 };
 
+static struct omap_gpio_switch h2_gpio_switches[] __initdata = {
+       {
+               .name                   = "mmc_slot",
+               .gpio                   = OMAP_MPUIO(1),
+               .type                   = OMAP_GPIO_SWITCH_TYPE_COVER,
+               .debounce_rising        = 100,
+               .debounce_falling       = 0,
+               .notify                 = h2_mmc_slot_cover_handler,
+               .notify_data            = NULL,
+       },
+};
+
 #define H2_NAND_RB_GPIO_PIN    62
 
 static int h2_nand_dev_ready(struct omap_nand_platform_data *data)
@@ -550,6 +547,8 @@ static void __init h2_init(void)
        omap_register_i2c_bus(1, 100, h2_i2c_board_info,
                              ARRAY_SIZE(h2_i2c_board_info));
        h2_mmc_init();
+       omap_register_gpio_switches(h2_gpio_switches,
+                                   ARRAY_SIZE(h2_gpio_switches));
 }
 
 static void __init h2_map_io(void)