Re: [PATCH v7 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x

Krzysztof Kozlowski
2025-09-11T06:38:35Z

On 11/09/2025 08:36, Krzysztof Kozlowski wrote:
> On Wed, Sep 10, 2025 at 06:07:02PM +0200, Jihed Chaibi wrote:
>> Update the main TI TWL-family binding to be self-contained and to fix
>> pre-existing validation errors.
>>
>> To ensure future patches are bisectable, child nodes whose bindings
>> are in other patches (audio, keypad, usb, etc.) are now defined using
>> a flexible 'additionalProperties: true' pattern. This removes hard
>> dependencies between the MFD and subsystem bindings.
>>
>> The complete dtbs_check for this binding is clean except for two
>> warnings originating from pre-existing bugs in the OMAP DTS files,
>> for which fixes have already been submitted separately [1][2].
>>
>> Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
>>
>> ---
>> Changes in v7:
>> - Moved twl4030/twl6030-specific child node definitions (audio, usb..)
>> into the conditional 'if/then' block to improve schema accuracy.
>>
>> Changes in v6:
>> - Refactored the ti,twl4030-power compatible schema to be much stricter,
>> removing obsolete board-specific compatibles (-n900, -beagleboard-xm),
>> that were added in v5. The schema now only permits specific, valid
>> fallback combinations. This change is supported by subsequent patches
>> in the same series (2/3) & (3/3), which update the affected DTS files.
>> - Enforced the presence of the compatible property on all relevant
>> sub-nodes by adding 'required: - compatible', closing a key validation
>> loophole.
>> - Applied various formatting cleanups for readability and correctness.
>>
>> Changes in v5:
>> - Restructured the entire binding to define properties at the top
>> level instead of if/then blocks, per maintainer feedback.
>> - Added specific compatible enums for new child nodes instead of a
>> generic 'compatible: true'.
>> - Set 'unevaluatedProperties: false' for 'pwm' and 'pwmled' nodes to
>> enforce strict validation.
>> - Expanded 'power' node compatible enum to include all board-specific
>> compatible strings (used in existing device trees, e.g. OMAP3-based
>> boards) for more complete coverage.
>> - Corrected the schema for the 'power' node compatible to properly
>> handle single and fallback entries.
>>
>> Changes in v4:
>> - Reworked binding to be independent and bisectable per maintainer
>> feedback by using 'additionalProperties: true' for child nodes.
>> - Added board-specific compatibles to the 'power' node enum.
>> - Added definitions for 'clocks' and 'clock-names' properties.
>> - Renamed 'twl6030-usb' child node to 'usb-comparator' to match
>> existing Device Tree usage (twl6030.dtsi).
>> - Fixed some spelling/grammar erros in the description.
>>
>> Changes in v3:
>> - New patch to consolidate simple bindings (power, pwm) and add
>> definitions for all child nodes to fix dtbs_check validation
>> errors found in v2.
>>
>> Changes in v2:
>> - This patch is split from larger series [3] per maintainer feedback.
>> - Added missing sub-node definitions, resolving dtbs_check errors.
>>
>> [1] https://lore.kernel.org/all/20250822222530.113520-1-jihed.chaibi.dev@gmail.com/
>> [2] https://lore.kernel.org/all/20250822225052.136919-1-jihed.chaibi.dev@gmail.com/
>> [3] https://lore.kernel.org/all/20250816021523.167049-1-jihed.chaibi.dev@gmail.com/
>> ---
>> .../devicetree/bindings/mfd/ti,twl.yaml | 232 +++++++++++++++++-
>> .../devicetree/bindings/mfd/twl4030-power.txt | 48 ----
>> .../devicetree/bindings/pwm/ti,twl-pwm.txt | 17 --
>> .../devicetree/bindings/pwm/ti,twl-pwmled.txt | 17 --
>> 4 files changed, 221 insertions(+), 93 deletions(-)
>> delete mode 100644 Documentation/devicetree/bindings/mfd/twl4030-power.txt
>> delete mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt
>> delete mode 100644 Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
>> index f162ab60c09b..95238a10ecda 100644
>> --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
>> +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
>> @@ -9,11 +9,13 @@ title: Texas Instruments TWL family
>> maintainers:
>> - Andreas Kemnade <andreas@kemnade.info>
>>
>> -description: |
>> +description: >
>
> Why?
>
>> The TWLs are Integrated Power Management Chips.
>> - Some version might contain much more analog function like
>> +
>> + Some versions might contain much more analog functionality like
>> USB transceiver or Audio amplifier.
>> - These chips are connected to an i2c bus.
>> +
>> + These chips are connected to an I2C bus.
>>
>> allOf:
>> - if:
>> @@ -62,6 +64,7 @@ allOf:
>> pwrbutton:
>> type: object
>> additionalProperties: false
>> +
>> properties:
>> compatible:
>> const: ti,twl4030-pwrbutton
>> @@ -73,9 +76,109 @@ allOf:
>> watchdog:
>> type: object
>> additionalProperties: false
>> +
>> properties:
>> compatible:
>> const: ti,twl4030-wdt
>> +
>> + audio:
>
> Don't define properties in conditional block.

Really, I don't understand. You got review from the DT maintainer, you
got other ack and you drop both and introduce a completely odd change
(it's even documented in writing bindings not to do that change).

No, revert to v6 and re-apply all the tags you received.

Best regards,
Krzysztof