#include <mach/mux.h>
 #include <mach/board.h>
 #include <mach/usb-musb.h>
-#include <mach/mmc.h>
 #include <mach/common.h>
 #include <mach/keypad.h>
 #include <mach/gpmc.h>
        spi_register_board_info(sdp2430_spi_board_info,
                                ARRAY_SIZE(sdp2430_spi_board_info));
        ads7846_dev_init();
-       hsmmc_init(mmc);
+       twl4030_mmc_init(mmc);
 
        /* turn off secondary LCD backlight */
        gpio_direction_output(SECONDARY_LCD_GPIO, 0);
 
 #include <mach/board.h>
 #include <mach/usb-musb.h>
 #include <mach/usb-ehci.h>
-#include <mach/mmc.h>
 #include <mach/common.h>
 #include <mach/keypad.h>
 #include <mach/dma.h>
        omap_serial_init();
        usb_musb_init();
        usb_ehci_init();
-       hsmmc_init(mmc);
+       twl4030_mmc_init(mmc);
 }
 
 static void __init omap_3430sdp_map_io(void)
 
 #include <mach/common.h>
 #include <mach/keypad.h>
 #include <mach/gpmc.h>
-#include <mach/mmc.h>
 #include <mach/usb-musb.h>
 
 #include <asm/io.h>
                                eth_gpio);
                return;
        }
-       omap_set_gpio_direction(eth_gpio, 1);
+       gpio_direction_input(eth_gpio);
 }
 
 
        ads7846_dev_init();
        omap_serial_init();
        usb_musb_init();
-       hsmmc_init(mmc);
+       twl4030_mmc_init(mmc);
 }
 
 static void __init omap_ldp_map_io(void)
 
        spi_register_board_info(omap2evm_spi_board_info,
                                ARRAY_SIZE(omap2evm_spi_board_info));
        omap_serial_init();
-       hsmmc_init(mmc);
+       twl4030_mmc_init(mmc);
        omap2evm_flash_init();
        ads7846_dev_init();
 }
 
 #include <mach/board.h>
 #include <mach/usb-musb.h>
 #include <mach/usb-ehci.h>
-#include <mach/mmc.h>
 #include <mach/common.h>
 #include <mach/gpmc.h>
 #include <mach/nand.h>
        /* gpio + 0 is "mmc0_cd" (input/IRQ) */
        omap_cfg_reg(AH8_34XX_GPIO29);
        mmc[0].gpio_cd = gpio + 0;
-       hsmmc_init(mmc);
+       twl4030_mmc_init(mmc);
 
        /* REVISIT: need ehci-omap hooks for external VBUS
         * power switch and overcurrent detect
 
 #include <mach/gpio.h>
 #include <mach/keypad.h>
 #include <mach/board.h>
-#include <mach/mmc.h>
 #include <mach/usb-musb.h>
 #include <mach/usb-ehci.h>
 #include <mach/common.h>
                                ARRAY_SIZE(omap3evm_spi_board_info));
 
        omap_serial_init();
-       hsmmc_init(mmc);
+       twl4030_mmc_init(mmc);
        usb_musb_init();
        usb_ehci_init();
        omap3evm_flash_init();
 
 #include <mach/gpio.h>
 #include <mach/gpmc.h>
 #include <mach/hardware.h>
-#include <mach/mmc.h>
 #include <mach/nand.h>
 #include <mach/usb-ehci.h>
 #include <mach/usb-musb.h>
        /* gpio + {0,1} is "mmc{0,1}_cd" (input/IRQ) */
        omap3pandora_mmc[0].gpio_cd = gpio + 0;
        omap3pandora_mmc[1].gpio_cd = gpio + 1;
-       hsmmc_init(omap3pandora_mmc);
+       twl4030_mmc_init(omap3pandora_mmc);
 
        return 0;
 }
 
 #include <mach/gpio.h>
 #include <mach/gpmc.h>
 #include <mach/hardware.h>
-#include <mach/mmc.h>
 #include <mach/nand.h>
 #include <mach/usb-ehci.h>
 #include <mach/usb-musb.h>
        omap_board_config = overo_config;
        omap_board_config_size = ARRAY_SIZE(overo_config);
        omap_serial_init();
-       hsmmc_init(mmc);
+       twl4030_mmc_init(mmc);
        usb_musb_init();
        usb_ehci_init();
        overo_flash_init();
 
 
 #include "mmc-twl4030.h"
 
-#if defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
+#if defined(CONFIG_TWL4030_CORE) && \
+       (defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE))
 
 #define LDO_CLR                        0x00
 #define VSEL_S2_CLR            0x40
 
 static struct omap_mmc_platform_data *hsmmc_data[OMAP34XX_NR_MMC] __initdata;
 
-void __init hsmmc_init(struct twl4030_hsmmc_info *controllers)
+void __init twl4030_mmc_init(struct twl4030_hsmmc_info *controllers)
 {
        struct twl4030_hsmmc_info *c;
        int nr_hsmmc = ARRAY_SIZE(hsmmc_data);
 
        int     ext_clock:1;    /* use external pin for input clock */
 };
 
-#if    defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) || \
-       defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE)
+#if    defined(CONFIG_TWL4030_CORE) && \
+       (defined(CONFIG_MMC_OMAP) || defined(CONFIG_MMC_OMAP_MODULE) || \
+        defined(CONFIG_MMC_OMAP_HS) || defined(CONFIG_MMC_OMAP_HS_MODULE))
 
-void hsmmc_init(struct twl4030_hsmmc_info *);
+void twl4030_mmc_init(struct twl4030_hsmmc_info *);
 
 #else
 
-static inline void hsmmc_init(struct twl4030_hsmmc_info *info)
+static inline void twl4030_mmc_init(struct twl4030_hsmmc_info *info)
 {
 }
 
 
 config MMC_OMAP_HS
        tristate "TI OMAP High Speed Multimedia Card Interface support"
        depends on (ARCH_OMAP2 && ARCH_OMAP2430) || ARCH_OMAP3
-       select TWL4030_CORE if MACH_OMAP_2430SDP || MACH_OMAP_3430SDP
+       select TWL4030_CORE
        help
          This selects the TI OMAP High Speed Multimedia card Interface.
          If you have an OMAP2(2430) or OMAP3 board with a Multimedia Card slot,
 
 #define OMAP_MMC_DATADIR_WRITE 2
 #define MMC_TIMEOUT_MS         20
 #define OMAP_MMC_MASTER_CLOCK  96000000
-#define DRIVER_NAME            "mmci-omap"
+#define DRIVER_NAME            "mmci-omap-hs"
 
 /*
  * One controller can have multiple slots, like on some omap boards using
 
        gpio_request(LCD_PANEL_ENABLE_GPIO, "lcd panel");
        gpio_request(LCD_PANEL_BACKLIGHT_GPIO, "lcd backlight");
 
-       omap_set_gpio_direction(LCD_PANEL_QVGA_GPIO, 0);
-       omap_set_gpio_direction(LCD_PANEL_RESET_GPIO, 0);
+       gpio_direction_output(LCD_PANEL_QVGA_GPIO, 0);
+       gpio_direction_output(LCD_PANEL_RESET_GPIO, 0);
        gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
        gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 0);