Devicetree
 help / color / mirror / Atom feed
From: "Rob Herring (Arm)" <robh@kernel.org>
To: Quchaosheng <quchaosheng000406@163.com>
Cc: Conor Dooley <conor+dt@kernel.org>, Lee Jones <lee@kernel.org>,
	mfd@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	Zhang Qing <zhangqing@rock-chips.com>,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>,
	Chris Zhong <zyw@rock-chips.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5] dt-bindings: mfd: rockchip,rk805: Convert pinctrl to DT schema
Date: Tue, 6 Oct 2026 10:52:16 -0500	[thread overview]
Message-ID: <179130193622.2397071.7473599240811145793.robh@kernel.org> (raw)
In-Reply-To: <20260923083001.606935-1-quchaosheng000406@163.com>


On Wed, 23 Sep 2026 16:30:01 +0800, Quchaosheng wrote:
> pinctrl-rk805.txt describes the pinmux controller that is part of the
> Rockchip RK805 PMIC. The PMIC itself is already described by
> rockchip,rk805.yaml, so the pinmux part belongs there as well: the
> pinctrl node is a child of the PMIC node, not a separate device.
> 
> Fold the pinmux description into rockchip,rk805.yaml and drop the
> standalone text binding.
> 
> While doing so, add the missing child node schema. The rockchip,rk805.yaml
> schema ends with 'additionalProperties: false' but did not describe the pin
> configuration child nodes at all, so a valid pinmux node like the one shown
> in pinctrl-rk805.txt was rejected:
> 
>     pmic@18 (rockchip,rk805): 'rk805-default-pins' does not match any of
>     the regexes: '^pinctrl-[0-9]+$'
> 
> The pin configuration nodes require 'pins'; without it a node that names
> no pin is accepted silently, while the text binding it replaces listed
> 'pins' as required. The RK805 exposes two output-only GPIOs, so 'pins' is
> an enum of gpio0 and gpio1 and a typo such as "gpio2" is caught.
> 
> The nodes may be direct children of the PMIC, or sit one level deeper
> inside a "pinmux" grouping node, which is the layout the example of the
> text binding used. pinctrl-bindings.txt allows the configuration nodes to
> be grandchildren of the pin controller, and the driver reaches both
> layouts: pinconf_generic_dt_node_to_map() parses the referenced node and
> then walks its children. The example shows both.
> 
> The example also regains the gpio-controller and #gpio-cells lines that the
> example of the text binding had.
> 
> Reported-by: Sashiko <sashiko-bot@kernel.org>
> Link: https://sashiko.dev/#/patchset/20260923034245.396417-1-quchaosheng000406@163.com?part=1
> Link: https://sashiko.dev/#/patchset/20260923062746.516666-1-quchaosheng000406@163.com?part=1
> Link: https://sashiko.dev/#/patchset/20260923074337.575122-1-quchaosheng000406@163.com?part=1
> Assisted-by: LLM
> Signed-off-by: Quchaosheng <quchaosheng000406@163.com>
> ---
> Changes in v5:
> - The child nodes of the "pinmux" node were matched with a patternProperties
>   entry guarded by "if: type: object". That has no "else", so a non-object
>   property of the grouping node, a misspelled "typo = <1>;" for instance,
>   matched the pattern and passed. Match them with additionalProperties
>   against the same definition instead. dtschema puts phandle and status into
>   the allowed properties there, so the grouping node keeps the phandle that
>   pinctrl-0 points at, and every other property has to be a pin
>   configuration node.
> 
> Changes in v4:
> - Describe the pin configuration nodes both as direct children and inside a
>   "pinmux" grouping node. Only the flat form was described, so the layout
>   used by the example of the text binding this replaces was still rejected:
> 
>     pmic@18 (rockchip,rk805): 'pinmux' does not match any of the regexes:
>       '-pins$', '^pinctrl-[0-9]+$'
> 
>   The nodes are now one definition referenced from both places, and the
>   example shows the flat node and a "pinmux" node holding one.
> - Name the binding in the summary, as
>   Documentation/devicetree/bindings/submitting-patches.rst shows for a
>   conversion ("dt-bindings: iio: adc: adi,ad7476: Convert to DT schema").
> 
> Changes in v3:
> - Capitalize the summary phrase. dt-bindings: mfd: titles are capitalized
>   after the subsystem prefix (Add 61, Convert 20 against convert 6).
> - Add gpio-controller and #gpio-cells to the example, which the text
>   binding's example had and the conversion dropped.
> - gpio-controller and #gpio-cells are deliberately *not* added to the
>   required list. rv1108-evb, rv1108-elgin-r1 and rk3328-a1 do not set
>   them, so requiring them breaks three in-tree boards:
> 
>     rv1108-evb.dtb: pmic@18 (rockchip,rk805): 'gpio-controller' is a required property
> 
>   No rk8xx PMIC schema requires the pair, and gpio.yaml already enforces
>   that they appear together ("'#gpio-cells' is a dependency of
>   'gpio-controller'"). The pinctrl driver calls devm_gpiochip_add_data()
>   unconditionally, so the property is not what makes the GPIO controller
>   work either.
> 
> Changes in v2:
> - Require 'pins' in the pin configuration nodes. Without it a node that
>   names no pin passes validation, while the text binding listed 'pins'
>   as required.
> ---
>  .../bindings/mfd/rockchip,rk805.yaml          | 60 +++++++++++++++++-
>  .../bindings/pinctrl/pinctrl-rk805.txt        | 63 -------------------
>  2 files changed, 59 insertions(+), 64 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl-rk805.txt
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>


      parent reply	other threads:[~2026-10-06 15:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-23  8:30 [PATCH v5] dt-bindings: mfd: rockchip,rk805: Convert pinctrl to DT schema Quchaosheng
2026-09-23  8:37 ` sashiko-bot
2026-10-06 15:52 ` Rob Herring (Arm) [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=179130193622.2397071.7473599240811145793.robh@kernel.org \
    --to=robh@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=krzk+dt@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mfd@lists.linux.dev \
    --cc=quchaosheng000406@163.com \
    --cc=zhangqing@rock-chips.com \
    --cc=zyw@rock-chips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox