Message ID | 20191206075300.18182-1-hslester96@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ASoC: wm5100: add missed regulator_bulk_disable | expand |
On Fri, Dec 06, 2019 at 03:53:00PM +0800, Chuhong Yuan wrote: > The driver forgets to call regulator_bulk_disable() in remove like that > in probe failure. > Add the missed call to fix it. > > Signed-off-by: Chuhong Yuan <hslester96@gmail.com> > --- > sound/soc/codecs/wm5100.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sound/soc/codecs/wm5100.c b/sound/soc/codecs/wm5100.c > index 91cc63c5a51f..d985b2061169 100644 > --- a/sound/soc/codecs/wm5100.c > +++ b/sound/soc/codecs/wm5100.c > @@ -2653,6 +2653,8 @@ static int wm5100_i2c_remove(struct i2c_client *i2c) > gpio_set_value_cansleep(wm5100->pdata.ldo_ena, 0); > gpio_free(wm5100->pdata.ldo_ena); > } > + regulator_bulk_disable(ARRAY_SIZE(wm5100->core_supplies), > + wm5100->core_supplies); > This is a bit trickier than this since these regulators are being controlled by PM runtime, and it doesn't necessarily leave things in an enabled state when it is disabled. Thanks, Charles
diff --git a/sound/soc/codecs/wm5100.c b/sound/soc/codecs/wm5100.c index 91cc63c5a51f..d985b2061169 100644 --- a/sound/soc/codecs/wm5100.c +++ b/sound/soc/codecs/wm5100.c @@ -2653,6 +2653,8 @@ static int wm5100_i2c_remove(struct i2c_client *i2c) gpio_set_value_cansleep(wm5100->pdata.ldo_ena, 0); gpio_free(wm5100->pdata.ldo_ena); } + regulator_bulk_disable(ARRAY_SIZE(wm5100->core_supplies), + wm5100->core_supplies); return 0; }
The driver forgets to call regulator_bulk_disable() in remove like that in probe failure. Add the missed call to fix it. Signed-off-by: Chuhong Yuan <hslester96@gmail.com> --- sound/soc/codecs/wm5100.c | 2 ++ 1 file changed, 2 insertions(+)