ohci-platform: Change compatible string from usb-ohci to generic-ohci
authorHans de Goede <hdegoede@redhat.com>
Tue, 11 Feb 2014 16:35:28 +0000 (17:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Feb 2014 21:39:54 +0000 (13:39 -0800)
The initial versions of the devicetree enablement patches for ohci-platform
used "ohci-platform" as compatible string. However this was disliked by various
reviewers because the platform bus is a Linux invention and devicetree is
supposed to be OS agnostic. After much discussion I gave up and went with
the generic usb-ohci as requested.

In retro-spect I should have chosen something different, the dts files for many
existing boards already claim to be compatible with "usb-ohci", ie they have:

compatible = "ti,ohci-omap3", "usb-ohci";

In theory this should not be a problem since the "ti,ohci-omap3" entry takes
presedence, but in practice using a conflicting compatible string is an issue,
because it makes which driver gets used depend on driver registration order.

This patch changes the compatible string claimed by ohci-platform to
"generic-ohci", avoiding the driver registration / module loading ordering
problems.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Tested-by: Kevin Hilman <khilman@linaro.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/usb/usb-ohci.txt
drivers/usb/host/ohci-platform.c

index 6933b0c6487d1ed85e0b14f587b5a17847c060c9..45f67d91e8882dd417e93ea261548aff5ce2060e 100644 (file)
@@ -1,7 +1,7 @@
 USB OHCI controllers
 
 Required properties:
-- compatible : "usb-ohci"
+- compatible : "generic-ohci"
 - reg : ohci controller register range (address and length)
 - interrupts : ohci controller interrupt
 
@@ -16,7 +16,7 @@ Optional properties:
 Example:
 
        ohci0: usb@01c14400 {
-               compatible = "allwinner,sun4i-a10-ohci", "usb-ohci";
+               compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
                reg = <0x01c14400 0x100>;
                interrupts = <64>;
                clocks = <&usb_clk 6>, <&ahb_gates 2>;
index e2c28fd03484c98f8d86e1a2c43b6fed9fa23755..b6ca0b25259adef55351d489c3055c3aa2728c26 100644 (file)
@@ -319,7 +319,7 @@ static int ohci_platform_resume(struct device *dev)
 #endif /* CONFIG_PM */
 
 static const struct of_device_id ohci_platform_ids[] = {
-       { .compatible = "usb-ohci", },
+       { .compatible = "generic-ohci", },
        { }
 };
 MODULE_DEVICE_TABLE(of, ohci_platform_ids);