diff options
author | Benoit Goby <benoit@android.com> | 2011-08-08 21:41:49 -0700 |
---|---|---|
committer | Benoit Goby <benoit@android.com> | 2011-08-09 14:21:30 -0700 |
commit | 3398dae5619bc54d465b3865b710ecbf412126c2 (patch) | |
tree | c5b5c43416e8d2daa24be8e45974776d57c56222 /arch/arm | |
parent | 464898ffd730251fde5de666eadd62864c78a69e (diff) | |
download | kernel_samsung_tuna-3398dae5619bc54d465b3865b710ecbf412126c2.zip kernel_samsung_tuna-3398dae5619bc54d465b3865b710ecbf412126c2.tar.gz kernel_samsung_tuna-3398dae5619bc54d465b3865b710ecbf412126c2.tar.bz2 |
modem_if: usb_link: Add LTE modem wake platform device
Add platform device to set the lte slave-wakeup gpio high before
the ehci driver is resumed. The device must be registered before the
ehci driver so that its resume callback is called first.
Change-Id: I17a34e7497d7520fd67839acbb029b286df80713
Signed-off-by: Benoit Goby <benoit@android.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/board-tuna-modems.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-tuna.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-tuna.h | 1 |
3 files changed, 17 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/board-tuna-modems.c b/arch/arm/mach-omap2/board-tuna-modems.c index 23b7ca3..8e1c3b3 100644 --- a/arch/arm/mach-omap2/board-tuna-modems.c +++ b/arch/arm/mach-omap2/board-tuna-modems.c @@ -704,6 +704,11 @@ static struct resource lte_modem_res[] = { }, }; +static struct platform_device lte_modem_wake = { + .name = "modem_lte_wake", + .id = -1, +}; + static struct platform_device lte_modem = { .name = "modem_if", .id = 2, @@ -714,6 +719,14 @@ static struct platform_device lte_modem = { }, }; +/* lte_modem_wake must be registered before the ehci driver */ +void __init modem_toro_init(void) +{ + lte_modem_wake.dev.platform_data = + (void*)lte_modem_data.gpio_slave_wakeup; + platform_device_register(<e_modem_wake); +} + static int __init init_modem(void) { pr_debug("[MODEM_IF] init_modem\n"); diff --git a/arch/arm/mach-omap2/board-tuna.c b/arch/arm/mach-omap2/board-tuna.c index e450be1..6db68ca 100644 --- a/arch/arm/mach-omap2/board-tuna.c +++ b/arch/arm/mach-omap2/board-tuna.c @@ -976,8 +976,10 @@ static void __init tuna_init(void) omap_hsi_init(); #endif #ifdef CONFIG_USB_EHCI_HCD_OMAP - if (TUNA_TYPE_TORO == omap4_tuna_get_type()) + if (TUNA_TYPE_TORO == omap4_tuna_get_type()) { + modem_toro_init(); omap4_ehci_init(); + } #endif } diff --git a/arch/arm/mach-omap2/board-tuna.h b/arch/arm/mach-omap2/board-tuna.h index f700456..c09e199 100644 --- a/arch/arm/mach-omap2/board-tuna.h +++ b/arch/arm/mach-omap2/board-tuna.h @@ -37,6 +37,7 @@ int tuna_wlan_init(void); int omap_hsi_init(void); void omap4_tuna_emif_init(void); void omap4_ehci_init(void); +void modem_toro_init(void); extern struct mmc_platform_data tuna_wifi_data; extern struct class *sec_class; |