[PATCH v2 1/2] dt-bindings: pwm: Allow decimal format in addition to hex format

Tony Lindgren tony at atomide.com
Tue Nov 22 03:11:43 PST 2022


* Uwe Kleine-König <u.kleine-koenig at pengutronix.de> [221122 10:47]:
> On Tue, Nov 22, 2022 at 12:37:26PM +0200, Tony Lindgren wrote:
> > * Uwe Kleine-König <u.kleine-koenig at pengutronix.de> [221122 09:26]:
> > > On Tue, Nov 22, 2022 at 06:43:55AM +0200, Tony Lindgren wrote:
> > > > * Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org> [221121 16:05]:
> > > > > On 21/11/2022 15:48, Tony Lindgren wrote:
> > > > > > * Uwe Kleine-König <u.kleine-koenig at pengutronix.de> [221121 14:30]:
> > > > > >> On Mon, Nov 21, 2022 at 01:55:24PM +0200, Tony Lindgren wrote:
> > > > > >>> Let's allow node numbering in decimal format too.
> > > > > >>>
> > > > > >>> Simple human-readable increments/IDs are usually decimal, hex is only for
> > > > > >>> addresses as noted by Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>.
> > > > > >>>
> > > > > >>> Cc: Thierry Reding <thierry.reding at gmail.com>
> > > > > >>> Cc: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
> > > > > >>> Suggested-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
> > > > > >>> Signed-off-by: Tony Lindgren <tony at atomide.com>
> > > > > >>> ---
> > > > > >>>  Documentation/devicetree/bindings/pwm/pwm.yaml | 2 +-
> > > > > >>>  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > >>>
> > > > > >>> diff --git a/Documentation/devicetree/bindings/pwm/pwm.yaml b/Documentation/devicetree/bindings/pwm/pwm.yaml
> > > > > >>> --- a/Documentation/devicetree/bindings/pwm/pwm.yaml
> > > > > >>> +++ b/Documentation/devicetree/bindings/pwm/pwm.yaml
> > > > > >>> @@ -13,7 +13,7 @@ select: false
> > > > > >>>  
> > > > > >>>  properties:
> > > > > >>>    $nodename:
> > > > > >>> -    pattern: "^pwm(@.*|-[0-9a-f])*$"
> > > > > >>> +    pattern: "^pwm(@.*|-([0-9a-f]|1[0-5]))*$"
> > > > > >>
> > > > > >> I wonder why you don't make this:
> > > > > >>
> > > > > >> +    pattern: "^pwm(@.*|-[0-9a-f]*)$"
> > > > > 
> > > > > Yes, the '*' should be within ().
> > > > 
> > > > Sorry I guess I don't follow. So for what type of naming is the second '*'
> > > > actually needed here, or is it needed at all?
> > > > 
> > > > We only want to match the following:
> > > > 
> > > > pwm at 1234
> > > > 
> > > > pwm-0
> > > > ...
> > > > pwm-f
> > > > 
> > > > And now also:
> > > > 
> > > > pwm-0
> > > > ...
> > > > pwm-15
> > > > 
> > > > Is there yet another format I'm missing?
> > > 
> > > I think there is a misunderstanding about the type of pattern here. Do
> > > we talk about a shell pattern where "[0-9a-f]*" matches a name starting
> > > with a hex digit followed by any number of any caracter, or is it a
> > > regexp where the * means "any number of the preceding pattern", so
> > > effectively a word consisting of only hex digits.
> > > 
> > > The .* part makes me think we're talking about a regexp, so the old
> > > pattern ("^pwm(@.*|-[0-9a-f])*$") means that
> > > 
> > > 	pwm-1-2-3-4
> > > 
> > > is allowed but
> > > 
> > > 	pwm-10
> > > 
> > > isn't. And I think what we want is:
> > > 
> > > 	"^pwm(@.*|-[0-9a-f]*)$"
> > 
> > Heh so this fails for just node name pwm:
> > 
> > pwm: $nodename:0: 'pwm' does not match '^pwm(@.*|-[0-9a-f]*)$'
> > 
> > Maybe that's why the second '..)*$' was there originally for?
> > And adding it back there fixes pwm but allows pwm-1-2-3..
> > 
> > > (or maybe better "^pwm(@.+|-[0-9a-f]+)$" ?)
> > 
> > And this too fails for just pwm node name.
> 
> Then let's pick:
> 
> 
> 	"^pwm(@.+|-[0-9a-f]+)?$"

That works for pwm and pwm-11, but now fails for pwm11 :)

Tony



More information about the linux-arm-kernel mailing list