summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorChao Xie <chao.xie@marvell.com>2013-01-24 01:38:30 -0500
committerFelipe Balbi <balbi@ti.com>2013-01-24 21:11:34 +0200
commit449d04a977f63e6218d88312f9bd3cb53fb5d30b (patch)
tree8e0eef406184057c7bf15c78e547fdaaa4a7c259 /drivers/usb
parentab592a74a5519d9de2af3003a721cfe0c6684b8a (diff)
downloadblackbird-op-linux-449d04a977f63e6218d88312f9bd3cb53fb5d30b.tar.gz
blackbird-op-linux-449d04a977f63e6218d88312f9bd3cb53fb5d30b.zip
usb: gadget: mv_udc: fix the value of tranceiver
usally we will use udc->tranceiver == NULL or udc->tranceiver != NULL. So when failed to get the udc->tranceiver by usb_get_phy(), we directly set udc->tranceiver to be NULL. Then the source code will not need macro IS_ERR_OR_NULL() for udc->tranceiver judgement. It can reduce the line size and make the judgement simple. Signed-off-by: Chao Xie <chao.xie@marvell.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/mv_udc_core.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/usb/gadget/mv_udc_core.c b/drivers/usb/gadget/mv_udc_core.c
index ba6b4fbaad09..67d72f97a09b 100644
--- a/drivers/usb/gadget/mv_udc_core.c
+++ b/drivers/usb/gadget/mv_udc_core.c
@@ -1394,7 +1394,7 @@ static int mv_udc_start(struct usb_gadget *gadget,
spin_unlock_irqrestore(&udc->lock, flags);
- if (!IS_ERR_OR_NULL(udc->transceiver)) {
+ if (udc->transceiver) {
retval = otg_set_peripheral(udc->transceiver->otg,
&udc->gadget);
if (retval) {
@@ -2174,9 +2174,14 @@ static int mv_udc_probe(struct platform_device *pdev)
udc->dev = pdev;
#ifdef CONFIG_USB_OTG_UTILS
- if (pdata->mode == MV_USB_MODE_OTG)
+ if (pdata->mode == MV_USB_MODE_OTG) {
udc->transceiver = devm_usb_get_phy(&pdev->dev,
USB_PHY_TYPE_USB2);
+ if (IS_ERR_OR_NULL(udc->transceiver)) {
+ udc->transceiver = NULL;
+ return -ENODEV;
+ }
+ }
#endif
udc->clknum = pdata->clknum;
@@ -2319,7 +2324,7 @@ static int mv_udc_probe(struct platform_device *pdev)
eps_init(udc);
/* VBUS detect: we can disable/enable clock on demand.*/
- if (!IS_ERR_OR_NULL(udc->transceiver))
+ if (udc->transceiver)
udc->clock_gating = 1;
else if (pdata->vbus) {
udc->clock_gating = 1;
@@ -2386,7 +2391,7 @@ static int mv_udc_suspend(struct device *dev)
udc = dev_get_drvdata(dev);
/* if OTG is enabled, the following will be done in OTG driver*/
- if (!IS_ERR_OR_NULL(udc->transceiver))
+ if (udc->transceiver)
return 0;
if (udc->pdata->vbus && udc->pdata->vbus->poll)
@@ -2421,7 +2426,7 @@ static int mv_udc_resume(struct device *dev)
udc = dev_get_drvdata(dev);
/* if OTG is enabled, the following will be done in OTG driver*/
- if (!IS_ERR_OR_NULL(udc->transceiver))
+ if (udc->transceiver)
return 0;
if (!udc->clock_gating) {
OpenPOWER on IntegriCloud