Re: [PATCH v1 1/2] dt-bindings: gpio: fairchild,74hc595: add registers-default property

Krzysztof Kozlowski
2026-04-23T08:59:18Z

On Thu, Apr 23, 2026 at 01:05:03AM +0900, Chanhong Jung wrote:
> The 74HC595 and 74LVC594 shift registers latch their outputs until the
> first serial write, so boards that depend on a specific power-on pattern
> (for example active-low indicators, reset lines, or other signals that
> must come up non-zero) have no way to express that today: the Linux
> driver always writes zeros from its zero-initialised buffer during
> probe.

You can fix the driver not to do that. Or fix the driver to properly
parse hogs. I don't understand why exactly this one driver needs
default registers stored in DT, but all other drivers in the kernel
don't.

>
> Describe a new optional 'registers-default' property that carries a u8
> array - one byte per cascaded register, in the same order used by the
> driver's internal buffer (first byte targets the last register in the
> chain). The Linux driver change that consumes this property follows.
>
> This property is already recognised by the corresponding U-Boot driver
> (drivers/gpio/74x164_gpio.c), so documenting it here brings the two
> bindings back in sync and allows boards to initialise the chain once
> from the bootloader DT and keep the same value after the kernel takes
> over.
>
> Signed-off-by: Chanhong Jung <happycpu@gmail.com>
> ---
> .../devicetree/bindings/gpio/fairchild,74hc595.yaml | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/gpio/fairchild,74hc595.yaml b/Documentation/devicetree/bindings/gpio/fairchild,74hc595.yaml
> index 23410aeca..c6221ed75 100644
> --- a/Documentation/devicetree/bindings/gpio/fairchild,74hc595.yaml
> +++ b/Documentation/devicetree/bindings/gpio/fairchild,74hc595.yaml
> @@ -45,6 +45,15 @@ properties:
> $ref: /schemas/types.yaml#/definitions/uint32
> description: Number of daisy-chained shift registers
>
> + registers-default:

Where is this property defined (lack of vendor prefix means it is
generic property)? Otherwise you always need vendor properties. I really
dislike a generic "registers-default" property, because this is can of
worms for all sorts of poor DT.

Best regards,
Krzysztof