RE: [PATCHv7 7/8] usb: dwc2: move usb_disabled() call to host driver only

From: Paul Zimmerman
Date: Fri Nov 14 2014 - 15:58:15 EST


> From: dinguyen@xxxxxxxxxxxxxxxxxxxxx [mailto:dinguyen@xxxxxxxxxxxxxxxxxxxxx]
> Sent: Tuesday, November 11, 2014 9:14 AM
>
> From: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
>
> Since platform.c will get built for both Host and Gadget, if we leave the
> usb_disabled() call in platform.c, it results in the following build error
> when (!USB && USB_GADGET) condition is met.
>
> ERROR: "usb_disabled" [drivers/usb/dwc2/dwc2_platform.ko] undefined!
>
> Since usb_disabled() is mostly used to disable USB host functionality, move
> the call the host portion for the DWC2 driver.
>
> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/usb/dwc2/hcd.c | 3 +++
> drivers/usb/dwc2/platform.c | 3 ---
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
> index fa60f4a..755e16b 100644
> --- a/drivers/usb/dwc2/hcd.c
> +++ b/drivers/usb/dwc2/hcd.c
> @@ -2780,6 +2780,9 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg, int irq,
> int i, num_channels;
> int retval;
>
> + if (usb_disabled())
> + return -ENODEV;
> +
> dev_dbg(hsotg->dev, "DWC OTG HCD INIT\n");
>
> /* Detect config values from hardware */
> diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
> index 3552602..57eb8a3 100644
> --- a/drivers/usb/dwc2/platform.c
> +++ b/drivers/usb/dwc2/platform.c
> @@ -157,9 +157,6 @@ static int dwc2_driver_probe(struct platform_device *dev)
> int retval;
> int irq;
>
> - if (usb_disabled())
> - return -ENODEV;
> -
> match = of_match_device(dwc2_of_match_table, &dev->dev);
> if (match && match->data) {
> params = match->data;

This patch also fixes a minor buglet, in that we were missing the
usb_disabled() check in pci.c.

Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/