Re: [PATCH/RFC v3 3/5] leds: Add support for max77693 mfd flash cell

From: Lee Jones
Date: Wed Apr 16 2014 - 06:36:03 EST


> This patch adds led-flash support to Maxim max77693 chipset.
> A device can be exposed to user space through LED subsystem
> sysfs interface or through V4L2 subdevice when the support
> for V4L2 Flash sub-devices is enabled. Device supports up to
> two leds which can work in flash and torch mode. Leds can
> be triggered externally or by software.
>
> Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx>
> Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx>
> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
> Cc: Bryan Wu <cooloney@xxxxxxxxx>
> Cc: Richard Purdie <rpurdie@xxxxxxxxx>
> Cc: SangYoung Son <hello.son@xxxxxxxxxxx>
> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
> Cc: Lee Jones <lee.jones@xxxxxxxxxx>
> ---
> drivers/leds/Kconfig | 10 +
> drivers/leds/Makefile | 1 +
> drivers/leds/leds-max77693.c | 794 ++++++++++++++++++++++++++++++++++++++++++
> drivers/mfd/max77693.c | 2 +-
> include/linux/mfd/max77693.h | 38 ++
> 5 files changed, 844 insertions(+), 1 deletion(-)
> create mode 100644 drivers/leds/leds-max77693.c

[...]

> diff --git a/drivers/mfd/max77693.c b/drivers/mfd/max77693.c
> index c5535f0..f061aa8 100644
> --- a/drivers/mfd/max77693.c
> +++ b/drivers/mfd/max77693.c
> @@ -44,7 +44,7 @@
> static const struct mfd_cell max77693_devs[] = {
> { .name = "max77693-pmic", },
> { .name = "max77693-charger", },
> - { .name = "max77693-flash", },
> + { .name = "max77693-flash", .of_compatible = "maxim,max77693-flash", },

I would prefer for this to be opened up i.e. not on one line.

> { .name = "max77693-muic", },
> { .name = "max77693-haptic", },
> };
> diff --git a/include/linux/mfd/max77693.h b/include/linux/mfd/max77693.h
> index 3f3dc45..f2285b7 100644
> --- a/include/linux/mfd/max77693.h
> +++ b/include/linux/mfd/max77693.h
> @@ -63,6 +63,43 @@ struct max77693_muic_platform_data {
> int path_uart;
> };
>
> +/* MAX77693 led flash */
> +
> +/* triggers */
> +enum max77693_led_trigger {
> + MAX77693_LED_TRIG_OFF,
> + MAX77693_LED_TRIG_FLASH,
> + MAX77693_LED_TRIG_TORCH,
> + MAX77693_LED_TRIG_EXT,
> + MAX77693_LED_TRIG_SOFT,
> +};
> +
> +

Extra '\n' here.

> +/* trigger types */
> +enum max77693_led_trigger_type {
> + MAX77693_LED_TRIG_TYPE_EDGE,
> + MAX77693_LED_TRIG_TYPE_LEVEL,
> +};
> +
> +/* boost modes */
> +enum max77693_led_boost_mode {
> + MAX77693_LED_BOOST_NONE,
> + MAX77693_LED_BOOST_ADAPTIVE,
> + MAX77693_LED_BOOST_FIXED,
> +};
> +
> +struct max77693_led_platform_data {
> + u32 iout[4];
> + u32 trigger[4];
> + u32 trigger_type[2];
> + u32 timeout[2];
> + u32 boost_mode[2];
> + u32 boost_vout;
> + u32 low_vsys;
> +};

Bryan will have to review this.

> +/* MAX77693 */
> +
> struct max77693_platform_data {
> /* regulator data */
> struct max77693_regulator_data *regulators;
> @@ -70,5 +107,6 @@ struct max77693_platform_data {
>
> /* muic data */
> struct max77693_muic_platform_data *muic_data;
> + struct max77693_led_platform_data *led_data;
> };
> #endif /* __LINUX_MFD_MAX77693_H */

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/