Message ID | 20241015065848.29429-1-krzysztof.kozlowski@linaro.org |
---|---|
State | New |
Headers | show |
Series | [1/2] dt-bindings: pinctrl: samsung: Fix interrupt constraint for variants with fallbacks | expand |
On Tue, 15 Oct 2024 08:58:47 +0200, Krzysztof Kozlowski wrote: > Commit 904140fa4553 ("dt-bindings: pinctrl: samsung: use Exynos7 > fallbacks for newer wake-up controllers") added > samsung,exynos7-wakeup-eint fallback to some compatibles, so the > intention in the if:then: conditions was to handle the cases: > > 1. Single Exynos7 compatible or Exynos5433+Exynos7 or > Exynos7885+Exynos7: only one interrupt > > 2. Exynos850+Exynos7: no interrupts > > This was not implemented properly however and if:then: block matches > only single Exynos5433 or Exynos7885 compatibles, which do not exist in > DTS anymore, so basically is a no-op and no enforcement on number of > interrupts is made by the binding. > > Fix the if:then: condition so interrupts in the Exynos5433 and > Exynos7885 wake-up pin controller will be properly constrained. > > Fixes: 904140fa4553 ("dt-bindings: pinctrl: samsung: use Exynos7 fallbacks for newer wake-up controllers") > Cc: <stable@vger.kernel.org> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > > --- > > Cc: Igor Belwon <igor.belwon@mentallysanemainliners.org> > --- > .../samsung,pinctrl-wakeup-interrupt.yaml | 19 +++++++++++-------- > 1 file changed, 11 insertions(+), 8 deletions(-) > Acked-by: Rob Herring (Arm) <robh@kernel.org>
On Tue, Oct 15, 2024 at 8:58 AM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > Commit 904140fa4553 ("dt-bindings: pinctrl: samsung: use Exynos7 > fallbacks for newer wake-up controllers") added > samsung,exynos7-wakeup-eint fallback to some compatibles, so the > intention in the if:then: conditions was to handle the cases: > > 1. Single Exynos7 compatible or Exynos5433+Exynos7 or > Exynos7885+Exynos7: only one interrupt > > 2. Exynos850+Exynos7: no interrupts > > This was not implemented properly however and if:then: block matches > only single Exynos5433 or Exynos7885 compatibles, which do not exist in > DTS anymore, so basically is a no-op and no enforcement on number of > interrupts is made by the binding. > > Fix the if:then: condition so interrupts in the Exynos5433 and > Exynos7885 wake-up pin controller will be properly constrained. > > Fixes: 904140fa4553 ("dt-bindings: pinctrl: samsung: use Exynos7 fallbacks for newer wake-up controllers") > Cc: <stable@vger.kernel.org> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
On Tue, Oct 15, 2024 at 8:58 AM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > Expect only one interrupt on Exynos8895 wake-up pin controller. > > Fixes: e2d58d1e1c61 ("dt-bindings: pinctrl: samsung: add exynos8895-wakeup-eint compatible") > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
On Tue, 15 Oct 2024 08:58:47 +0200, Krzysztof Kozlowski wrote: > Commit 904140fa4553 ("dt-bindings: pinctrl: samsung: use Exynos7 > fallbacks for newer wake-up controllers") added > samsung,exynos7-wakeup-eint fallback to some compatibles, so the > intention in the if:then: conditions was to handle the cases: > > 1. Single Exynos7 compatible or Exynos5433+Exynos7 or > Exynos7885+Exynos7: only one interrupt > > [...] Applied, thanks! [1/2] dt-bindings: pinctrl: samsung: Fix interrupt constraint for variants with fallbacks https://git.kernel.org/pinctrl/samsung/c/ffb30875172eabff727e2896f097ccd4bb68723f [2/2] dt-bindings: pinctrl: samsung: Add missing constraint for Exynos8895 interrupts https://git.kernel.org/pinctrl/samsung/c/e0f89ba1e04307a0060b354c40d29d008a3fef6e Best regards,
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml index 91516fedc872..49cb2b1a3d28 100644 --- a/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml +++ b/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml @@ -92,14 +92,17 @@ allOf: - if: properties: compatible: - # Match without "contains", to skip newer variants which are still - # compatible with samsung,exynos7-wakeup-eint - enum: - - samsung,s5pv210-wakeup-eint - - samsung,exynos4210-wakeup-eint - - samsung,exynos5433-wakeup-eint - - samsung,exynos7-wakeup-eint - - samsung,exynos7885-wakeup-eint + oneOf: + # Match without "contains", to skip newer variants which are still + # compatible with samsung,exynos7-wakeup-eint + - enum: + - samsung,exynos4210-wakeup-eint + - samsung,exynos7-wakeup-eint + - samsung,s5pv210-wakeup-eint + - contains: + enum: + - samsung,exynos5433-wakeup-eint + - samsung,exynos7885-wakeup-eint then: properties: interrupts:
Commit 904140fa4553 ("dt-bindings: pinctrl: samsung: use Exynos7 fallbacks for newer wake-up controllers") added samsung,exynos7-wakeup-eint fallback to some compatibles, so the intention in the if:then: conditions was to handle the cases: 1. Single Exynos7 compatible or Exynos5433+Exynos7 or Exynos7885+Exynos7: only one interrupt 2. Exynos850+Exynos7: no interrupts This was not implemented properly however and if:then: block matches only single Exynos5433 or Exynos7885 compatibles, which do not exist in DTS anymore, so basically is a no-op and no enforcement on number of interrupts is made by the binding. Fix the if:then: condition so interrupts in the Exynos5433 and Exynos7885 wake-up pin controller will be properly constrained. Fixes: 904140fa4553 ("dt-bindings: pinctrl: samsung: use Exynos7 fallbacks for newer wake-up controllers") Cc: <stable@vger.kernel.org> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- Cc: Igor Belwon <igor.belwon@mentallysanemainliners.org> --- .../samsung,pinctrl-wakeup-interrupt.yaml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-)