> 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 devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html