* [PATCH 1/2] leds: lp8860: Fix linuxdoc format for structure @ 2017-11-15 19:52 Dan Murphy 2017-11-15 19:52 ` [PATCH 2/2] leds: lp8860: Add regulator enable during init Dan Murphy 0 siblings, 1 reply; 3+ messages in thread From: Dan Murphy @ 2017-11-15 19:52 UTC (permalink / raw) To: rpurdie, jacek.anaszewski, pavel; +Cc: linux-leds, linux-kernel, Dan Murphy Fix the linuxdoc format defining the lp8860 structure. Signed-off-by: Dan Murphy <dmurphy@ti.com> --- drivers/leds/leds-lp8860.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/leds/leds-lp8860.c b/drivers/leds/leds-lp8860.c index 3e70775a2d54..91b6c5fbd361 100644 --- a/drivers/leds/leds-lp8860.c +++ b/drivers/leds/leds-lp8860.c @@ -98,7 +98,7 @@ * @enable_gpio - VDDIO/EN gpio to enable communication interface * @regulator - LED supply regulator pointer * @label - LED label -**/ + */ struct lp8860_led { struct mutex lock; struct i2c_client *client; -- 2.15.0.124.g7668cbc60 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] leds: lp8860: Add regulator enable during init 2017-11-15 19:52 [PATCH 1/2] leds: lp8860: Fix linuxdoc format for structure Dan Murphy @ 2017-11-15 19:52 ` Dan Murphy 2017-11-16 20:53 ` Jacek Anaszewski 0 siblings, 1 reply; 3+ messages in thread From: Dan Murphy @ 2017-11-15 19:52 UTC (permalink / raw) To: rpurdie, jacek.anaszewski, pavel; +Cc: linux-leds, linux-kernel, Dan Murphy Add the regulator enable call during initialization. If init fails then disable the regulator. Also during init the gpio gets set low even on a passing case so add if everything passes then return. Signed-off-by: Dan Murphy <dmurphy@ti.com> --- drivers/leds/leds-lp8860.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/drivers/leds/leds-lp8860.c b/drivers/leds/leds-lp8860.c index 91b6c5fbd361..f91a4fe25168 100644 --- a/drivers/leds/leds-lp8860.c +++ b/drivers/leds/leds-lp8860.c @@ -247,6 +247,15 @@ static int lp8860_init(struct lp8860_led *led) unsigned int read_buf; int ret, i, reg_count; + if (led->regulator) { + ret = regulator_enable(led->regulator); + if (ret) { + dev_err(&led->client->dev, + "Failed to enable regulator\n"); + return ret; + } + } + if (led->enable_gpio) gpiod_direction_output(led->enable_gpio, 1); @@ -282,12 +291,25 @@ static int lp8860_init(struct lp8860_led *led) ret = regmap_write(led->regmap, LP8860_EEPROM_CNTRL, LP8860_PROGRAM_EEPROM); - if (ret) + if (ret) { dev_err(&led->client->dev, "Failed programming EEPROM\n"); + goto out; + } + + return ret; + out: if (ret) if (led->enable_gpio) gpiod_direction_output(led->enable_gpio, 0); + + if (led->regulator) { + ret = regulator_disable(led->regulator); + if (ret) + dev_err(&led->client->dev, + "Failed to disable regulator\n"); + } + return ret; } -- 2.15.0.124.g7668cbc60 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 2/2] leds: lp8860: Add regulator enable during init 2017-11-15 19:52 ` [PATCH 2/2] leds: lp8860: Add regulator enable during init Dan Murphy @ 2017-11-16 20:53 ` Jacek Anaszewski 0 siblings, 0 replies; 3+ messages in thread From: Jacek Anaszewski @ 2017-11-16 20:53 UTC (permalink / raw) To: Dan Murphy; +Cc: rpurdie, pavel, linux-leds, linux-kernel Hi Dan, Thanks for the patch set. Both patches applied to the for-4.16 branch of linux-leds.git. Best regards, Jacek Anaszewski On 11/15/2017 08:52 PM, Dan Murphy wrote: > Add the regulator enable call during initialization. > If init fails then disable the regulator. > > Also during init the gpio gets set low even > on a passing case so add if everything passes > then return. > > Signed-off-by: Dan Murphy <dmurphy@ti.com> > --- > drivers/leds/leds-lp8860.c | 24 +++++++++++++++++++++++- > 1 file changed, 23 insertions(+), 1 deletion(-) > > diff --git a/drivers/leds/leds-lp8860.c b/drivers/leds/leds-lp8860.c > index 91b6c5fbd361..f91a4fe25168 100644 > --- a/drivers/leds/leds-lp8860.c > +++ b/drivers/leds/leds-lp8860.c > @@ -247,6 +247,15 @@ static int lp8860_init(struct lp8860_led *led) > unsigned int read_buf; > int ret, i, reg_count; > > + if (led->regulator) { > + ret = regulator_enable(led->regulator); > + if (ret) { > + dev_err(&led->client->dev, > + "Failed to enable regulator\n"); > + return ret; > + } > + } > + > if (led->enable_gpio) > gpiod_direction_output(led->enable_gpio, 1); > > @@ -282,12 +291,25 @@ static int lp8860_init(struct lp8860_led *led) > ret = regmap_write(led->regmap, > LP8860_EEPROM_CNTRL, > LP8860_PROGRAM_EEPROM); > - if (ret) > + if (ret) { > dev_err(&led->client->dev, "Failed programming EEPROM\n"); > + goto out; > + } > + > + return ret; > + > out: > if (ret) > if (led->enable_gpio) > gpiod_direction_output(led->enable_gpio, 0); > + > + if (led->regulator) { > + ret = regulator_disable(led->regulator); > + if (ret) > + dev_err(&led->client->dev, > + "Failed to disable regulator\n"); > + } > + > return ret; > } > > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-11-16 20:54 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-11-15 19:52 [PATCH 1/2] leds: lp8860: Fix linuxdoc format for structure Dan Murphy 2017-11-15 19:52 ` [PATCH 2/2] leds: lp8860: Add regulator enable during init Dan Murphy 2017-11-16 20:53 ` Jacek Anaszewski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).