[PATCH v2] dt-bindings: gpio: fsl,qoriq-gpio: allow gpio-hog child nodes

Vincent Jardin <[email protected]>
Newsgroups org.kernel.feeds.b4-sent,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel
Message-ID <20260824-for-upstream-dt-qoriq-gpio-hog-v2-1-58bbc82b881e@free.fr>
The binding sets additionalProperties: false and describes no child nodes,
so a gpio-hog on a QorIQ/Layerscape GPIO controller is rejected by
dtbs_check as an unmatched node name, even though the hardware and the
kernel both support it.

Hogs are not a controller feature and need nothing from the driver:
gpio-mpc8xxx.c does not mention them at all. A hog on this controller
works today, only the schema rejects it.

QorIQ and Layerscape boards do need them. These SoCs bring board-level
reset, enable and mux-select lines out on the SoC GPIOs, and those lines
have to be driven to a safe level at boot before any consumer claims them,
which is exactly what a hog is for.

Some boards in the tree already express this need where they can:
fsl-ls1088a-ten64.dts and the tqmls1012a/ls1028a boards all carry hogs, but
on I2C GPIO expanders, because that is the only place the schema currently
supports them. No board uses one on this controller yet, so this fixes no
current failure.

Other GPIO bindings already carry the same block. gpio-mvebu.yaml and
gpio-davinci.yaml use the identical "^(.+-hog(-[0-9]+)?)$" object requiring
gpio-hog.

Signed-off-by: Vincent Jardin <[email protected]>
---
Changes in v2:
- Change the commit message. Drop the dmesg excerpt: those hog names come
  from my out-of-tree dev git repo and are not in the tree (Frank Li)
- Note: the hog call path is: gpiochip_hog_lines(), called from gpiochip_add_data_with_key()
- Explain why these QorIQ SoCs need it
- No change to the diff
- Link to v1: https://lore.kernel.org/r/20260824-for-upstream-dt-qoriq-gpio-hog-v1-1-d75923bcecad@free.fr
---
 Documentation/devicetree/bindings/gpio/fsl,qoriq-gpio.yaml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/gpio/fsl,qoriq-gpio.yaml b/Documentation/devicetree/bindings/gpio/fsl,qoriq-gpio.yaml
index 4cb2a6b9fabfb..a6252440e099b 100644
--- a/Documentation/devicetree/bindings/gpio/fsl,qoriq-gpio.yaml
+++ b/Documentation/devicetree/bindings/gpio/fsl,qoriq-gpio.yaml
@@ -63,6 +63,13 @@ properties:
       GPIO registers are used as little endian. If not
       present registers are used as big endian by default.
 
+patternProperties:
+  "^(.+-hog(-[0-9]+)?)$":
+    type: object
+
+    required:
+      - gpio-hog
+
 required:
   - compatible
   - reg

---
base-commit: 0a0d1d55dad570724bf8c7ea83409639cfb4be9b
change-id: 20260824-for-upstream-dt-qoriq-gpio-hog-5092a0f4d089

Best regards,
-- 
Vincent Jardin <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.