Re: [PATCH] mfd: omap-usb-host: Fix dts probe of children
From: Roger Quadros
Date: Thu Apr 26 2018 - 06:25:58 EST
On 25/04/18 17:29, Tony Lindgren wrote:
> It currently only works if the parent bus uses "simple-bus". We
> currently try to probe children with non-existing compatible values.
> And we're missing .probe.
>
> I noticed this while testing devices configured to probe using ti-sysc
> interconnect target module driver. For that we also may want to rebind
> the driver, so let's remove __init and __exit.
>
> Cc: Roger Quadros <rogerq@xxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
Acked-by: Roger Quadros <rogerq@xxxxxx>
> ---
>
> This is OK to wait for v4.18 merge window as the related dts node has
> not yet been updated to probe via ti-sysc interconnect target driver.
>
> ---
> drivers/mfd/omap-usb-host.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c
> --- a/drivers/mfd/omap-usb-host.c
> +++ b/drivers/mfd/omap-usb-host.c
> @@ -548,8 +548,8 @@ static int usbhs_omap_get_dt_pdata(struct device *dev,
> }
>
> static const struct of_device_id usbhs_child_match_table[] = {
> - { .compatible = "ti,omap-ehci", },
> - { .compatible = "ti,omap-ohci", },
> + { .compatible = "ti,ehci-omap", },
> + { .compatible = "ti,ohci-omap3", },
> { }
> };
>
> @@ -875,6 +875,7 @@ static struct platform_driver usbhs_omap_driver = {
> .pm = &usbhsomap_dev_pm_ops,
> .of_match_table = usbhs_omap_dt_ids,
> },
> + .probe = usbhs_omap_probe,
> .remove = usbhs_omap_remove,
> };
>
> @@ -884,9 +885,9 @@ MODULE_ALIAS("platform:" USBHS_DRIVER_NAME);
> MODULE_LICENSE("GPL v2");
> MODULE_DESCRIPTION("usb host common core driver for omap EHCI and OHCI");
>
> -static int __init omap_usbhs_drvinit(void)
> +static int omap_usbhs_drvinit(void)
> {
> - return platform_driver_probe(&usbhs_omap_driver, usbhs_omap_probe);
> + return platform_driver_register(&usbhs_omap_driver);
> }
>
> /*
> @@ -898,7 +899,7 @@ static int __init omap_usbhs_drvinit(void)
> */
> fs_initcall_sync(omap_usbhs_drvinit);
>
> -static void __exit omap_usbhs_drvexit(void)
> +static void omap_usbhs_drvexit(void)
> {
> platform_driver_unregister(&usbhs_omap_driver);
> }
>
--
cheers,
-roger
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki