Re: [PATCH 1/2] dt-bindings: input: cirrus,cs40l50: Support for CS40L50

From: Krzysztof Kozlowski
Date: Wed Aug 09 2023 - 02:43:15 EST


On 08/08/2023 19:25, James Ogletree wrote:
> Introduce device tree bindings for the initial commit
> of the CS40L50 driver.
>
> Change-Id: I95369831f947cb32a0a80e81923fd28ace888481

Please run scripts/checkpatch.pl and fix reported warnings. Some
warnings can be ignored, but the code here looks like it needs a fix.
Feel free to get in touch if the warning is not clear.

> Signed-off-by: James Ogletree <james.ogletree@xxxxxxxxxx>
> ---
> .../bindings/input/cirrus,cs40l50.yaml | 77 +++++++++++++++++++
> MAINTAINERS | 9 +++
> 2 files changed, 86 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml b/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml
> new file mode 100644
> index 000000000000..5437c6beb1b3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml
> @@ -0,0 +1,77 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/cirrus,cs40l50.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic CS40L50 Advanced Haptic Driver

Driver as "motor"? If yes, then ok. If "Linux Driver" then not.

> +
> +maintainers:
> + - James Ogletree <james.ogletree@xxxxxxxxxx>
> +
> +description:
> + CS40L50 is a Haptic Driver with Waveform Memory DSP
> + and Closed-Loop Algorithms
> +
> +properties:
> + compatible:
> + enum:
> + - cirrus,cs40l50
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + reset-gpios:
> + maxItems: 1
> +
> + VA-supply:
> + description: Regulator for analog voltage

Keep lowercase, so "va-supply".

> +
> + VP-supply:
> + description: Regulator for peak voltage

ditto

> +
> + VIO-supply:
> + description: Regulator for digital IO voltage

ditto

> +
> + cirrus,external-boost:
> + description:
> + Bypass the CS40L50 boost converter.
> +
> + The amplifier on CS40L50 can be powered internally through the boost
> + converter, or else can be powered using an external supply. If an
> + external VA supply is used, the boost converter must be bypassed.
> + type: boolean

Isn't this property then conflicting with va-supply?

> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - reset-gpios
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/input/input.h>
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + cs40l50@34 {

Node names should be generic. See also an explanation and list of
examples (not exhaustive) in DT specification:
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

> + compatible = "cirrus,cs40l50";
> + reg = <0x34>;
> + interrupt-parent = <&gpio>;
> + interrupts = <113 IRQ_TYPE_LEVEL_LOW>;
> + reset-gpios = <&gpio 112 GPIO_ACTIVE_LOW>;
> + VA-supply = <&dummy_vreg>;

s/dummy_//

> + VP-supply = <&dummy_vreg>;

s/dummy_//

> + VIO-supply = <&dummy_vreg>;

s/dummy_//

> + cirrus,external-boost;
> + };
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 54ef320bb689..016e5ff3b831 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2081,6 +2081,15 @@ F: arch/arm/boot/compressed/misc-ep93xx.h
> F: arch/arm/mach-ep93xx/
> F: drivers/iio/adc/ep93xx_adc.c
>
> +CIRRUS LOGIC HAPTICS DRIVER
> +M: James Ogletree <james.ogletree@xxxxxxxxxx>
> +M: Fred Treven <fred.treven@xxxxxxxxxx>
> +M: Ben Bright <ben.bright@xxxxxxxxxx>
> +L: patches@xxxxxxxxxxxxxxxxxxxxxx

No typo in email? Qopensource?

> +S: Supported
> +T: git https://github.com/CirrusLogic/linux-drivers.git

We do not have real maintenance entries for individual drivers, thus no
git trees. Who is going to pull from your tree? Is your GPG key in
kernel.org keyring? I propose to drop the tree reference.

> +F: Documentation/devicetree/bindings/input/cirrus,cs40l50.yaml
> +
> ARM/CLKDEV SUPPORT
> M: Russell King <linux@xxxxxxxxxxxxxxx>
> L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers)

Best regards,
Krzysztof