aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/otg
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2012-07-19 06:38:06 -0400
committerFelipe Balbi <balbi@ti.com>2012-08-03 02:36:19 -0400
commitc84d364f8178d2bc12827836bf58eb45598262a4 (patch)
treebc12127c693bc537ea280a9bb84c38b4a01b74c4 /drivers/usb/otg
parent78c289f8769aaefcc52d26ca53c8b2ee545fb332 (diff)
usb: xceiv: nop: let it work as USB2 and USB3 phy
We add a platform_data to pass the desired mode for the nop-xceiv so it can work on USB2 and USB3 modes. Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/otg')
-rw-r--r--drivers/usb/otg/nop-usb-xceiv.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/otg/nop-usb-xceiv.c b/drivers/usb/otg/nop-usb-xceiv.c
index 3c3ad6bb307c..e52e35e7adaf 100644
--- a/drivers/usb/otg/nop-usb-xceiv.c
+++ b/drivers/usb/otg/nop-usb-xceiv.c
@@ -95,7 +95,9 @@ static int nop_set_host(struct usb_otg *otg, struct usb_bus *host)
95 95
96static int __devinit nop_usb_xceiv_probe(struct platform_device *pdev) 96static int __devinit nop_usb_xceiv_probe(struct platform_device *pdev)
97{ 97{
98 struct nop_usb_xceiv_platform_data *pdata = pdev->dev.platform_data;
98 struct nop_usb_xceiv *nop; 99 struct nop_usb_xceiv *nop;
100 enum usb_phy_type type = USB_PHY_TYPE_USB2;
99 int err; 101 int err;
100 102
101 nop = kzalloc(sizeof *nop, GFP_KERNEL); 103 nop = kzalloc(sizeof *nop, GFP_KERNEL);
@@ -108,6 +110,9 @@ static int __devinit nop_usb_xceiv_probe(struct platform_device *pdev)
108 return -ENOMEM; 110 return -ENOMEM;
109 } 111 }
110 112
113 if (pdata)
114 type = pdata->type;
115
111 nop->dev = &pdev->dev; 116 nop->dev = &pdev->dev;
112 nop->phy.dev = nop->dev; 117 nop->phy.dev = nop->dev;
113 nop->phy.label = "nop-xceiv"; 118 nop->phy.label = "nop-xceiv";
@@ -118,7 +123,7 @@ static int __devinit nop_usb_xceiv_probe(struct platform_device *pdev)
118 nop->phy.otg->set_host = nop_set_host; 123 nop->phy.otg->set_host = nop_set_host;
119 nop->phy.otg->set_peripheral = nop_set_peripheral; 124 nop->phy.otg->set_peripheral = nop_set_peripheral;
120 125
121 err = usb_add_phy(&nop->phy, USB_PHY_TYPE_USB2); 126 err = usb_add_phy(&nop->phy, type);
122 if (err) { 127 if (err) {
123 dev_err(&pdev->dev, "can't register transceiver, err: %d\n", 128 dev_err(&pdev->dev, "can't register transceiver, err: %d\n",
124 err); 129 err);