usb: dwc2: host: register handle to the phy
authorMian Yousaf Kaukab <yousaf.kaukab@intel.com>
Wed, 29 Apr 2015 20:09:12 +0000 (22:09 +0200)
committerFelipe Balbi <balbi@ti.com>
Wed, 29 Apr 2015 20:19:39 +0000 (15:19 -0500)
If phy driver is present register hcd handle to it.

Acked-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@intel.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc2/hcd.c

index 8757f62cc6e554f36eb4054bfc70428e6c3c4d45..1875f7ad8497938fcd5a646272ab7705fcb7dd58 100644 (file)
@@ -2913,6 +2913,9 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg, int irq)
        /* Don't support SG list at this point */
        hcd->self.sg_tablesize = 0;
 
+       if (!IS_ERR_OR_NULL(hsotg->uphy))
+               otg_set_host(hsotg->uphy->otg, &hcd->self);
+
        /*
         * Finish generic HCD initialization and start the HCD. This function
         * allocates the DMA buffer pool, registers the USB bus, requests the
@@ -2966,6 +2969,9 @@ void dwc2_hcd_remove(struct dwc2_hsotg *hsotg)
                return;
        }
 
+       if (!IS_ERR_OR_NULL(hsotg->uphy))
+               otg_set_host(hsotg->uphy->otg, NULL);
+
        usb_remove_hcd(hcd);
        hsotg->priv = NULL;
        dwc2_hcd_release(hsotg);