Re: [PATCHv4 06/10] mfd: ti-lmu: add PWM support

From: Sebastian Reichel
Date: Mon Apr 09 2018 - 11:46:59 EST


Hi,

On Wed, Apr 04, 2018 at 02:04:16PM -0500, Dan Murphy wrote:
> Sebastian
>
> -Milo
>
> On 03/30/2018 12:24 PM, Sebastian Reichel wrote:
> > This adds support to acquire the optional PWM channel,
> > that can be used by some of the LMU variants.
> >
> > Signed-off-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx>
> > ---
> > drivers/mfd/ti-lmu.c | 11 +++++++++++
> > include/linux/mfd/ti-lmu.h | 3 +++
> > 2 files changed, 14 insertions(+)
> >
> > diff --git a/drivers/mfd/ti-lmu.c b/drivers/mfd/ti-lmu.c
> > index ce16c896879b..f43b8acc30e1 100644
> > --- a/drivers/mfd/ti-lmu.c
> > +++ b/drivers/mfd/ti-lmu.c
> > @@ -183,6 +183,17 @@ static int ti_lmu_probe(struct i2c_client *cl, const struct i2c_device_id *id)
> > return ret;
> > }
> >
> > + lmu->pwm = devm_pwm_get(dev, "lmu-backlight");
>
> Patch 9 of this series, or a derivative of it, should technically
> be before Patch 6 so that the binding is correct. Otherwise the
> binding will not match the code.

I guess the binding update should be the first patch. I will change
this in the next revision.

-- Sebastian

> > + if (IS_ERR(lmu->pwm)) {
> > + ret = PTR_ERR(lmu->pwm);
> > + if (ret != -EINVAL) {
> > + dev_err(dev, "Failed to get PWM: %d\n", ret);
> > + return ret;
> > + }
> > +
> > + lmu->pwm = NULL;
> > + }
> > +
> > ret = ti_lmu_enable_hw(lmu, id->driver_data);
> > if (ret)
> > return ret;
> > diff --git a/include/linux/mfd/ti-lmu.h b/include/linux/mfd/ti-lmu.h
> > index 1ef51ed36be5..246ab5145dff 100644
> > --- a/include/linux/mfd/ti-lmu.h
> > +++ b/include/linux/mfd/ti-lmu.h
> > @@ -17,6 +17,7 @@
> > #include <linux/notifier.h>
> > #include <linux/regmap.h>
> > #include <linux/gpio/consumer.h>
> > +#include <linux/pwm.h>
> >
> > /* Notifier event */
> > #define LMU_EVENT_MONITOR_DONE 0x01
> > @@ -77,12 +78,14 @@ enum lm363x_regulator_id {
> > * @dev: Parent device pointer
> > * @regmap: Used for i2c communcation on accessing registers
> > * @en_gpio: GPIO for HWEN pin [Optional]
> > + * @pwm: PWM for module [Optional]
> > * @notifier: Notifier for reporting hwmon event
> > */
> > struct ti_lmu {
> > struct device *dev;
> > struct regmap *regmap;
> > struct gpio_desc *en_gpio;
> > + struct pwm_device *pwm;
> > struct blocking_notifier_head notifier;
> > };
> > #endif
> >
>
>
> --
> ------------------
> Dan Murphy

Attachment: signature.asc
Description: PGP signature