usb: gadget: mv_udc: fix the value of tranceiver
authorChao Xie <chao.xie@marvell.com>
Thu, 24 Jan 2013 06:38:30 +0000 (01:38 -0500)
committerFelipe Balbi <balbi@ti.com>
Thu, 24 Jan 2013 19:11:34 +0000 (21:11 +0200)
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>
drivers/usb/gadget/mv_udc_core.c

index ba6b4fbaad09e24b763a978ee2bcf12ef01147ec..67d72f97a09b962f2e90d7be1fe7994600b461d7 100644 (file)
@@ -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) {