usb: dwc3: set 'mode' based on selected Kconfig choices
authorVivek Gautam <gautam.vivek@samsung.com>
Sat, 2 Mar 2013 13:25:24 +0000 (18:55 +0530)
committerFelipe Balbi <balbi@ti.com>
Mon, 18 Mar 2013 09:18:00 +0000 (11:18 +0200)
Now that machines may select dwc3's working mode (HOST only,
GADGET only or DUAL_ROLE) via Kconfig, let's set dwc3's mode
based on that, rather than fixing it to whatever hardware
says.

This way we can skip initializing Gadget/Host in case
we are using Host-only/Gadget-only mode respectively.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc3/core.c

index b81b335..c6a46e0 100644 (file)
@@ -479,7 +479,12 @@ static int dwc3_probe(struct platform_device *pdev)
                goto err1;
        }
 
-       mode = DWC3_MODE(dwc->hwparams.hwparams0);
+       if (IS_ENABLED(CONFIG_USB_DWC3_HOST))
+               mode = DWC3_MODE_HOST;
+       else if (IS_ENABLED(CONFIG_USB_DWC3_GADGET))
+               mode = DWC3_MODE_DEVICE;
+       else
+               mode = DWC3_MODE_DRD;
 
        switch (mode) {
        case DWC3_MODE_DEVICE: