Re: [PATCH 1/2] leds: cpcap: new driver

From: Pavel Machek
Date: Mon Mar 06 2017 - 18:13:09 EST


Hi!

> Motorola CPCAP is a PMIC found in multiple smartphones.
> This driver adds support for the chip's LED controllers.
> It has explicit support for all controllers used by the
> Droid 4. Since no datasheets are available the other
> available controllers are not supported until somebody
> verified, that the register layout matches.

This of course leads me to two questions:

1) Where can I get Droid 4?

2) How well is it supported?

> index 000000000000..d523f8c3c358
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/cpcap-leds.txt
> @@ -0,0 +1,29 @@
> +Motorola CPCAP PMIC LEDs
> +------------------------
> +
> +This module is part of the CPCAP. For more details about the whole
> +chip see Documentation/devicetree/bindings/mfd/motorola-cpcap.txt.
> +
> +Requires node properties:
> +- compatible: should be one of
> + * "motorola,cpcap-led-mdl" (Main Display Lighting)
> + * "motorola,cpcap-led-kl" (Keyboard Lighting)
> + * "motorola,cpcap-led-adl" (Aux Display Lighting)
> + * "motorola,cpcap-led-red" (Red Triode)
> + * "motorola,cpcap-led-green" (Green Triode)
> + * "motorola,cpcap-led-blue" (Blue Triode)
> + * "motorola,cpcap-led-cf" (Camera Flash)
> + * "motorola,cpcap-led-bt" (Bluetooth)
> + * "motorola,cpcap-led-cp" (Camera Privacy LED)

BTW. Does the RGB controller support any kind of "patterns" similar to
what n900 can do?

> +&cpcap {
> + cpcap_led_red: red-led {
> + compatible = "motorola,cpcap-led-red";
> + label = "cpcap:red";
> + vdd-supply = <&sw5>;
> + };
> +};

This should be copied to the device tree people.

> index 275f467956ee..043f02a4fe73 100644
> --- a/drivers/leds/Kconfig
> +++ b/drivers/leds/Kconfig
> @@ -76,6 +76,15 @@ config LEDS_BCM6358
> This option enables support for LEDs connected to the BCM6358
> LED HW controller accessed via MMIO registers.
>
> +config LEDS_CPCAP
> + tristate "LED Support for Motorola CPCAP"
> + depends on LEDS_CLASS
> + depends on MFD_CPCAP
> + depends on OF
> + help
> + This option enables support for LEDs offered by Motorola's
> + CPCAP PMIC.
> +

Umm. That help explains exactly what I oculd tell from the name. Can
you spell out "CPCAP" and "PMIC"... and maybe mention that it is used
on the Droid 4 phone?

> +#define DEBUG

Remove for production?

> + err = device_property_read_string(&pdev->dev, "label", &led->led.name);
> + if (err) {
> + dev_err(led->dev, "Couldn't read led label: %d", err);

s/led/LED/.

> + if (err) {
> + dev_err(led->dev, "Couldn't register led: %d", err);
> + return err;

And here.

Acked-by: Pavel Machek <pavel@xxxxxx>
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature