Re: [PATCH 08/10] dt-bindings: mfd: rohm,bd71828-pmic: Use generic power-controller schema
From: Matti Vaittinen
Date: Wed Aug 05 2026 - 03:15:58 EST
Hi Peng,
On 04/08/2026 17:16, Peng Fan (OSS) wrote:
From: Peng Fan <peng.fan@xxxxxxx>
Switch the binding to use the generic power-controller schema instead by
referencing power-controller.yaml and removing the local
`system-power-controller` property definition.
Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
---
Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml b/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml
index 09e7d68e92bf..9818102e02c7 100644
--- a/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml
+++ b/Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml
@@ -15,6 +15,9 @@ description: |
single-cell linear charger. Also included is a Coulomb counter, a real-time
clock (RTC), and a 32.768 kHz clock gate.
+allOf:
+ - $ref: /schemas/power/power-controller.yaml#
+
properties:
compatible:
oneOf:
@@ -79,8 +82,6 @@ properties:
used to mark the pins which should not be configured for GPIO. Please see
the ../gpio/gpio.txt for more information.
- system-power-controller: true
-
required:
- compatible
- reg
@@ -91,7 +92,7 @@ required:
- gpio-controller
- "#gpio-cells"
-additionalProperties: false
+unevaluatedProperties: false
If I am not mistaken, this allows all bindings from referenced common binding files, whether or not they are declared in this binding? If so, then this is probably not aligned with what I am hoping to do with the ROHM PMIC bindings [1] [2].
I hope to collect the commonly used ROHM PMIC bindings in one common file, and reference it from those PMIC files, which use some of those common properties. I would like to collect all of the commonly used ROHM MFD bindings in the same file because scattering them around in tiny files feels like a bad idea to me. This means that not all of the PMICs referencing this file, use all of the bindings from that file.
Hence I would prefer not to just allow everything from the common file - but to limit allowed properties to those that are explicitly mentioned for the specific PMIC. For example, my proposed change [1] moves:
rohm,clkout-open-drain, rohm,pin-clkout, rohm,pin-fault_b, "^rohm,pin-dvs[0-1]$" and "^rohm,pin-exten([0-1])?$" to rohm,pmic-pins.yaml. Only the rohm,clkout-open-drain should be supported allowed with the bd71828. Keeping:
additionalProperties: false
disallows the properties which aren't explicitly mentioned for the bd71828, while making it possible to keep the description, type and other common stuff in the common rohm,pmic-pins.yaml.
Also, keeping the single explicit line:
system-power-controller: true
to denote this specific PMIC can act as a system power controller feels (to me) more descriptive than "hiding" it in
$ref: /schemas/power/power-controller.yaml#
- which is also a single line.
As a summary - would it work if you added the reference (for description), but also kept the explicit system-power-controller: true and also the additionalProperties: false?
[1] https://lore.kernel.org/all/838486b443af9188410d8b802a818dc0af20ea9d.1785838585.git.mazziesaccount@xxxxxxxxx/
[2] https://lore.kernel.org/all/d419dcf8776f7ea88e4a66b9a0f0087f11e6622c.1785838585.git.mazziesaccount@xxxxxxxxx/
Yours,
-- Matti
examples:
- |
--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland
~~ When things go utterly wrong vim users can always type :help! ~~