summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/board-omap3touchbook.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2012-03-10 09:08:09 -0800
committerOlof Johansson <olof@lixom.net>2012-03-10 09:08:09 -0800
commite65bc8918f75620f1668d321b048bfa336ccc0fa (patch)
tree72ec2d6e5848d7ce3a2f012daf85bc08df43e49d /arch/arm/mach-omap2/board-omap3touchbook.c
parentd60d506e6baaf423148c458df3ece0c1d440dce4 (diff)
parent00fd72ccc928c1fefc4c9c3b925f82cb71750dfb (diff)
downloadlinux-e65bc8918f75620f1668d321b048bfa336ccc0fa.tar.gz
linux-e65bc8918f75620f1668d321b048bfa336ccc0fa.tar.bz2
linux-e65bc8918f75620f1668d321b048bfa336ccc0fa.zip
Merge branch 'cleanup-pm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup
* 'cleanup-pm' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: PM: share some suspend-related functions across OMAP2, 3, 4 ARM: OMAP2+: omap_device: call all suspend, resume callbacks when OMAP_DEVICE_NO_IDLE_ON_SUSPEND is set ARM: OMAP: omap_device: remove omap_device_parent ARM: OMAP2+: PM debug: fix the use of debugfs_create_* API ARM: OMAP2+: PM: share clkdms_setup() across OMAP2, 3, 4 ARM: OMAP2+: PM: clean up omap_set_pwrdm_state() ARM: OMAP3: PM: remove superfluous calls to pwrdm_clear_all_prev_pwrst() ARM: OMAP: convert omap_device_build() and callers to __init ARM: OMAP2+: Mark omap_hsmmc_init and omap_mux related functions as __init ARM: OMAP2+: Split omap2_hsmmc_init() to properly support I2C GPIO pins ARM: OMAP: omap_device: Expose omap_device_{alloc, delete, register} ARM: OMAP: Fix build error when mmc_omap is built as module ARM: OMAP: Fix kernel panic with HSMMC when twl4030_gpio is a module
Diffstat (limited to 'arch/arm/mach-omap2/board-omap3touchbook.c')
-rw-r--r--arch/arm/mach-omap2/board-omap3touchbook.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
index a0b851aafcca..8842e04aef01 100644
--- a/arch/arm/mach-omap2/board-omap3touchbook.c
+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
@@ -100,6 +100,7 @@ static struct omap2_hsmmc_info mmc[] = {
.mmc = 1,
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
.gpio_wp = 29,
+ .deferred = true,
},
{} /* Terminator */
};
@@ -117,15 +118,9 @@ static struct gpio_led gpio_leds[];
static int touchbook_twl_gpio_setup(struct device *dev,
unsigned gpio, unsigned ngpio)
{
- if (system_rev >= 0x20 && system_rev <= 0x34301000) {
- omap_mux_init_gpio(23, OMAP_PIN_INPUT);
- mmc[0].gpio_wp = 23;
- } else {
- omap_mux_init_gpio(29, OMAP_PIN_INPUT);
- }
/* gpio + 0 is "mmc0_cd" (input/IRQ) */
mmc[0].gpio_cd = gpio + 0;
- omap2_hsmmc_init(mmc);
+ omap_hsmmc_late_init(mmc);
/* REVISIT: need ehci-omap hooks for external VBUS
* power switch and overcurrent detect
@@ -351,6 +346,14 @@ static void __init omap3_touchbook_init(void)
pm_power_off = omap3_touchbook_poweroff;
+ if (system_rev >= 0x20 && system_rev <= 0x34301000) {
+ omap_mux_init_gpio(23, OMAP_PIN_INPUT);
+ mmc[0].gpio_wp = 23;
+ } else {
+ omap_mux_init_gpio(29, OMAP_PIN_INPUT);
+ }
+ omap_hsmmc_init(mmc);
+
omap3_touchbook_i2c_init();
platform_add_devices(omap3_touchbook_devices,
ARRAY_SIZE(omap3_touchbook_devices));