lkml.org 
[lkml]   [2014]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 3/6] usb: dwc3: dwc3-omap: Add dwc3_omap_set_utmi_mode() function
    Date
    Move find and set the utmi mode to its own seperate function.
    Improve code readability, decrease the dwc3_probe() size.

    Signed-off-by: George Cherian <george.cherian@ti.com>
    ---
    drivers/usb/dwc3/dwc3-omap.c | 44 +++++++++++++++++++++++++-------------------
    1 file changed, 25 insertions(+), 19 deletions(-)

    diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
    index 0df8adf..2223ab8 100644
    --- a/drivers/usb/dwc3/dwc3-omap.c
    +++ b/drivers/usb/dwc3/dwc3-omap.c
    @@ -396,6 +396,30 @@ static void dwc3_omap_map_offset(struct dwc3_omap *omap)
    }
    }

    +static void dwc3_omap_set_utmi_mode(struct dwc3_omap *omap)
    +{
    + u32 reg;
    + struct device_node *node = omap->dev->of_node;
    + int utmi_mode = 0;
    +
    + reg = dwc3_omap_read_utmi_status(omap);
    +
    + of_property_read_u32(node, "utmi-mode", &utmi_mode);
    +
    + switch (utmi_mode) {
    + case DWC3_OMAP_UTMI_MODE_SW:
    + reg |= USBOTGSS_UTMI_OTG_STATUS_SW_MODE;
    + break;
    + case DWC3_OMAP_UTMI_MODE_HW:
    + reg &= ~USBOTGSS_UTMI_OTG_STATUS_SW_MODE;
    + break;
    + default:
    + dev_dbg(omap->dev, "UNKNOWN utmi mode %d\n", utmi_mode);
    + }
    +
    + dwc3_omap_write_utmi_status(omap, reg);
    +}
    +
    static int dwc3_omap_probe(struct platform_device *pdev)
    {
    struct device_node *node = pdev->dev.of_node;
    @@ -409,8 +433,6 @@ static int dwc3_omap_probe(struct platform_device *pdev)
    int ret = -ENOMEM;
    int irq;

    - int utmi_mode = 0;
    -
    u32 reg;

    void __iomem *base;
    @@ -461,23 +483,7 @@ static int dwc3_omap_probe(struct platform_device *pdev)
    }

    dwc3_omap_map_offset(omap);
    -
    - reg = dwc3_omap_read_utmi_status(omap);
    -
    - of_property_read_u32(node, "utmi-mode", &utmi_mode);
    -
    - switch (utmi_mode) {
    - case DWC3_OMAP_UTMI_MODE_SW:
    - reg |= USBOTGSS_UTMI_OTG_STATUS_SW_MODE;
    - break;
    - case DWC3_OMAP_UTMI_MODE_HW:
    - reg &= ~USBOTGSS_UTMI_OTG_STATUS_SW_MODE;
    - break;
    - default:
    - dev_dbg(dev, "UNKNOWN utmi mode %d\n", utmi_mode);
    - }
    -
    - dwc3_omap_write_utmi_status(omap, reg);
    + dwc3_omap_set_utmi_mode(omap);

    /* check the DMA Status */
    reg = dwc3_omap_readl(omap->base, USBOTGSS_SYSCONFIG);
    --
    1.8.3.1


    \
     
     \ /
      Last update: 2014-05-19 12:21    [W:2.412 / U:0.620 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site