Skip to content

Commit

Permalink
usb: phy: twl4030: fix cold plug on OMAP3
Browse files Browse the repository at this point in the history
Having twl4030_usb_phy_init() (detects if a cable is connected before
twl4030 is probed) in twl4030 probe makes cable connect events to be
missed by musb glue, since it gets loaded after twl4030. Having
twl4030_usb_phy_init as a usb_phy ops lets twl4030_usb_phy_init to be
called when glue is ready.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
Kishon Vijay Abraham I authored and Felipe Balbi committed Mar 18, 2013
1 parent 9166902 commit 817e5f3
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions drivers/usb/phy/phy-twl4030-usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -510,8 +510,9 @@ static irqreturn_t twl4030_usb_irq(int irq, void *_twl)
return IRQ_HANDLED;
}

static void twl4030_usb_phy_init(struct twl4030_usb *twl)
static int twl4030_usb_phy_init(struct usb_phy *phy)
{
struct twl4030_usb *twl = phy_to_twl(phy);
enum omap_musb_vbus_id_status status;

status = twl4030_usb_linkstat(twl);
Expand All @@ -528,6 +529,7 @@ static void twl4030_usb_phy_init(struct twl4030_usb *twl)
omap_musb_mailbox(twl->linkstat);
}
sysfs_notify(&twl->dev->kobj, NULL, "vbus");
return 0;
}

static int twl4030_set_suspend(struct usb_phy *x, int suspend)
Expand Down Expand Up @@ -604,6 +606,7 @@ static int twl4030_usb_probe(struct platform_device *pdev)
twl->phy.otg = otg;
twl->phy.type = USB_PHY_TYPE_USB2;
twl->phy.set_suspend = twl4030_set_suspend;
twl->phy.init = twl4030_usb_phy_init;

otg->phy = &twl->phy;
otg->set_host = twl4030_set_host;
Expand Down Expand Up @@ -641,11 +644,6 @@ static int twl4030_usb_probe(struct platform_device *pdev)
return status;
}

/* Power down phy or make it work according to
* current link state.
*/
twl4030_usb_phy_init(twl);

dev_info(&pdev->dev, "Initialized TWL4030 USB module\n");
return 0;
}
Expand Down

0 comments on commit 817e5f3

Please sign in to comment.