Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 355570
b: refs/heads/master
c: ab137d0
h: refs/heads/master
v: v3
  • Loading branch information
Venu Byravarasu authored and Stephen Warren committed Jan 28, 2013
1 parent 24eb85e commit 896fb6b
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 23 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 40e8b3a690ec0ef574c458a991eb647e56683b7d
refs/heads/master: ab137d04db5a4b32250ce5ef1b288ce6cf06adf6
27 changes: 13 additions & 14 deletions trunk/drivers/usb/host/ehci-tegra.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ static void tegra_ehci_power_up(struct usb_hcd *hcd)
struct tegra_ehci_hcd *tegra = dev_get_drvdata(hcd->self.controller);

clk_prepare_enable(tegra->clk);
usb_phy_set_suspend(&tegra->phy->u_phy, 0);
usb_phy_set_suspend(hcd->phy, 0);
tegra->host_resumed = 1;
}

Expand All @@ -65,7 +65,7 @@ static void tegra_ehci_power_down(struct usb_hcd *hcd)
struct tegra_ehci_hcd *tegra = dev_get_drvdata(hcd->self.controller);

tegra->host_resumed = 0;
usb_phy_set_suspend(&tegra->phy->u_phy, 1);
usb_phy_set_suspend(hcd->phy, 1);
clk_disable_unprepare(tegra->clk);
}

Expand Down Expand Up @@ -159,7 +159,7 @@ static int tegra_ehci_hub_control(
if (tegra->port_resuming && !(temp & PORT_SUSPEND)) {
/* Resume completed, re-enable disconnect detection */
tegra->port_resuming = 0;
tegra_usb_phy_postresume(tegra->phy);
tegra_usb_phy_postresume(hcd->phy);
}
}

Expand Down Expand Up @@ -212,7 +212,7 @@ static int tegra_ehci_hub_control(
goto done;

/* Disable disconnect detection during port resume */
tegra_usb_phy_preresume(tegra->phy);
tegra_usb_phy_preresume(hcd->phy);

ehci->reset_done[wIndex-1] = jiffies + msecs_to_jiffies(25);

Expand Down Expand Up @@ -476,7 +476,7 @@ static int controller_resume(struct device *dev)
}

/* Force the phy to keep data lines in suspend state */
tegra_ehci_phy_restore_start(tegra->phy, tegra->port_speed);
tegra_ehci_phy_restore_start(hcd->phy, tegra->port_speed);

/* Enable host mode */
tdi_reset(ehci);
Expand Down Expand Up @@ -543,17 +543,17 @@ static int controller_resume(struct device *dev)
}
}

tegra_ehci_phy_restore_end(tegra->phy);
tegra_ehci_phy_restore_end(hcd->phy);
goto done;

restart:
if (tegra->port_speed <= TEGRA_USB_PHY_PORT_SPEED_HIGH)
tegra_ehci_phy_restore_end(tegra->phy);
tegra_ehci_phy_restore_end(hcd->phy);

tegra_ehci_restart(hcd);

done:
tegra_usb_phy_preresume(tegra->phy);
tegra_usb_phy_preresume(hcd->phy);
tegra->port_resuming = 1;
return 0;
}
Expand Down Expand Up @@ -740,9 +740,9 @@ static int tegra_ehci_probe(struct platform_device *pdev)
goto fail_io;
}

usb_phy_init(&tegra->phy->u_phy);

hcd->phy = u_phy = &tegra->phy->u_phy;
usb_phy_init(hcd->phy);

u_phy->otg = devm_kzalloc(&pdev->dev, sizeof(struct usb_otg),
GFP_KERNEL);
if (!u_phy->otg) {
Expand All @@ -752,7 +752,7 @@ static int tegra_ehci_probe(struct platform_device *pdev)
}
u_phy->otg->host = hcd_to_bus(hcd);

err = usb_phy_set_suspend(&tegra->phy->u_phy, 0);
err = usb_phy_set_suspend(hcd->phy, 0);
if (err) {
dev_err(&pdev->dev, "Failed to power on the phy\n");
goto fail;
Expand Down Expand Up @@ -798,7 +798,7 @@ static int tegra_ehci_probe(struct platform_device *pdev)
if (!IS_ERR_OR_NULL(tegra->transceiver))
otg_set_host(tegra->transceiver->otg, NULL);
#endif
usb_phy_shutdown(&tegra->phy->u_phy);
usb_phy_shutdown(hcd->phy);
fail_io:
clk_disable_unprepare(tegra->clk);
fail_clk:
Expand All @@ -820,11 +820,10 @@ static int tegra_ehci_remove(struct platform_device *pdev)
otg_set_host(tegra->transceiver->otg, NULL);
#endif

usb_phy_shutdown(hcd->phy);
usb_remove_hcd(hcd);
usb_put_hcd(hcd);

usb_phy_shutdown(&tegra->phy->u_phy);

clk_disable_unprepare(tegra->clk);

return 0;
Expand Down
16 changes: 12 additions & 4 deletions trunk/drivers/usb/phy/tegra_usb_phy.c
Original file line number Diff line number Diff line change
Expand Up @@ -759,30 +759,38 @@ struct tegra_usb_phy *tegra_usb_phy_open(struct device *dev, int instance,
}
EXPORT_SYMBOL_GPL(tegra_usb_phy_open);

void tegra_usb_phy_preresume(struct tegra_usb_phy *phy)
void tegra_usb_phy_preresume(struct usb_phy *x)
{
struct tegra_usb_phy *phy = container_of(x, struct tegra_usb_phy, u_phy);

if (!phy->is_ulpi_phy)
utmi_phy_preresume(phy);
}
EXPORT_SYMBOL_GPL(tegra_usb_phy_preresume);

void tegra_usb_phy_postresume(struct tegra_usb_phy *phy)
void tegra_usb_phy_postresume(struct usb_phy *x)
{
struct tegra_usb_phy *phy = container_of(x, struct tegra_usb_phy, u_phy);

if (!phy->is_ulpi_phy)
utmi_phy_postresume(phy);
}
EXPORT_SYMBOL_GPL(tegra_usb_phy_postresume);

void tegra_ehci_phy_restore_start(struct tegra_usb_phy *phy,
void tegra_ehci_phy_restore_start(struct usb_phy *x,
enum tegra_usb_phy_port_speed port_speed)
{
struct tegra_usb_phy *phy = container_of(x, struct tegra_usb_phy, u_phy);

if (!phy->is_ulpi_phy)
utmi_phy_restore_start(phy, port_speed);
}
EXPORT_SYMBOL_GPL(tegra_ehci_phy_restore_start);

void tegra_ehci_phy_restore_end(struct tegra_usb_phy *phy)
void tegra_ehci_phy_restore_end(struct usb_phy *x)
{
struct tegra_usb_phy *phy = container_of(x, struct tegra_usb_phy, u_phy);

if (!phy->is_ulpi_phy)
utmi_phy_restore_end(phy);
}
Expand Down
8 changes: 4 additions & 4 deletions trunk/include/linux/usb/tegra_usb_phy.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,14 +66,14 @@ struct tegra_usb_phy {
struct tegra_usb_phy *tegra_usb_phy_open(struct device *dev, int instance,
void __iomem *regs, void *config, enum tegra_usb_phy_mode phy_mode);

void tegra_usb_phy_preresume(struct tegra_usb_phy *phy);
void tegra_usb_phy_preresume(struct usb_phy *phy);

void tegra_usb_phy_postresume(struct tegra_usb_phy *phy);
void tegra_usb_phy_postresume(struct usb_phy *phy);

void tegra_ehci_phy_restore_start(struct tegra_usb_phy *phy,
void tegra_ehci_phy_restore_start(struct usb_phy *phy,
enum tegra_usb_phy_port_speed port_speed);

void tegra_ehci_phy_restore_end(struct tegra_usb_phy *phy);
void tegra_ehci_phy_restore_end(struct usb_phy *phy);

void tegra_ehci_set_pts(struct usb_phy *x, u8 pts_val);

Expand Down

0 comments on commit 896fb6b

Please sign in to comment.