USB: musb: omap2430: drop non-DT support

Drop support for non-DT systems, which hasn't been used by a mainline
kernel since commit 9080b8dc76 ("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>
This commit is contained in:
Johan Hovold 2018-04-18 11:26:22 +02:00 коммит произвёл Greg Kroah-Hartman
Родитель e90308a65c
Коммит 5ee1787e5e
1 изменённых файлов: 46 добавлений и 51 удалений

Просмотреть файл

@ -239,21 +239,15 @@ static int omap2430_musb_init(struct musb *musb)
* up through ULPI. TWL4030-family PMICs include one, * up through ULPI. TWL4030-family PMICs include one,
* which needs a driver, drivers aren't always needed. * which needs a driver, drivers aren't always needed.
*/ */
if (dev->parent->of_node) { musb->phy = devm_phy_get(dev->parent, "usb2-phy");
musb->phy = devm_phy_get(dev->parent, "usb2-phy");
/* We can't totally remove musb->xceiv as of now because /* We can't totally remove musb->xceiv as of now because
* musb core uses xceiv.state and xceiv.otg. Once we have * musb core uses xceiv.state and xceiv.otg. Once we have
* a separate state machine to handle otg, these can be moved * a separate state machine to handle otg, these can be moved
* out of xceiv and then we can start using the generic PHY * out of xceiv and then we can start using the generic PHY
* framework * framework
*/ */
musb->xceiv = devm_usb_get_phy_by_phandle(dev->parent, musb->xceiv = devm_usb_get_phy_by_phandle(dev->parent, "usb-phy", 0);
"usb-phy", 0);
} else {
musb->xceiv = devm_usb_get_phy_dev(dev, 0);
musb->phy = devm_phy_get(dev, "usb");
}
if (IS_ERR(musb->xceiv)) { if (IS_ERR(musb->xceiv)) {
status = PTR_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 omap2430_glue *glue;
struct device_node *np = pdev->dev.of_node; struct device_node *np = pdev->dev.of_node;
struct musb_hdrc_config *config; struct musb_hdrc_config *config;
struct device_node *control_node;
struct platform_device *control_pdev;
int ret = -ENOMEM, val; int ret = -ENOMEM, val;
if (!np)
return -ENODEV;
glue = devm_kzalloc(&pdev->dev, sizeof(*glue), GFP_KERNEL); glue = devm_kzalloc(&pdev->dev, sizeof(*glue), GFP_KERNEL);
if (!glue) if (!glue)
goto err0; goto err0;
@ -412,47 +411,43 @@ static int omap2430_probe(struct platform_device *pdev)
glue->status = MUSB_UNKNOWN; glue->status = MUSB_UNKNOWN;
glue->control_otghs = ERR_PTR(-ENODEV); glue->control_otghs = ERR_PTR(-ENODEV);
if (np) { pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
struct device_node *control_node; if (!pdata)
struct platform_device *control_pdev; goto err2;
pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
if (!pdata) if (!data)
goto err2;
config = devm_kzalloc(&pdev->dev, sizeof(*config), GFP_KERNEL);
if (!config)
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; 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;
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; pdata->platform_ops = &omap2430_ops;
platform_set_drvdata(pdev, glue); platform_set_drvdata(pdev, glue);