From patchwork Fri Jun 24 11:21:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krzysztof Kozlowski X-Patchwork-Id: 584778 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5767C433EF for ; Fri, 24 Jun 2022 11:21:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229968AbiFXLVP (ORCPT ); Fri, 24 Jun 2022 07:21:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48382 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229813AbiFXLVP (ORCPT ); Fri, 24 Jun 2022 07:21:15 -0400 Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BB56477FF0 for ; Fri, 24 Jun 2022 04:21:13 -0700 (PDT) Received: by mail-ed1-x530.google.com with SMTP id z7so2945067edm.13 for ; Fri, 24 Jun 2022 04:21:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=nswwdq9kMT+/2jh1GVwB6lx89Sb6QhmoZOaTHHpxSRg=; b=PCs0VJyiDsVMvPRWH/uSgRuNoJMFBJ1IXL/NJBVtBu08gRHJi+ZH0Bu0BWfKbb7VLu zawX5TFLQdefNPlie9qAQ6AVoDCqmGu6JuGXJj9oJn/2Nlh6XK1kDlG5Y9TCQoLj47+Q Sat/+DRU8dR968xKKYf5vy6p0WUmSkX4H+qisMcO2LJcTslk0N6FdwR4/8kj+IG6MY1U 9KXuCPHmIvdXUYRlWrtCctuALzy2CwgkwoRcbmsG0f0JjxSr49l4r8PmH3/Q3eY3zewR HnziikgM21IhN6kenx+Fs2xXUTofRVCaaY14qEldot/4dasv8YQG6fVRge8P6/8vEFBP +yGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=nswwdq9kMT+/2jh1GVwB6lx89Sb6QhmoZOaTHHpxSRg=; b=PyBznwJ6v6OKD10z6vNM81jbT2x30EW2WZEQxey0XcOSm5nRL1SvyGw+/mDJz1cyOJ nmN9jxyY+FFimwzXja0nyOzGyNRsE3ndRfZQu1ieH+O/ImWyr2Vn3+6d5YSJbP19MQfN MOaaKvPhRvHHl6bkbii5PluxLbhgwEzNEYIz1P9ZlAK4O4REONYfHwXgBNLWwT6nmuoh MwvNeitByNND3T+piuEJJdVjEMDs8DvP85iocw01TowXPUWuSRxTeS2kRhEs+BYMPG+l CciGONlhLAPTHNPGIozNKsbpAOKCK6gT20anXzkfP7xTZRRcH2XeP93iOlTQKM7H9E5Q CINw== X-Gm-Message-State: AJIora9HpkLk0gXFy2bVCdYZnKkU4DW3o1734PuFvm49f0Cdy7Eu95gB Ja5ODg2gGduYx3swzwltxiR3nw== X-Google-Smtp-Source: AGRyM1t+3q8i3H1TjipkxGeDkdr3UTTrFKyKEuBidyDjFwMg7pLhaXm/xh1pnaG2df6LaAhL7WaZYg== X-Received: by 2002:a05:6402:3546:b0:42e:2f58:2c90 with SMTP id f6-20020a056402354600b0042e2f582c90mr16943057edd.84.1656069672244; Fri, 24 Jun 2022 04:21:12 -0700 (PDT) Received: from localhost.localdomain (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id i10-20020a170906698a00b00705fa7087bbsm951874ejr.142.2022.06.24.04.21.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jun 2022 04:21:11 -0700 (PDT) From: Krzysztof Kozlowski To: =?utf-8?q?Marek_Beh=C3=BAn?= , Pavel Machek , Rob Herring , Krzysztof Kozlowski , Dan Murphy , Sven Schwermer , Bjorn Andersson , linux-leds@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: ChiaEn Wu , Krzysztof Kozlowski Subject: [PATCH] dt-bindings: leds: class-multicolor: reference class directly in multi-led node Date: Fri, 24 Jun 2022 13:21:06 +0200 Message-Id: <20220624112106.111351-1-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-leds@vger.kernel.org The leds/common.yaml is referenced directly in each LED node, which leads to people doing the same with leds/leds-class-multicolor.yaml. This is not correct because leds-class-multicolor.yaml defined multi-led property and its children. Some schemas implemented this incorrect. Rework this to match same behavior common.yaml, so expect the multi-led node to reference the leds-class-multicolor.yaml. Fixing allows to add unevaluatedProperties:false. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Rob Herring --- This will conflict with any new users of leds-class-multicolor, e.g.: https://lore.kernel.org/all/20220623115631.22209-4-peterwu.pub@gmail.com/ The new users should be updated to match the usage introduced here. --- .../leds/cznic,turris-omnia-leds.yaml | 2 ++ .../bindings/leds/leds-class-multicolor.yaml | 32 +++++++++---------- .../devicetree/bindings/leds/leds-lp50xx.yaml | 2 ++ .../bindings/leds/leds-pwm-multicolor.yaml | 5 ++- .../bindings/leds/leds-qcom-lpg.yaml | 2 ++ 5 files changed, 24 insertions(+), 19 deletions(-) diff --git a/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml b/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml index 9362b1ef9e88..14bebe1ad8f8 100644 --- a/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml +++ b/Documentation/devicetree/bindings/leds/cznic,turris-omnia-leds.yaml @@ -33,6 +33,8 @@ patternProperties: "^multi-led@[0-9a-b]$": type: object $ref: leds-class-multicolor.yaml# + unevaluatedProperties: false + description: This node represents one of the RGB LED devices on Turris Omnia. No subnodes need to be added for subchannels since this controller only diff --git a/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml b/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml index f41d021ed677..12693483231f 100644 --- a/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml +++ b/Documentation/devicetree/bindings/leds/leds-class-multicolor.yaml @@ -19,22 +19,22 @@ description: | LED class. Common LED nodes and properties are inherited from the common.yaml within this documentation directory. -patternProperties: - "^multi-led(@[0-9a-f])?$": - type: object - description: Represents the LEDs that are to be grouped. - properties: - color: - description: | - For multicolor LED support this property should be defined as either - LED_COLOR_ID_RGB or LED_COLOR_ID_MULTI which can be found in - include/linux/leds/common.h. - enum: [ 8, 9 ] - - $ref: "common.yaml#" - - required: - - color +properties: + $nodename: + pattern: "^multi-led(@[0-9a-f])?$" + + color: + description: | + For multicolor LED support this property should be defined as either + LED_COLOR_ID_RGB or LED_COLOR_ID_MULTI which can be found in + include/linux/leds/common.h. + enum: [ 8, 9 ] + +required: + - color + +allOf: + - $ref: "common.yaml#" additionalProperties: true diff --git a/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml b/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml index d11898567313..d44bf48b3c2f 100644 --- a/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml +++ b/Documentation/devicetree/bindings/leds/leds-lp50xx.yaml @@ -56,6 +56,8 @@ patternProperties: '^multi-led@[0-9a-f]$': type: object $ref: leds-class-multicolor.yaml# + unevaluatedProperties: false + properties: reg: minItems: 1 diff --git a/Documentation/devicetree/bindings/leds/leds-pwm-multicolor.yaml b/Documentation/devicetree/bindings/leds/leds-pwm-multicolor.yaml index fdaf04e03a8d..e9fdecdaf84d 100644 --- a/Documentation/devicetree/bindings/leds/leds-pwm-multicolor.yaml +++ b/Documentation/devicetree/bindings/leds/leds-pwm-multicolor.yaml @@ -19,6 +19,8 @@ properties: multi-led: type: object + $ref: leds-class-multicolor.yaml# + unevaluatedProperties: false patternProperties: "^led-[0-9a-z]+$": @@ -42,9 +44,6 @@ properties: required: - compatible -allOf: - - $ref: leds-class-multicolor.yaml# - additionalProperties: false examples: diff --git a/Documentation/devicetree/bindings/leds/leds-qcom-lpg.yaml b/Documentation/devicetree/bindings/leds/leds-qcom-lpg.yaml index 409a4c7298e1..fe336fa16518 100644 --- a/Documentation/devicetree/bindings/leds/leds-qcom-lpg.yaml +++ b/Documentation/devicetree/bindings/leds/leds-qcom-lpg.yaml @@ -58,6 +58,8 @@ properties: multi-led: type: object $ref: leds-class-multicolor.yaml# + unevaluatedProperties: false + properties: "#address-cells": const: 1