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>
prev 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