diff options
author | Tony Lindgren <tony@atomide.com> | 2018-04-25 10:29:22 -0400 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2018-09-11 11:47:33 -0400 |
commit | 10492ee8ed9188d6d420e1f79b2b9bdbc0624e65 (patch) | |
tree | 7218217bc89e6ad92d5c5f23bd3e266e087c5d19 | |
parent | a318c2432218d3cd189ec8228b8a795666899c2a (diff) |
mfd: omap-usb-host: Fix dts probe of children
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.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
-rw-r--r-- | drivers/mfd/omap-usb-host.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/mfd/omap-usb-host.c b/drivers/mfd/omap-usb-host.c index e11ab12fbdf2..800986a79704 100644 --- a/drivers/mfd/omap-usb-host.c +++ b/drivers/mfd/omap-usb-host.c | |||
@@ -528,8 +528,8 @@ static int usbhs_omap_get_dt_pdata(struct device *dev, | |||
528 | } | 528 | } |
529 | 529 | ||
530 | static const struct of_device_id usbhs_child_match_table[] = { | 530 | static const struct of_device_id usbhs_child_match_table[] = { |
531 | { .compatible = "ti,omap-ehci", }, | 531 | { .compatible = "ti,ehci-omap", }, |
532 | { .compatible = "ti,omap-ohci", }, | 532 | { .compatible = "ti,ohci-omap3", }, |
533 | { } | 533 | { } |
534 | }; | 534 | }; |
535 | 535 | ||
@@ -855,6 +855,7 @@ static struct platform_driver usbhs_omap_driver = { | |||
855 | .pm = &usbhsomap_dev_pm_ops, | 855 | .pm = &usbhsomap_dev_pm_ops, |
856 | .of_match_table = usbhs_omap_dt_ids, | 856 | .of_match_table = usbhs_omap_dt_ids, |
857 | }, | 857 | }, |
858 | .probe = usbhs_omap_probe, | ||
858 | .remove = usbhs_omap_remove, | 859 | .remove = usbhs_omap_remove, |
859 | }; | 860 | }; |
860 | 861 | ||
@@ -864,9 +865,9 @@ MODULE_ALIAS("platform:" USBHS_DRIVER_NAME); | |||
864 | MODULE_LICENSE("GPL v2"); | 865 | MODULE_LICENSE("GPL v2"); |
865 | MODULE_DESCRIPTION("usb host common core driver for omap EHCI and OHCI"); | 866 | MODULE_DESCRIPTION("usb host common core driver for omap EHCI and OHCI"); |
866 | 867 | ||
867 | static int __init omap_usbhs_drvinit(void) | 868 | static int omap_usbhs_drvinit(void) |
868 | { | 869 | { |
869 | return platform_driver_probe(&usbhs_omap_driver, usbhs_omap_probe); | 870 | return platform_driver_register(&usbhs_omap_driver); |
870 | } | 871 | } |
871 | 872 | ||
872 | /* | 873 | /* |
@@ -878,7 +879,7 @@ static int __init omap_usbhs_drvinit(void) | |||
878 | */ | 879 | */ |
879 | fs_initcall_sync(omap_usbhs_drvinit); | 880 | fs_initcall_sync(omap_usbhs_drvinit); |
880 | 881 | ||
881 | static void __exit omap_usbhs_drvexit(void) | 882 | static void omap_usbhs_drvexit(void) |
882 | { | 883 | { |
883 | platform_driver_unregister(&usbhs_omap_driver); | 884 | platform_driver_unregister(&usbhs_omap_driver); |
884 | } | 885 | } |