Re: [PATCH v4 04/15] dt-bindings: gpio: Add AXP192 GPIO bindings

From: Aidan MacDonald
Date: Sun Jul 03 2022 - 07:30:19 EST



Samuel Holland <samuel@xxxxxxxxxxxx> writes:

> On 6/29/22 9:30 AM, Aidan MacDonald wrote:
>> The AXP192 PMIC is different enough from the PMICs supported by
>> the AXP20x GPIO driver to warrant a separate driver. The AXP192
>> driver also supports interrupts and pinconf settings.
>>
>> Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@xxxxxxxxx>
>> ---
>> .../bindings/gpio/x-powers,axp192-gpio.yaml | 68 +++++++++++++++++++
>> 1 file changed, 68 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/gpio/x-powers,axp192-gpio.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/gpio/x-powers,axp192-gpio.yaml
>> b/Documentation/devicetree/bindings/gpio/x-powers,axp192-gpio.yaml
>> new file mode 100644
>> index 000000000000..ceb94aa2bc97
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/gpio/x-powers,axp192-gpio.yaml
>> [...]
>> +
>> +required:
>> + - compatible
>> + - "#gpio-cells"
>> + - gpio-controller
>> + - gpio-ranges
>
> By requiring the gpio-ranges property, you will not be able to convert the
> existing driver, as existing devicetrees do not have it.
>
> If you instead call pinctrl_add_gpio_range() from the driver, you can maintain
> compatibility with the existing binding.
>
> Regards,
> Samuel

Originally I did use pinctrl_add_gpio_range(), but calling that from
a pin control driver is apparently deprecated. It can be done from
->of_gpio_ranges_fallback to deal with old device trees, though.