Re: [PATCH v2] dt-bindings: gpio: fsl,qoriq-gpio: allow gpio-hog child nodes
Krzysztof Kozlowski <[email protected]>
| Newsgroups | org.kernel.vger.linux-gpio,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 24/08/2026 23:54, Vincent Jardin via B4 Relay wrote: > From: Vincent Jardin <[email protected]> > > 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. This paragraph is redundant. Frankly speaking, half of the entire commit msg is redundant, because it states the obvious - GPIO controller may have hogs in device nodes and this is a GPIO controller. Efficient commit msgs are preferred over long ones. > > 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]+)?)$": Pattern is: "^.+-hog(-[0-9]+)?$": (outer brackets are redundant) With these two fixed: Reviewed-by: Krzysztof Kozlowski <[email protected]> Best regards, Krzysztof