mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
usb: otg: support for multiple transceivers by a single controller
Add a linked list for keeping multiple PHY instances with different types so that we can have separate USB2 and USB3 PHYs on one single board. _get_phy_ has been changed so that the controller gets the transceiver by type. _remove_phy_ has been added to let the phy be removed from the phy list. Signed-off-by: Kishon Vijay Abraham I <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
This commit is contained in:
parent
721002ec1d
commit
662dca54ca
35 changed files with 152 additions and 57 deletions
|
|
@ -2688,7 +2688,7 @@ static int __devinit ab8500_charger_probe(struct platform_device *pdev)
|
|||
goto free_ac;
|
||||
}
|
||||
|
||||
di->usb_phy = usb_get_phy();
|
||||
di->usb_phy = usb_get_phy(USB_PHY_TYPE_USB2);
|
||||
if (!di->usb_phy) {
|
||||
dev_err(di->dev, "failed to get usb transceiver\n");
|
||||
ret = -EINVAL;
|
||||
|
|
|
|||
|
|
@ -415,7 +415,7 @@ static int __devinit isp1704_charger_probe(struct platform_device *pdev)
|
|||
if (!isp)
|
||||
return -ENOMEM;
|
||||
|
||||
isp->phy = usb_get_phy();
|
||||
isp->phy = usb_get_phy(USB_PHY_TYPE_USB2);
|
||||
if (!isp->phy)
|
||||
goto fail0;
|
||||
|
||||
|
|
|
|||
|
|
@ -321,7 +321,7 @@ static int pda_power_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_USB_OTG_UTILS
|
||||
transceiver = usb_get_phy();
|
||||
transceiver = usb_get_phy(USB_PHY_TYPE_USB2);
|
||||
if (transceiver && !pdata->is_usb_online) {
|
||||
pdata->is_usb_online = otg_is_usb_online;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -479,7 +479,7 @@ static int __init twl4030_bci_probe(struct platform_device *pdev)
|
|||
|
||||
INIT_WORK(&bci->work, twl4030_bci_usb_work);
|
||||
|
||||
bci->transceiver = usb_get_phy();
|
||||
bci->transceiver = usb_get_phy(USB_PHY_TYPE_USB2);
|
||||
if (bci->transceiver != NULL) {
|
||||
bci->usb_nb.notifier_call = twl4030_bci_usb_ncb;
|
||||
usb_register_notifier(bci->transceiver, &bci->usb_nb);
|
||||
|
|
|
|||
Loading…
Reference in a new issue