diff options
author | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2012-09-10 14:53:27 +0200 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2012-09-10 15:04:19 +0200 |
commit | d5bbf34613a877dbe3da847fa0432da8c6721e73 (patch) | |
tree | 902a90fd7eda61aad7abae9c35b0da2e7a786995 /drivers/misc/tegra-baseband/bb-m7400.c | |
parent | c6c1f7a2c194f1a2291a15c6691c0d6785f8976e (diff) | |
parent | 336961dd3cf9c39456dd9657e8f205718740c797 (diff) |
Merge branch 'l4t/l4t-r16' into colibri
Merge with latest NVIDIA L4T R16.
Only real conflict concerning inverted VBUS gpio support.
Diffstat (limited to 'drivers/misc/tegra-baseband/bb-m7400.c')
-rw-r--r-- | drivers/misc/tegra-baseband/bb-m7400.c | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/drivers/misc/tegra-baseband/bb-m7400.c b/drivers/misc/tegra-baseband/bb-m7400.c index 5808a6e321cd..adabefdb100d 100644 --- a/drivers/misc/tegra-baseband/bb-m7400.c +++ b/drivers/misc/tegra-baseband/bb-m7400.c @@ -28,10 +28,12 @@ #include <linux/device.h> #include <linux/usb.h> #include <linux/wakelock.h> +#include <linux/platform_data/tegra_usb.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> #include <mach/tegra-bb-power.h> #include <mach/usb_phy.h> + #include "bb-power.h" static struct tegra_bb_gpio_data m7400_gpios[] = { @@ -106,27 +108,26 @@ static void m7400_apdown_handshake(void) gpio_set_value(gpio_awr, 0); } -static int m7400_l2_suspend(void) +static void m7400_l2_suspend(void) { /* Gets called for two cases : a) Port suspend. b) Bus suspend. */ if (modem_status == BBSTATE_L2) - return 0; + return; /* Post bus suspend: Drive ARR low. */ gpio_set_value(gpio_arr, 0); modem_status = BBSTATE_L2; - return 0; } -static int m7400_l2_resume(void) +static void m7400_l2_resume(void) { /* Gets called for two cases : a) L2 resume. b) bus resume phase of L3 resume. */ if (modem_status == BBSTATE_L0) - return 0; + return; /* Pre bus resume: Drive ARR high. */ gpio_set_value(gpio_arr, 1); @@ -136,10 +137,9 @@ static int m7400_l2_resume(void) if (gpio_wait_timeout(gpio_cwr, 1, 10) != 0) { pr_info("%s: Error: timeout waiting for modem ack.\n", __func__); - return -1; + return; } modem_status = BBSTATE_L0; - return 0; } static void m7400_l3_suspend(void) @@ -193,20 +193,17 @@ static int m7400_power(int code) static void m7400_ehci_customize(struct platform_device *pdev) { - struct tegra_ehci_platform_data *ehci_pdata; - struct tegra_uhsic_config *hsic_config; + struct tegra_usb_platform_data *ehci_pdata; - ehci_pdata = (struct tegra_ehci_platform_data *) + ehci_pdata = (struct tegra_usb_platform_data *) pdev->dev.platform_data; - hsic_config = (struct tegra_uhsic_config *) - ehci_pdata->phy_config; /* Register PHY callbacks */ - hsic_config->postsuspend = m7400_l2_suspend; - hsic_config->preresume = m7400_l2_resume; + ehci_pdata->ops->post_suspend = m7400_l2_suspend; + ehci_pdata->ops->pre_resume = m7400_l2_resume; /* Override required settings */ - ehci_pdata->power_down_on_bus_suspend = 0; + ehci_pdata->u_data.host.power_off_on_suspend = false; } static int m7400_attrib_write(struct device *dev, int value) |