Received: by 2002:a05:7412:b130:b0:e2:908c:2ebd with SMTP id az48csp754464rdb; Fri, 17 Nov 2023 11:38:27 -0800 (PST) X-Google-Smtp-Source: AGHT+IHTlJWD9QK9qSm3+zX5WVk8vWzVt/EWDn2qJvjQHtEDhqBM0AjSo6FG0Mt2I00Y55O6oeFJ X-Received: by 2002:a05:6a21:33aa:b0:187:2203:e8c with SMTP id yy42-20020a056a2133aa00b0018722030e8cmr170059pzb.42.1700249907399; Fri, 17 Nov 2023 11:38:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700249907; cv=none; d=google.com; s=arc-20160816; b=F4/NY1xSFhi9NPgPkFJ9RMjbyewMUfdtGJtH7sat/Vk57Th+ynSNhOr1pyyNRFjCdC G+gHliQ4zDCQYKKOWEzyGjnPNDmUEhG4Is4fQ992Ewa40Rr7mNZkIRao8PHBrdU5Ogqm 0d0dybSOpNfTl0UbxVddZn3GXoDX5/DLwDslaWOtkoerTIoj+IIBTiLqLlyC3kO0w5sK dqcHkWNuaOu7ATV+IlwGILbBIqM0P/9ESZyyTKLd8dNhTlIFmw+MZbVs4TFaluYqPv2z 6HTOD/E9OW8G4ff7/Cm2STai9g0nFXXh81mDyamsbZa3oBH5gc4mY1O+BUypvHmwaQCp ZkKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=itQ3QtOIRPWiljwmJyFdVtj1Q4nU528HIbktVlJ5jSY=; fh=rvbdaEQH5fV+Va/Put4kLHTya7L/untCqwbfbWpsNV0=; b=BQfpHD6hGY4mE808g2+ea/+Kuap9gMHvRNmOXlfSEC926NnSEy9Kx5ZjzdNADoMcQK TSrlp4ZIFn7oP+eY9wNPMvzvb3MpkvHO/Rc/1iNQRrGxyryFJ2Mv53xdtrl7TM1hnkPK FyrP0Q77safy6+IQLLtbqyJSlomsxE4T+ZIVp/V7cQ8P4P+gegWUoyBSWE26sF9XKZtW GlbD5AI3avmL2Pu02zmRi1EeVi80nygSj7UJIa8xfw0ijiHuKNsa/uDThE6W8mrr5zVJ skt6xwsDeiTXxKBiNlgNT5MMi99WAdPfm9puSZ1wnyuBcdZiLzWaI2m2PEPQDAGKPL2l ay5A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=sntech.de Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id n189-20020a6327c6000000b00589884fef91si2548884pgn.740.2023.11.17.11.38.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Nov 2023 11:38:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=sntech.de Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 758FB8280D5B; Fri, 17 Nov 2023 11:38:25 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346182AbjKQTiY (ORCPT + 99 others); Fri, 17 Nov 2023 14:38:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55362 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346130AbjKQTiX (ORCPT ); Fri, 17 Nov 2023 14:38:23 -0500 Received: from gloria.sntech.de (gloria.sntech.de [185.11.138.130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B1606D6A; Fri, 17 Nov 2023 11:38:17 -0800 (PST) Received: from i5e861935.versanet.de ([94.134.25.53] helo=diego.localnet) by gloria.sntech.de with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r44fO-0000Ix-QK; Fri, 17 Nov 2023 20:38:14 +0100 From: Heiko =?ISO-8859-1?Q?St=FCbner?= To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , Andrew Davis Cc: AngeloGioacchino Del Regno , Arnd Bergmann , Bjorn Andersson , Geert Uytterhoeven , Konrad Dybcio , Matthias Brugger , Michal Simek , Neil Armstrong , Nishanth Menon , Olof Johansson Subject: Re: [PATCH] docs: dt-bindings: add DTS Coding Style document Date: Fri, 17 Nov 2023 20:38:13 +0100 Message-ID: <4289147.1BCLMh4Saa@diego> In-Reply-To: <2cb3f992-f214-4cdf-8443-9e14ab864a66@ti.com> References: <20231116181218.18886-1-krzysztof.kozlowski@linaro.org> <7592981.EvYhyI6sBW@phil> <2cb3f992-f214-4cdf-8443-9e14ab864a66@ti.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,SPF_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_HELO_TEMPERROR autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 17 Nov 2023 11:38:25 -0800 (PST) Am Freitag, 17. November 2023, 15:03:38 CET schrieb Andrew Davis: > On 11/16/23 2:33 PM, Heiko Stuebner wrote: > > Am Donnerstag, 16. November 2023, 21:23:20 CET schrieb Krzysztof Kozlowski: > >> On 16/11/2023 21:03, Heiko Stuebner wrote: > > going with the vcc5v0_host regulator of the rk3588-quartzpro64 and > > > > +1. compatible > > +2. reg > > +3. ranges > > +4. All properties with values > > +5. Boolean properties > > +6. status (if applicable) > > +7. Child nodes > > > > we'd end up with > > > > vcc5v0_host: vcc5v0-host-regulator { > > /* 1. */ compatible = "regulator-fixed"; > > /* 4. */ gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; > > pinctrl-names = "default"; > > pinctrl-0 = <&vcc5v0_host_en>; > > regulator-min-microvolt = <5000000>; > > regulator-max-microvolt = <5000000>; > > regulator-name = "vcc5v0_host"; > > vin-supply = <&vcc5v0_usb>; > > /* 5. */ enable-active-high; > > regulator-always-on; > > regulator-boot-on; > > }; > > > > How about grouping like properties (defined in the same schema), > then sorting within that group. Would also allow for defining > where to add spacing. > > 1. compatible > 2. reg > 3. ranges > 4. All property groups > 4.1 Properties with values > 4.2 Boolean properties > 4.3 Separating space > 6. status (if applicable) > 7. Child nodes > > Your node then would look like we expect: > > vcc5v0_host: vcc5v0-host-regulator { > /* 1 */ compatible = "regulator-fixed"; > > /* 4.1 */ pinctrl-names = "default"; > /* 4.1 */ pinctrl-0 = <&vcc5v0_host_en>; > /* 4.3 */ > /* 4.1 */ regulator-min-microvolt = <5000000>; > /* 4.1 */ regulator-max-microvolt = <5000000>; > /* 4.1 */ regulator-name = "vcc5v0_host"; > /* 4.2 */ regulator-always-on; > /* 4.2 */ regulator-boot-on; > /* 4.2 */ enable-active-high; > /* 4.3 */ > /* 4.1 */ gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; > ... > }; I'm really not sure about adding big sets of rules. In the above example you'd also need to define which schema has a higher priority? ;-) When I started with Rockchip stuff, I also had some fancy way of sorting elements in mind that was really intuitive to myself :-) . Over time I realized that it was quite complex - especially when I had to explain it to people. There are definite advantages for having compatible + reg + status in fixed positions, as it helps going over a whole dt to spot the huge mistakes (accidentially disabled, wrong address), but for the rest a simple alphabetical sorting is easiest to explain to people :-) . And alphabetic elements are also easier on my eyes. I just think having a short clean set of rules like Krzysztof proposed, is easier to follow and "enforce" and also most likely doesn't deter people from contributing, if mainline work is not their main occupation. Heiko