Re: [PATCH v7 1/3] dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2025-09-11 06:36:43
Also in:
linux-omap, linux-pwm, lkml
On Wed, Sep 10, 2025 at 06:07:02PM +0200, Jihed Chaibi wrote:
quoted hunk ↗ jump to hunk
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 <redacted> --- 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/ (local) [2] https://lore.kernel.org/all/20250822225052.136919-1-jihed.chaibi.dev@gmail.com/ (local) [3] https://lore.kernel.org/all/20250816021523.167049-1-jihed.chaibi.dev@gmail.com/ (local) --- .../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.txtdiff --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?
quoted hunk ↗ jump to hunk
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. Best regards, Krzysztof