2022-08-20 21:01:28

by Conor Dooley

[permalink] [raw]
Subject: [PATCH] dt-bindings: gpio: mpfs-gpio: allow parsing of hog child nodes.

From: Conor Dooley <[email protected]>

The SD card and eMMC on PolarFire SoC based dev boards are sometimes
statically muxed using a GPIO. To facilitate this, enable gpio-hog
child node properties.

Signed-off-by: Conor Dooley <[email protected]>
---
.../bindings/gpio/microchip,mpfs-gpio.yaml | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

diff --git a/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml b/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
index 110651eafa70..6704a7a52cd0 100644
--- a/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
+++ b/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
@@ -44,6 +44,24 @@ properties:

gpio-controller: true

+patternProperties:
+ "^.+-hog(?:-[0-9]+)?$":
+ type: object
+
+ properties:
+ gpio-hog: true
+ gpios: true
+ input: true
+ output-high: true
+ output-low: true
+ line-name: true
+
+ required:
+ - gpio-hog
+ - gpios
+
+ additionalProperties: false
+
required:
- compatible
- reg
--
2.37.1


2022-08-25 12:20:46

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: mpfs-gpio: allow parsing of hog child nodes.

On 20/08/2022 23:41, Conor Dooley wrote:
> From: Conor Dooley <[email protected]>
>
> The SD card and eMMC on PolarFire SoC based dev boards are sometimes
> statically muxed using a GPIO. To facilitate this, enable gpio-hog
> child node properties.
>
> Signed-off-by: Conor Dooley <[email protected]>
> ---
> .../bindings/gpio/microchip,mpfs-gpio.yaml | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml b/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
> index 110651eafa70..6704a7a52cd0 100644
> --- a/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
> +++ b/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
> @@ -44,6 +44,24 @@ properties:
>
> gpio-controller: true
>
> +patternProperties:
> + "^.+-hog(?:-[0-9]+)?$":

What is this pattern about: "(?:" ?

> + type: object
> +
> + properties:
> + gpio-hog: true
> + gpios: true
> + input: true
> + output-high: true
> + output-low: true
> + line-name: true
> +
> + required:
> + - gpio-hog
> + - gpios
> +
> + additionalProperties: false

Put it after type:object. Easier to read/find.

Best regards,
Krzysztof

2022-08-25 12:57:08

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: mpfs-gpio: allow parsing of hog child nodes.

On 25/08/2022 13:35, Krzysztof Kozlowski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On 25/08/2022 15:30, [email protected] wrote:
>> On 25/08/2022 13:10, Krzysztof Kozlowski wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>
>>> On 20/08/2022 23:41, Conor Dooley wrote:
>>>> From: Conor Dooley <[email protected]>
>>>>
>>>> The SD card and eMMC on PolarFire SoC based dev boards are sometimes
>>>> statically muxed using a GPIO. To facilitate this, enable gpio-hog
>>>> child node properties.
>>>>
>>>> Signed-off-by: Conor Dooley <[email protected]>
>>>> ---
>>>> .../bindings/gpio/microchip,mpfs-gpio.yaml | 18 ++++++++++++++++++
>>>> 1 file changed, 18 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml b/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
>>>> index 110651eafa70..6704a7a52cd0 100644
>>>> --- a/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
>>>> +++ b/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
>>>> @@ -44,6 +44,24 @@ properties:
>>>>
>>>> gpio-controller: true
>>>>
>>>> +patternProperties:
>>>> + "^.+-hog(?:-[0-9]+)?$":
>>>
>>> What is this pattern about: "(?:" ?
>>
>> Me being a pedant I suppose. "()" is a capture while "(?:)" is a match.
>> However, it does seem like json-schema suggests using "()":
>> https://json-schema.org/understanding-json-schema/reference/regular_expressions.html
>>
>> I don't mind & neither does the schema checker.
>
> Use what existing sources are doing, so "^.+-hog(-[0-9]+)?$"


Willdo :)

2022-08-25 13:32:16

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: mpfs-gpio: allow parsing of hog child nodes.

On 25/08/2022 13:10, Krzysztof Kozlowski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On 20/08/2022 23:41, Conor Dooley wrote:
>> From: Conor Dooley <[email protected]>
>>
>> The SD card and eMMC on PolarFire SoC based dev boards are sometimes
>> statically muxed using a GPIO. To facilitate this, enable gpio-hog
>> child node properties.
>>
>> Signed-off-by: Conor Dooley <[email protected]>
>> ---
>> .../bindings/gpio/microchip,mpfs-gpio.yaml | 18 ++++++++++++++++++
>> 1 file changed, 18 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml b/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
>> index 110651eafa70..6704a7a52cd0 100644
>> --- a/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
>> +++ b/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
>> @@ -44,6 +44,24 @@ properties:
>>
>> gpio-controller: true
>>
>> +patternProperties:
>> + "^.+-hog(?:-[0-9]+)?$":
>
> What is this pattern about: "(?:" ?

Me being a pedant I suppose. "()" is a capture while "(?:)" is a match.
However, it does seem like json-schema suggests using "()":
https://json-schema.org/understanding-json-schema/reference/regular_expressions.html

I don't mind & neither does the schema checker.

>
>> + type: object
>> +
>> + properties:
>> + gpio-hog: true
>> + gpios: true
>> + input: true
>> + output-high: true
>> + output-low: true
>> + line-name: true
>> +
>> + required:
>> + - gpio-hog
>> + - gpios
>> +
>> + additionalProperties: false
>
> Put it after type:object. Easier to read/find.

Sure.
Thanks,
Conor.

2022-08-25 13:37:56

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: gpio: mpfs-gpio: allow parsing of hog child nodes.

On 25/08/2022 15:30, [email protected] wrote:
> On 25/08/2022 13:10, Krzysztof Kozlowski wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> On 20/08/2022 23:41, Conor Dooley wrote:
>>> From: Conor Dooley <[email protected]>
>>>
>>> The SD card and eMMC on PolarFire SoC based dev boards are sometimes
>>> statically muxed using a GPIO. To facilitate this, enable gpio-hog
>>> child node properties.
>>>
>>> Signed-off-by: Conor Dooley <[email protected]>
>>> ---
>>> .../bindings/gpio/microchip,mpfs-gpio.yaml | 18 ++++++++++++++++++
>>> 1 file changed, 18 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml b/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
>>> index 110651eafa70..6704a7a52cd0 100644
>>> --- a/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
>>> +++ b/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
>>> @@ -44,6 +44,24 @@ properties:
>>>
>>> gpio-controller: true
>>>
>>> +patternProperties:
>>> + "^.+-hog(?:-[0-9]+)?$":
>>
>> What is this pattern about: "(?:" ?
>
> Me being a pedant I suppose. "()" is a capture while "(?:)" is a match.
> However, it does seem like json-schema suggests using "()":
> https://json-schema.org/understanding-json-schema/reference/regular_expressions.html
>
> I don't mind & neither does the schema checker.

Use what existing sources are doing, so "^.+-hog(-[0-9]+)?$"

Best regards,
Krzysztof