Re: [PATCH v4 2/3] dt-bindings: gpio: gpio-mvebu: deprecate armadaxp-gpio

From: Pali Rohár
Date: Mon Nov 28 2022 - 03:00:15 EST


On Thursday 26 May 2022 13:29:45 Chris Packham wrote:
> Commit 5f79c651e81e ("arm: mvebu: use global interrupts for GPIOs on
> Armada XP") the marvell,armadaxp-gpio compatible obsolete.

No, marvell,armadaxp-gpio is required for per-cpu interrupt support. I fixed it recently:
https://lore.kernel.org/linux-devicetree/20220714115515.5748-2-pali@xxxxxxxxxx/
https://lore.kernel.org/linux-devicetree/20220714183328.4137-3-pali@xxxxxxxxxx/

> The driver code still exists to handle the armadaxp behaviour but all
> the in-tree boards use the marvell,armada-370-gpio. Document the
> marvell,armadaxp-gpio compatible as deprecated.

For per-cpu interrupt support is marvell,armadaxp-gpio needed and
therefore it cannot be deprecated.

What can be deprecated is marvell,armada-370-gpio and it can be replaced
by marvell,orion-gpio, which covers _all_ SoCs starting from the oldest
one = Orion. See discussion for more details:
https://lore.kernel.org/linux-devicetree/20220725200417.nwthxzvdv2bzd5ej@xxxxxxxxxxxxxx/

> Signed-off-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
> ---
>
> Notes:
> This could potentially be squashed into the first commit but it seemed
> more proper to do a straight 1:1 conversion of the old binding then
> clean things up to match reality.
>
> Changes in v4:
> - New
>
> .../devicetree/bindings/gpio/gpio-mvebu.yaml | 24 +++++++------------
> 1 file changed, 8 insertions(+), 16 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml b/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
> index d1695e7bd825..459ec35864fe 100644
> --- a/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
> +++ b/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
> @@ -21,17 +21,21 @@ properties:
> - enum:
> - marvell,mv78200-gpio
> - marvell,armada-370-gpio
> - - marvell,armadaxp-gpio
> - const: marvell,orion-gpio
>
> + - description: Deprecated binding
> + items:
> + - const: marvell,armadaxp-gpio
> + - const: marvell,orion-gpio
> + deprecated: true
> +
> reg:
> description: |
> Address and length of the register set for the device. Not used for
> marvell,armada-8k-gpio.
>
> - For the "marvell,armadaxp-gpio" variant a second entry is expected for
> - the per-cpu registers. For other variants second entry can be provided,
> - for the PWM function using the GPIO Blink Counter on/off registers.
> + A second entry can be provided, for the PWM function using the GPIO Blink
> + Counter on/off registers.
> minItems: 1
> maxItems: 2
>
> @@ -103,18 +107,6 @@ allOf:
> required:
> - reg
>
> - - if:
> - properties:
> - compatible:
> - contains:
> - const: marvell,armadaxp-gpio
> - then:
> - properties:
> - reg:
> - minItems: 2
> - reg-names:
> - minItems: 2
> -
> unevaluatedProperties: true
>
> examples:
> --
> 2.36.1
>