USB: musb: omap2430: drop non-DT support
authorJohan Hovold <johan@kernel.org>
Wed, 18 Apr 2018 09:26:22 +0000 (11:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 22 Apr 2018 13:58:23 +0000 (15:58 +0200)
Drop support for non-DT systems, which hasn't been used by a mainline
kernel since commit 9080b8dc761a ("ARM: OMAP2+: Remove legacy usb-host.c
platform init code"). Specifically, since that commit usb_get_phy_dev()
have always returned -ENODEV when looking up a legacy phy, something
which in turn would have led to the init callback returning
-EPROBE_DEFER indefinitely.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/musb/omap2430.c

index 5d70593..3dd6e1c 100644 (file)
@@ -239,21 +239,15 @@ static int omap2430_musb_init(struct musb *musb)
         * up through ULPI.  TWL4030-family PMICs include one,
         * which needs a driver, drivers aren't always needed.
         */
-       if (dev->parent->of_node) {
-               musb->phy = devm_phy_get(dev->parent, "usb2-phy");
-
-               /* We can't totally remove musb->xceiv as of now because
-                * musb core uses xceiv.state and xceiv.otg. Once we have
-                * a separate state machine to handle otg, these can be moved
-                * out of xceiv and then we can start using the generic PHY
-                * framework
-                */
-               musb->xceiv = devm_usb_get_phy_by_phandle(dev->parent,
-                   "usb-phy", 0);
-       } else {
-               musb->xceiv = devm_usb_get_phy_dev(dev, 0);
-               musb->phy = devm_phy_get(dev, "usb");
-       }
+       musb->phy = devm_phy_get(dev->parent, "usb2-phy");
+
+       /* We can't totally remove musb->xceiv as of now because
+        * musb core uses xceiv.state and xceiv.otg. Once we have
+        * a separate state machine to handle otg, these can be moved
+        * out of xceiv and then we can start using the generic PHY
+        * framework
+        */
+       musb->xceiv = devm_usb_get_phy_by_phandle(dev->parent, "usb-phy", 0);
 
        if (IS_ERR(musb->xceiv)) {
                status = PTR_ERR(musb->xceiv);
@@ -391,8 +385,13 @@ static int omap2430_probe(struct platform_device *pdev)
        struct omap2430_glue            *glue;
        struct device_node              *np = pdev->dev.of_node;
        struct musb_hdrc_config         *config;
+       struct device_node              *control_node;
+       struct platform_device          *control_pdev;
        int                             ret = -ENOMEM, val;
 
+       if (!np)
+               return -ENODEV;
+
        glue = devm_kzalloc(&pdev->dev, sizeof(*glue), GFP_KERNEL);
        if (!glue)
                goto err0;
@@ -412,47 +411,43 @@ static int omap2430_probe(struct platform_device *pdev)
        glue->status                    = MUSB_UNKNOWN;
        glue->control_otghs = ERR_PTR(-ENODEV);
 
-       if (np) {
-               struct device_node *control_node;
-               struct platform_device *control_pdev;
+       pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
+       if (!pdata)
+               goto err2;
 
-               pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
-               if (!pdata)
-                       goto err2;
+       data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
+       if (!data)
+               goto err2;
 
-               data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
-               if (!data)
-                       goto err2;
+       config = devm_kzalloc(&pdev->dev, sizeof(*config), GFP_KERNEL);
+       if (!config)
+               goto err2;
 
-               config = devm_kzalloc(&pdev->dev, sizeof(*config), GFP_KERNEL);
-               if (!config)
+       of_property_read_u32(np, "mode", (u32 *)&pdata->mode);
+       of_property_read_u32(np, "interface-type",
+                       (u32 *)&data->interface_type);
+       of_property_read_u32(np, "num-eps", (u32 *)&config->num_eps);
+       of_property_read_u32(np, "ram-bits", (u32 *)&config->ram_bits);
+       of_property_read_u32(np, "power", (u32 *)&pdata->power);
+
+       ret = of_property_read_u32(np, "multipoint", &val);
+       if (!ret && val)
+               config->multipoint = true;
+
+       pdata->board_data       = data;
+       pdata->config           = config;
+
+       control_node = of_parse_phandle(np, "ctrl-module", 0);
+       if (control_node) {
+               control_pdev = of_find_device_by_node(control_node);
+               if (!control_pdev) {
+                       dev_err(&pdev->dev, "Failed to get control device\n");
+                       ret = -EINVAL;
                        goto err2;
-
-               of_property_read_u32(np, "mode", (u32 *)&pdata->mode);
-               of_property_read_u32(np, "interface-type",
-                                               (u32 *)&data->interface_type);
-               of_property_read_u32(np, "num-eps", (u32 *)&config->num_eps);
-               of_property_read_u32(np, "ram-bits", (u32 *)&config->ram_bits);
-               of_property_read_u32(np, "power", (u32 *)&pdata->power);
-
-               ret = of_property_read_u32(np, "multipoint", &val);
-               if (!ret && val)
-                       config->multipoint = true;
-
-               pdata->board_data       = data;
-               pdata->config           = config;
-
-               control_node = of_parse_phandle(np, "ctrl-module", 0);
-               if (control_node) {
-                       control_pdev = of_find_device_by_node(control_node);
-                       if (!control_pdev) {
-                               dev_err(&pdev->dev, "Failed to get control device\n");
-                               ret = -EINVAL;
-                               goto err2;
-                       }
-                       glue->control_otghs = &control_pdev->dev;
                }
+               glue->control_otghs = &control_pdev->dev;
        }
+
        pdata->platform_ops             = &omap2430_ops;
 
        platform_set_drvdata(pdev, glue);