usb: dwc3: core: add dwc3_get_properties()
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Fri, 14 Oct 2016 13:30:52 +0000 (16:30 +0300)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Thu, 3 Nov 2016 08:38:35 +0000 (10:38 +0200)
This helper will be responsible for reading and
parsing our properties. No functional changes in
this patch, cleanup only.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/core.c

index 1f33abf..5e61ef6 100644 (file)
@@ -948,52 +948,13 @@ static void dwc3_core_exit_mode(struct dwc3 *dwc)
        }
 }
 
-static int dwc3_probe(struct platform_device *pdev)
+static void dwc3_get_properties(struct dwc3 *dwc)
 {
-       struct device           *dev = &pdev->dev;
-       struct resource         *res;
-       struct dwc3             *dwc;
+       struct device           *dev = dwc->dev;
        u8                      lpm_nyet_threshold;
        u8                      tx_de_emphasis;
        u8                      hird_threshold;
 
-       int                     ret;
-
-       void __iomem            *regs;
-
-       dwc = devm_kzalloc(dev, sizeof(*dwc), GFP_KERNEL);
-       if (!dwc)
-               return -ENOMEM;
-
-       dwc->dev = dev;
-
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res) {
-               dev_err(dev, "missing memory resource\n");
-               return -ENODEV;
-       }
-
-       dwc->xhci_resources[0].start = res->start;
-       dwc->xhci_resources[0].end = dwc->xhci_resources[0].start +
-                                       DWC3_XHCI_REGS_END;
-       dwc->xhci_resources[0].flags = res->flags;
-       dwc->xhci_resources[0].name = res->name;
-
-       res->start += DWC3_GLOBALS_REGS_START;
-
-       /*
-        * Request memory region but exclude xHCI regs,
-        * since it will be requested by the xhci-plat driver.
-        */
-       regs = devm_ioremap_resource(dev, res);
-       if (IS_ERR(regs)) {
-               ret = PTR_ERR(regs);
-               goto err0;
-       }
-
-       dwc->regs       = regs;
-       dwc->regs_size  = resource_size(res);
-
        /* default to highest possible threshold */
        lpm_nyet_threshold = 0xff;
 
@@ -1065,6 +1026,53 @@ static int dwc3_probe(struct platform_device *pdev)
        dwc->hird_threshold = hird_threshold
                | (dwc->is_utmi_l1_suspend << 4);
 
+}
+
+static int dwc3_probe(struct platform_device *pdev)
+{
+       struct device           *dev = &pdev->dev;
+       struct resource         *res;
+       struct dwc3             *dwc;
+
+       int                     ret;
+
+       void __iomem            *regs;
+
+       dwc = devm_kzalloc(dev, sizeof(*dwc), GFP_KERNEL);
+       if (!dwc)
+               return -ENOMEM;
+
+       dwc->dev = dev;
+
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       if (!res) {
+               dev_err(dev, "missing memory resource\n");
+               return -ENODEV;
+       }
+
+       dwc->xhci_resources[0].start = res->start;
+       dwc->xhci_resources[0].end = dwc->xhci_resources[0].start +
+                                       DWC3_XHCI_REGS_END;
+       dwc->xhci_resources[0].flags = res->flags;
+       dwc->xhci_resources[0].name = res->name;
+
+       res->start += DWC3_GLOBALS_REGS_START;
+
+       /*
+        * Request memory region but exclude xHCI regs,
+        * since it will be requested by the xhci-plat driver.
+        */
+       regs = devm_ioremap_resource(dev, res);
+       if (IS_ERR(regs)) {
+               ret = PTR_ERR(regs);
+               goto err0;
+       }
+
+       dwc->regs       = regs;
+       dwc->regs_size  = resource_size(res);
+
+       dwc3_get_properties(dwc);
+
        platform_set_drvdata(pdev, dwc);
        dwc3_cache_hwparams(dwc);