[2/4] dt-bindings: usb: Convert multiple "usb-ohci" bindings to DT schema

Message ID 20230110-dt-usb-v1-2-8e366e326513@kernel.org
State New
Headers
Series dt-bindings: usb: Convert some more simple OHCI/EHCI bindings |

Commit Message

Rob Herring Jan. 10, 2023, 11:17 p.m. UTC
  "usb-ohci" is another "generic" OHCI controller compatible string used by
several platforms. Add it to the generic-ohci.yaml schema and remove all
the old binding docs.

Marvell pxa-usb.txt has "usb-ohci" in the example, but actual users don't,
so drop it.

Signed-off-by: Rob Herring <robh@kernel.org>
---
 .../devicetree/bindings/powerpc/nintendo/wii.txt   | 10 -------
 .../devicetree/bindings/usb/generic-ohci.yaml      | 31 ++++++++++++++++---
 Documentation/devicetree/bindings/usb/ohci-nxp.txt | 24 ---------------
 .../devicetree/bindings/usb/ohci-omap3.txt         | 15 ----------
 Documentation/devicetree/bindings/usb/pxa-usb.txt  |  2 +-
 .../devicetree/bindings/usb/spear-usb.txt          | 35 ----------------------
 6 files changed, 28 insertions(+), 89 deletions(-)
  

Comments

Rob Herring Jan. 10, 2023, 11:23 p.m. UTC | #1
On Tue, Jan 10, 2023 at 5:18 PM Rob Herring <robh@kernel.org> wrote:
>
> "usb-ohci" is another "generic" OHCI controller compatible string used by
> several platforms. Add it to the generic-ohci.yaml schema and remove all
> the old binding docs.
>
> Marvell pxa-usb.txt has "usb-ohci" in the example, but actual users don't,
> so drop it.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  .../devicetree/bindings/powerpc/nintendo/wii.txt   | 10 -------
>  .../devicetree/bindings/usb/generic-ohci.yaml      | 31 ++++++++++++++++---
>  Documentation/devicetree/bindings/usb/ohci-nxp.txt | 24 ---------------
>  .../devicetree/bindings/usb/ohci-omap3.txt         | 15 ----------
>  Documentation/devicetree/bindings/usb/pxa-usb.txt  |  2 +-
>  .../devicetree/bindings/usb/spear-usb.txt          | 35 ----------------------
>  6 files changed, 28 insertions(+), 89 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt b/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt
> index c4d78f28d23c..3ff6ebbb4998 100644
> --- a/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt
> +++ b/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt
> @@ -97,16 +97,6 @@ Nintendo Wii device tree
>     - reg : should contain the EXI registers location and length
>     - interrupts : should contain the EXI interrupt
>
> -1.g) The Open Host Controller Interface (OHCI) nodes
> -
> -  Represent the USB 1.x Open Host Controller Interfaces.
> -
> -  Required properties:
> -
> -   - compatible : should be "nintendo,hollywood-usb-ohci","usb-ohci"
> -   - reg : should contain the OHCI registers location and length
> -   - interrupts : should contain the OHCI interrupt
> -
>  1.h) The Enhanced Host Controller Interface (EHCI) node
>
>    Represents the USB 2.0 Enhanced Host Controller Interface.
> diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
> index 4fcbd0add49d..b898303381f8 100644
> --- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
> +++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
> @@ -6,9 +6,6 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
>
>  title: USB OHCI Controller
>
> -allOf:
> -  - $ref: "usb-hcd.yaml"
> -
>  maintainers:
>    - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> @@ -49,7 +46,16 @@ properties:
>                - ingenic,jz4740-ohci
>                - snps,hsdk-v1.0-ohci
>            - const: generic-ohci
> -      - const: generic-ohci
> +      - enum:
> +          - generic-ohci
> +          - ti,ohci-omap3
> +      - items:
> +          - enum:
> +              - cavium,octeon-6335-ohci
> +              - nintendo,hollywood-usb-ohci
> +              - nxp,ohci-nxp
> +              - st,spear600-ohci
> +          - const: usb-ohci
>
>    reg:
>      maxItems: 1
> @@ -119,11 +125,28 @@ properties:
>        - host
>        - otg
>
> +  transceiver:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description:
> +      The associated ISP1301 device. Necessary for the UDC controller for
> +      connecting to the USB physical layer.
> +
>  required:
>    - compatible
>    - reg
>    - interrupts
>
> +allOf:
> +  - $ref: usb-hcd.yaml
> +  - if:
> +      not:
> +        properties:
> +          compatible:
> +            contains:
> +              const: nxp,ohci-nxp
> +    then:

Sigh. Need a 'properties' in here...

> +      transceiver: false
> +
>  additionalProperties: false
>
>  examples:
> diff --git a/Documentation/devicetree/bindings/usb/ohci-nxp.txt b/Documentation/devicetree/bindings/usb/ohci-nxp.txt
> deleted file mode 100644
> index 71e28c1017ed..000000000000
> --- a/Documentation/devicetree/bindings/usb/ohci-nxp.txt
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -* OHCI controller, NXP ohci-nxp variant
> -
> -Required properties:
> -- compatible: must be "nxp,ohci-nxp"
> -- reg: physical base address of the controller and length of memory mapped
> -  region.
> -- interrupts: The OHCI interrupt
> -- transceiver: phandle of the associated ISP1301 device - this is necessary for
> -               the UDC controller for connecting to the USB physical layer
> -
> -Example (LPC32xx):
> -
> -       isp1301: usb-transceiver@2c {
> -               compatible = "nxp,isp1301";
> -               reg = <0x2c>;
> -       };
> -
> -       ohci@31020000 {
> -               compatible = "nxp,ohci-nxp";
> -               reg = <0x31020000 0x300>;
> -               interrupt-parent = <&mic>;
> -               interrupts = <0x3b 0>;
> -               transceiver = <&isp1301>;
> -       };
> diff --git a/Documentation/devicetree/bindings/usb/ohci-omap3.txt b/Documentation/devicetree/bindings/usb/ohci-omap3.txt
> deleted file mode 100644
> index ce8c47cff6d0..000000000000
> --- a/Documentation/devicetree/bindings/usb/ohci-omap3.txt
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -OMAP HS USB OHCI controller (OMAP3 and later)
> -
> -Required properties:
> -
> -- compatible: should be "ti,ohci-omap3"
> -- reg: should contain one register range i.e. start and length
> -- interrupts: description of the interrupt line
> -
> -Example for OMAP4:
> -
> -usbhsohci: ohci@4a064800 {
> -       compatible = "ti,ohci-omap3";
> -       reg = <0x4a064800 0x400>;
> -       interrupts = <0 76 0x4>;
> -};
> diff --git a/Documentation/devicetree/bindings/usb/pxa-usb.txt b/Documentation/devicetree/bindings/usb/pxa-usb.txt
> index 9c331799b87c..53fdae4fa6f6 100644
> --- a/Documentation/devicetree/bindings/usb/pxa-usb.txt
> +++ b/Documentation/devicetree/bindings/usb/pxa-usb.txt
> @@ -22,7 +22,7 @@ Optional properties:
>  Example:
>
>         usb0: ohci@4c000000 {
> -               compatible = "marvell,pxa-ohci", "usb-ohci";
> +               compatible = "marvell,pxa-ohci";
>                 reg = <0x4c000000 0x100000>;
>                 interrupts = <18>;
>                 marvell,enable-port1;
> diff --git a/Documentation/devicetree/bindings/usb/spear-usb.txt b/Documentation/devicetree/bindings/usb/spear-usb.txt
> deleted file mode 100644
> index 1dc91cc459c0..000000000000
> --- a/Documentation/devicetree/bindings/usb/spear-usb.txt
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -ST SPEAr SoC USB controllers:
> ------------------------------
> -
> -EHCI:
> ------
> -
> -Required properties:
> -- compatible: "st,spear600-ehci"
> -- interrupts: Should contain the EHCI interrupt
> -
> -Example:
> -
> -       ehci@e1800000 {
> -               compatible = "st,spear600-ehci", "usb-ehci";
> -               reg = <0xe1800000 0x1000>;
> -               interrupt-parent = <&vic1>;
> -               interrupts = <27>;
> -       };
> -
> -
> -OHCI:
> ------
> -
> -Required properties:
> -- compatible: "st,spear600-ohci"
> -- interrupts: Should contain the OHCI interrupt
> -
> -Example:
> -
> -       ohci@e1900000 {
> -               compatible = "st,spear600-ohci", "usb-ohci";
> -               reg = <0xe1800000 0x1000>;
> -               interrupt-parent = <&vic1>;
> -               interrupts = <26>;
> -       };
>
> --
> 2.39.0
>
  
kernel test robot Jan. 11, 2023, 8:15 a.m. UTC | #2
Hi Rob,

I love your patch! Perhaps something to improve:

[auto build test WARNING on 1b929c02afd37871d5afb9d498426f83432e71c2]

url:    https://github.com/intel-lab-lkp/linux/commits/Rob-Herring/dt-bindings-usb-Remove-obsolete-brcm-bcm3384-usb-txt/20230111-072007
base:   1b929c02afd37871d5afb9d498426f83432e71c2
patch link:    https://lore.kernel.org/r/20230110-dt-usb-v1-2-8e366e326513%40kernel.org
patch subject: [PATCH 2/4] dt-bindings: usb: Convert multiple "usb-ohci" bindings to DT schema
reproduce:
        # https://github.com/intel-lab-lkp/linux/commit/ba91c0f61e446a9bc5008e2cc562727f6300da4e
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Rob-Herring/dt-bindings-usb-Remove-obsolete-brcm-bcm3384-usb-txt/20230111-072007
        git checkout ba91c0f61e446a9bc5008e2cc562727f6300da4e
        make menuconfig
        # enable CONFIG_COMPILE_TEST, CONFIG_WARN_MISSING_DOCUMENTS, CONFIG_WARN_ABI_ERRORS
        make htmldocs

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> Warning: Documentation/devicetree/bindings/mfd/omap-usb-host.txt references a file that doesn't exist: Documentation/devicetree/bindings/usb/ohci-omap3.txt
  

Patch

diff --git a/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt b/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt
index c4d78f28d23c..3ff6ebbb4998 100644
--- a/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt
+++ b/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt
@@ -97,16 +97,6 @@  Nintendo Wii device tree
    - reg : should contain the EXI registers location and length
    - interrupts : should contain the EXI interrupt
 
-1.g) The Open Host Controller Interface (OHCI) nodes
-
-  Represent the USB 1.x Open Host Controller Interfaces.
-
-  Required properties:
-
-   - compatible : should be "nintendo,hollywood-usb-ohci","usb-ohci"
-   - reg : should contain the OHCI registers location and length
-   - interrupts : should contain the OHCI interrupt
-
 1.h) The Enhanced Host Controller Interface (EHCI) node
 
   Represents the USB 2.0 Enhanced Host Controller Interface.
diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
index 4fcbd0add49d..b898303381f8 100644
--- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
@@ -6,9 +6,6 @@  $schema: http://devicetree.org/meta-schemas/core.yaml#
 
 title: USB OHCI Controller
 
-allOf:
-  - $ref: "usb-hcd.yaml"
-
 maintainers:
   - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
@@ -49,7 +46,16 @@  properties:
               - ingenic,jz4740-ohci
               - snps,hsdk-v1.0-ohci
           - const: generic-ohci
-      - const: generic-ohci
+      - enum:
+          - generic-ohci
+          - ti,ohci-omap3
+      - items:
+          - enum:
+              - cavium,octeon-6335-ohci
+              - nintendo,hollywood-usb-ohci
+              - nxp,ohci-nxp
+              - st,spear600-ohci
+          - const: usb-ohci
 
   reg:
     maxItems: 1
@@ -119,11 +125,28 @@  properties:
       - host
       - otg
 
+  transceiver:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    description:
+      The associated ISP1301 device. Necessary for the UDC controller for
+      connecting to the USB physical layer.
+
 required:
   - compatible
   - reg
   - interrupts
 
+allOf:
+  - $ref: usb-hcd.yaml
+  - if:
+      not:
+        properties:
+          compatible:
+            contains:
+              const: nxp,ohci-nxp
+    then:
+      transceiver: false
+
 additionalProperties: false
 
 examples:
diff --git a/Documentation/devicetree/bindings/usb/ohci-nxp.txt b/Documentation/devicetree/bindings/usb/ohci-nxp.txt
deleted file mode 100644
index 71e28c1017ed..000000000000
--- a/Documentation/devicetree/bindings/usb/ohci-nxp.txt
+++ /dev/null
@@ -1,24 +0,0 @@ 
-* OHCI controller, NXP ohci-nxp variant
-
-Required properties:
-- compatible: must be "nxp,ohci-nxp"
-- reg: physical base address of the controller and length of memory mapped
-  region.
-- interrupts: The OHCI interrupt
-- transceiver: phandle of the associated ISP1301 device - this is necessary for
-               the UDC controller for connecting to the USB physical layer
-
-Example (LPC32xx):
-
-	isp1301: usb-transceiver@2c {
-		compatible = "nxp,isp1301";
-		reg = <0x2c>;
-	};
-
-	ohci@31020000 {
-		compatible = "nxp,ohci-nxp";
-		reg = <0x31020000 0x300>;
-		interrupt-parent = <&mic>;
-		interrupts = <0x3b 0>;
-		transceiver = <&isp1301>;
-	};
diff --git a/Documentation/devicetree/bindings/usb/ohci-omap3.txt b/Documentation/devicetree/bindings/usb/ohci-omap3.txt
deleted file mode 100644
index ce8c47cff6d0..000000000000
--- a/Documentation/devicetree/bindings/usb/ohci-omap3.txt
+++ /dev/null
@@ -1,15 +0,0 @@ 
-OMAP HS USB OHCI controller (OMAP3 and later)
-
-Required properties:
-
-- compatible: should be "ti,ohci-omap3"
-- reg: should contain one register range i.e. start and length
-- interrupts: description of the interrupt line
-
-Example for OMAP4:
-
-usbhsohci: ohci@4a064800 {
-	compatible = "ti,ohci-omap3";
-	reg = <0x4a064800 0x400>;
-	interrupts = <0 76 0x4>;
-};
diff --git a/Documentation/devicetree/bindings/usb/pxa-usb.txt b/Documentation/devicetree/bindings/usb/pxa-usb.txt
index 9c331799b87c..53fdae4fa6f6 100644
--- a/Documentation/devicetree/bindings/usb/pxa-usb.txt
+++ b/Documentation/devicetree/bindings/usb/pxa-usb.txt
@@ -22,7 +22,7 @@  Optional properties:
 Example:
 
 	usb0: ohci@4c000000 {
-		compatible = "marvell,pxa-ohci", "usb-ohci";
+		compatible = "marvell,pxa-ohci";
 		reg = <0x4c000000 0x100000>;
 		interrupts = <18>;
 		marvell,enable-port1;
diff --git a/Documentation/devicetree/bindings/usb/spear-usb.txt b/Documentation/devicetree/bindings/usb/spear-usb.txt
deleted file mode 100644
index 1dc91cc459c0..000000000000
--- a/Documentation/devicetree/bindings/usb/spear-usb.txt
+++ /dev/null
@@ -1,35 +0,0 @@ 
-ST SPEAr SoC USB controllers:
------------------------------
-
-EHCI:
------
-
-Required properties:
-- compatible: "st,spear600-ehci"
-- interrupts: Should contain the EHCI interrupt
-
-Example:
-
-	ehci@e1800000 {
-		compatible = "st,spear600-ehci", "usb-ehci";
-		reg = <0xe1800000 0x1000>;
-		interrupt-parent = <&vic1>;
-		interrupts = <27>;
-	};
-
-
-OHCI:
------
-
-Required properties:
-- compatible: "st,spear600-ohci"
-- interrupts: Should contain the OHCI interrupt
-
-Example:
-
-	ohci@e1900000 {
-		compatible = "st,spear600-ohci", "usb-ohci";
-		reg = <0xe1800000 0x1000>;
-		interrupt-parent = <&vic1>;
-		interrupts = <26>;
-	};