* [PATCH] dt-bindings: input: Add AD7147 CapTouch schema
@ 2026-09-21 23:27 Rob Herring (Arm)
2026-09-21 23:36 ` sashiko-bot
2026-09-22 18:00 ` Conor Dooley
0 siblings, 2 replies; 3+ messages in thread
From: Rob Herring (Arm) @ 2026-09-21 23:27 UTC (permalink / raw)
To: Dmitry Torokhov, Krzysztof Kozlowski, Conor Dooley,
Michael Hennerich
Cc: linux-input, devicetree, linux-kernel
Add a schema for the Analog Devices AD7147 CapTouch controller used by
the Microsoft Lumia 950 and Lumia 950 XL device trees. Document its I2C
address, interrupt, and optional vcc supply.
Assisted-by: LLM
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
.../devicetree/bindings/input/adi,ad714x.yaml | 48 +++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/adi,ad714x.yaml
diff --git a/Documentation/devicetree/bindings/input/adi,ad714x.yaml b/Documentation/devicetree/bindings/input/adi,ad714x.yaml
new file mode 100644
index 000000000000..8351c28147ee
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/adi,ad714x.yaml
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/adi,ad714x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD7147 CapTouch Programmable Controller
+
+maintainers:
+ - Michael Hennerich <michael.hennerich@analog.com>
+
+properties:
+ compatible:
+ const: adi,ad7147_captouch
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ vcc-supply: true
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ touch@2c {
+ compatible = "adi,ad7147_captouch";
+ reg = <0x2c>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <96 IRQ_TYPE_EDGE_FALLING>;
+ vcc-supply = <&vreg_l18a_2p85>;
+ };
+ };
+
+...
--
2.53.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] dt-bindings: input: Add AD7147 CapTouch schema
2026-09-21 23:27 [PATCH] dt-bindings: input: Add AD7147 CapTouch schema Rob Herring (Arm)
@ 2026-09-21 23:36 ` sashiko-bot
2026-09-22 18:00 ` Conor Dooley
1 sibling, 0 replies; 3+ messages in thread
From: sashiko-bot @ 2026-09-21 23:36 UTC (permalink / raw)
To: Rob Herring (Arm)
Cc: robh, conor+dt, devicetree, linux-input, dmitry.torokhov
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] dt-bindings: compatible string inappropriately encodes Linux driver name
- [Medium] dt-bindings: schema omits essential properties for programmable layout
--
commit e423e496cad8df9cf9b56b68a72e3590fb50e497
Author: Rob Herring (Arm) <robh@kernel.org>
dt-bindings: input: Add AD7147 CapTouch schema
Add a schema for the Analog Devices AD7147 CapTouch controller used by
the Microsoft Lumia 950 and Lumia 950 XL device trees. Document its I2C
address, interrupt, and optional vcc supply.
> diff --git a/Documentation/devicetree/bindings/input/adi,ad714x.yaml b/Documentation/devicetree/bindings/input/adi,ad714x.yaml
> new file mode 100644
> index 0000000000000..8351c28147ee1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/adi,ad714x.yaml
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/adi,ad714x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD7147 CapTouch Programmable Controller
> +
> +maintainers:
> + - Michael Hennerich <michael.hennerich@analog.com>
> +
> +properties:
> + compatible:
> + const: adi,ad7147_captouch
[Severity: Medium]
Does this compatible string inappropriately encode a Linux-specific driver
name?
The correct hardware name is adi,ad7147. By defining adi,ad7147_captouch
instead, it seems to exploit the Linux I2C subsystem's fallback match to
the existing ad7147_captouch I2C ID in ad714x-i2c.c, avoiding the need to
properly patch the driver with an of_match_table.
Because Device Tree bindings form a cross-OS ABI contract, encoding a
Linux-specific abstraction leaks Linux internals to bootloaders and other
operating systems, establishing a permanently flawed ABI for this hardware.
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + vcc-supply: true
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +additionalProperties: false
[Severity: Medium]
Does this schema omit the essential properties needed to describe the
physical layout of this programmable controller?
The AD7147 requires its physical layout (number of sliders, buttons,
wheels, touchpads, and stages) to be configured. The Linux driver (ad714x.c)
currently relies entirely on struct ad714x_platform_data for this, but the
provided schema completely omits any properties or child nodes to express
this physical layout in the Device Tree.
Because the schema enforces additionalProperties: false, any attempt by a
board device tree (like the Lumia 950) to actually add the missing but
essential configuration properties will be strictly rejected by
dt_binding_check, making it functionally useless for platform initialization.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260921232731.3134965-1-robh@kernel.org?part=1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] dt-bindings: input: Add AD7147 CapTouch schema
2026-09-21 23:27 [PATCH] dt-bindings: input: Add AD7147 CapTouch schema Rob Herring (Arm)
2026-09-21 23:36 ` sashiko-bot
@ 2026-09-22 18:00 ` Conor Dooley
1 sibling, 0 replies; 3+ messages in thread
From: Conor Dooley @ 2026-09-22 18:00 UTC (permalink / raw)
To: Rob Herring (Arm)
Cc: Dmitry Torokhov, Krzysztof Kozlowski, Conor Dooley,
Michael Hennerich, linux-input, devicetree, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 2053 bytes --]
On Mon, Sep 21, 2026 at 06:27:30PM -0500, Rob Herring (Arm) wrote:
> Add a schema for the Analog Devices AD7147 CapTouch controller used by
> the Microsoft Lumia 950 and Lumia 950 XL device trees. Document its I2C
> address, interrupt, and optional vcc supply.
>
> Assisted-by: LLM
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
> .../devicetree/bindings/input/adi,ad714x.yaml | 48 +++++++++++++++++++
> 1 file changed, 48 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/adi,ad714x.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/adi,ad714x.yaml b/Documentation/devicetree/bindings/input/adi,ad714x.yaml
> new file mode 100644
> index 000000000000..8351c28147ee
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/adi,ad714x.yaml
Does the LLM guidance you provide not include filenames matching
compatibles?
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/adi,ad714x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD7147 CapTouch Programmable Controller
> +
> +maintainers:
> + - Michael Hennerich <michael.hennerich@analog.com>
> +
> +properties:
> + compatible:
> + const: adi,ad7147_captouch
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + vcc-supply: true
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + touch@2c {
> + compatible = "adi,ad7147_captouch";
> + reg = <0x2c>;
> + interrupt-parent = <&tlmm>;
> + interrupts = <96 IRQ_TYPE_EDGE_FALLING>;
> + vcc-supply = <&vreg_l18a_2p85>;
> + };
> + };
> +
> +...
> --
> 2.53.0
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-22 18:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-21 23:27 [PATCH] dt-bindings: input: Add AD7147 CapTouch schema Rob Herring (Arm)
2026-09-21 23:36 ` sashiko-bot
2026-09-22 18:00 ` Conor Dooley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox