* [PATCH 1/3] mfd: arizona: Remove BUG_ON usage @ 2020-05-29 15:57 Charles Keepax 2020-05-29 15:57 ` [PATCH 2/3] mfd: madera: Fix minor formatting issues Charles Keepax 2020-05-29 15:57 ` [PATCH 3/3] mfd: arizona: Ensure 32k clock is put on driver unbind and error Charles Keepax 0 siblings, 2 replies; 6+ messages in thread From: Charles Keepax @ 2020-05-29 15:57 UTC (permalink / raw) To: lee.jones; +Cc: s.nawrocki, linux-kernel, patches BUG_ON macros are generally frowned upon when the issue isn't super critical, the kernel can certainly carry on with the 32k clock on the CODEC in a bad state so change the BUG_ON to a WARN_ON. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> --- drivers/mfd/arizona-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index f73cf76d1373d..19e0bc3c0683e 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -80,7 +80,7 @@ int arizona_clk32k_disable(struct arizona *arizona) { mutex_lock(&arizona->clk_lock); - BUG_ON(arizona->clk32k_ref <= 0); + WARN_ON(arizona->clk32k_ref <= 0); arizona->clk32k_ref--; -- 2.11.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] mfd: madera: Fix minor formatting issues 2020-05-29 15:57 [PATCH 1/3] mfd: arizona: Remove BUG_ON usage Charles Keepax @ 2020-05-29 15:57 ` Charles Keepax 2020-06-01 5:24 ` Lee Jones 2020-05-29 15:57 ` [PATCH 3/3] mfd: arizona: Ensure 32k clock is put on driver unbind and error Charles Keepax 1 sibling, 1 reply; 6+ messages in thread From: Charles Keepax @ 2020-05-29 15:57 UTC (permalink / raw) To: lee.jones; +Cc: s.nawrocki, linux-kernel, patches Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> --- drivers/mfd/madera-core.c | 12 ++++++------ drivers/mfd/madera-i2c.c | 1 - include/linux/mfd/madera/pdata.h | 1 - 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/mfd/madera-core.c b/drivers/mfd/madera-core.c index 7e0835cb062b1..4724c1a01a39f 100644 --- a/drivers/mfd/madera-core.c +++ b/drivers/mfd/madera-core.c @@ -44,7 +44,7 @@ static const char * const madera_core_supplies[] = { }; static const struct mfd_cell madera_ldo1_devs[] = { - { .name = "madera-ldo1" }, + { .name = "madera-ldo1", }, }; static const char * const cs47l15_supplies[] = { @@ -55,8 +55,8 @@ static const char * const cs47l15_supplies[] = { static const struct mfd_cell cs47l15_devs[] = { { .name = "madera-pinctrl", }, - { .name = "madera-irq" }, - { .name = "madera-gpio" }, + { .name = "madera-irq", }, + { .name = "madera-gpio", }, { .name = "madera-extcon", .parent_supplies = cs47l15_supplies, @@ -108,7 +108,7 @@ static const char * const cs47l85_supplies[] = { static const struct mfd_cell cs47l85_devs[] = { { .name = "madera-pinctrl", }, { .name = "madera-irq", }, - { .name = "madera-micsupp" }, + { .name = "madera-micsupp", }, { .name = "madera-gpio", }, { .name = "madera-extcon", @@ -155,10 +155,10 @@ static const char * const cs47l92_supplies[] = { }; static const struct mfd_cell cs47l92_devs[] = { - { .name = "madera-pinctrl" }, + { .name = "madera-pinctrl", }, { .name = "madera-irq", }, { .name = "madera-micsupp", }, - { .name = "madera-gpio" }, + { .name = "madera-gpio", }, { .name = "madera-extcon", .parent_supplies = cs47l92_supplies, diff --git a/drivers/mfd/madera-i2c.c b/drivers/mfd/madera-i2c.c index 6b965eb034b6c..7df5b9ba58554 100644 --- a/drivers/mfd/madera-i2c.c +++ b/drivers/mfd/madera-i2c.c @@ -88,7 +88,6 @@ static int madera_i2c_probe(struct i2c_client *i2c, if (!madera) return -ENOMEM; - madera->regmap = devm_regmap_init_i2c(i2c, regmap_16bit_config); if (IS_ERR(madera->regmap)) { ret = PTR_ERR(madera->regmap); diff --git a/include/linux/mfd/madera/pdata.h b/include/linux/mfd/madera/pdata.h index fa9595dd42ba5..601cbbc10370c 100644 --- a/include/linux/mfd/madera/pdata.h +++ b/include/linux/mfd/madera/pdata.h @@ -21,7 +21,6 @@ struct gpio_desc; struct pinctrl_map; -struct madera_codec_pdata; /** * struct madera_pdata - Configuration data for Madera devices -- 2.11.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/3] mfd: madera: Fix minor formatting issues 2020-05-29 15:57 ` [PATCH 2/3] mfd: madera: Fix minor formatting issues Charles Keepax @ 2020-06-01 5:24 ` Lee Jones 2020-06-01 9:54 ` Charles Keepax 0 siblings, 1 reply; 6+ messages in thread From: Lee Jones @ 2020-06-01 5:24 UTC (permalink / raw) To: Charles Keepax; +Cc: s.nawrocki, linux-kernel, patches On Fri, 29 May 2020, Charles Keepax wrote: Still needs a commit log. > Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> > --- > drivers/mfd/madera-core.c | 12 ++++++------ > drivers/mfd/madera-i2c.c | 1 - > include/linux/mfd/madera/pdata.h | 1 - > 3 files changed, 6 insertions(+), 8 deletions(-) > > diff --git a/drivers/mfd/madera-core.c b/drivers/mfd/madera-core.c > index 7e0835cb062b1..4724c1a01a39f 100644 > --- a/drivers/mfd/madera-core.c > +++ b/drivers/mfd/madera-core.c > @@ -44,7 +44,7 @@ static const char * const madera_core_supplies[] = { > }; > > static const struct mfd_cell madera_ldo1_devs[] = { > - { .name = "madera-ldo1" }, > + { .name = "madera-ldo1", }, What issue does this solve? Why are ','s a requirement, even for single entries? > }; > > static const char * const cs47l15_supplies[] = { > @@ -55,8 +55,8 @@ static const char * const cs47l15_supplies[] = { > > static const struct mfd_cell cs47l15_devs[] = { > { .name = "madera-pinctrl", }, > - { .name = "madera-irq" }, > - { .name = "madera-gpio" }, > + { .name = "madera-irq", }, > + { .name = "madera-gpio", }, > { > .name = "madera-extcon", > .parent_supplies = cs47l15_supplies, > @@ -108,7 +108,7 @@ static const char * const cs47l85_supplies[] = { > static const struct mfd_cell cs47l85_devs[] = { > { .name = "madera-pinctrl", }, > { .name = "madera-irq", }, > - { .name = "madera-micsupp" }, > + { .name = "madera-micsupp", }, > { .name = "madera-gpio", }, > { > .name = "madera-extcon", > @@ -155,10 +155,10 @@ static const char * const cs47l92_supplies[] = { > }; > > static const struct mfd_cell cs47l92_devs[] = { > - { .name = "madera-pinctrl" }, > + { .name = "madera-pinctrl", }, > { .name = "madera-irq", }, > { .name = "madera-micsupp", }, > - { .name = "madera-gpio" }, > + { .name = "madera-gpio", }, > { > .name = "madera-extcon", > .parent_supplies = cs47l92_supplies, > diff --git a/drivers/mfd/madera-i2c.c b/drivers/mfd/madera-i2c.c > index 6b965eb034b6c..7df5b9ba58554 100644 > --- a/drivers/mfd/madera-i2c.c > +++ b/drivers/mfd/madera-i2c.c > @@ -88,7 +88,6 @@ static int madera_i2c_probe(struct i2c_client *i2c, > if (!madera) > return -ENOMEM; > > - > madera->regmap = devm_regmap_init_i2c(i2c, regmap_16bit_config); > if (IS_ERR(madera->regmap)) { > ret = PTR_ERR(madera->regmap); > diff --git a/include/linux/mfd/madera/pdata.h b/include/linux/mfd/madera/pdata.h > index fa9595dd42ba5..601cbbc10370c 100644 > --- a/include/linux/mfd/madera/pdata.h > +++ b/include/linux/mfd/madera/pdata.h > @@ -21,7 +21,6 @@ > > struct gpio_desc; > struct pinctrl_map; > -struct madera_codec_pdata; This is not a formatting issue. > /** > * struct madera_pdata - Configuration data for Madera devices -- Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/3] mfd: madera: Fix minor formatting issues 2020-06-01 5:24 ` Lee Jones @ 2020-06-01 9:54 ` Charles Keepax 2020-06-01 10:47 ` Lee Jones 0 siblings, 1 reply; 6+ messages in thread From: Charles Keepax @ 2020-06-01 9:54 UTC (permalink / raw) To: Lee Jones; +Cc: s.nawrocki, linux-kernel, patches On Mon, Jun 01, 2020 at 06:24:33AM +0100, Lee Jones wrote: > On Fri, 29 May 2020, Charles Keepax wrote: > > Still needs a commit log. > > > Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> > > --- > > drivers/mfd/madera-core.c | 12 ++++++------ > > drivers/mfd/madera-i2c.c | 1 - > > include/linux/mfd/madera/pdata.h | 1 - > > 3 files changed, 6 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/mfd/madera-core.c b/drivers/mfd/madera-core.c > > index 7e0835cb062b1..4724c1a01a39f 100644 > > --- a/drivers/mfd/madera-core.c > > +++ b/drivers/mfd/madera-core.c > > @@ -44,7 +44,7 @@ static const char * const madera_core_supplies[] = { > > }; > > > > static const struct mfd_cell madera_ldo1_devs[] = { > > - { .name = "madera-ldo1" }, > > + { .name = "madera-ldo1", }, > > What issue does this solve? > > Why are ','s a requirement, even for single entries? > Was more just a consistency thing, we seem to have ended up with half the lines having commas and half not, happy to move them all to not having comma's if that is your preference? > > }; > > > > static const char * const cs47l15_supplies[] = { > > @@ -55,8 +55,8 @@ static const char * const cs47l15_supplies[] = { > > > > static const struct mfd_cell cs47l15_devs[] = { > > { .name = "madera-pinctrl", }, > > - { .name = "madera-irq" }, > > - { .name = "madera-gpio" }, > > + { .name = "madera-irq", }, > > + { .name = "madera-gpio", }, > > { > > .name = "madera-extcon", > > .parent_supplies = cs47l15_supplies, > > @@ -108,7 +108,7 @@ static const char * const cs47l85_supplies[] = { > > static const struct mfd_cell cs47l85_devs[] = { > > { .name = "madera-pinctrl", }, > > { .name = "madera-irq", }, > > - { .name = "madera-micsupp" }, > > + { .name = "madera-micsupp", }, > > { .name = "madera-gpio", }, > > { > > .name = "madera-extcon", > > @@ -155,10 +155,10 @@ static const char * const cs47l92_supplies[] = { > > }; > > > > static const struct mfd_cell cs47l92_devs[] = { > > - { .name = "madera-pinctrl" }, > > + { .name = "madera-pinctrl", }, > > { .name = "madera-irq", }, > > { .name = "madera-micsupp", }, > > - { .name = "madera-gpio" }, > > + { .name = "madera-gpio", }, > > { > > .name = "madera-extcon", > > .parent_supplies = cs47l92_supplies, > > diff --git a/drivers/mfd/madera-i2c.c b/drivers/mfd/madera-i2c.c > > index 6b965eb034b6c..7df5b9ba58554 100644 > > --- a/drivers/mfd/madera-i2c.c > > +++ b/drivers/mfd/madera-i2c.c > > @@ -88,7 +88,6 @@ static int madera_i2c_probe(struct i2c_client *i2c, > > if (!madera) > > return -ENOMEM; > > > > - > > madera->regmap = devm_regmap_init_i2c(i2c, regmap_16bit_config); > > if (IS_ERR(madera->regmap)) { > > ret = PTR_ERR(madera->regmap); > > diff --git a/include/linux/mfd/madera/pdata.h b/include/linux/mfd/madera/pdata.h > > index fa9595dd42ba5..601cbbc10370c 100644 > > --- a/include/linux/mfd/madera/pdata.h > > +++ b/include/linux/mfd/madera/pdata.h > > @@ -21,7 +21,6 @@ > > > > struct gpio_desc; > > struct pinctrl_map; > > -struct madera_codec_pdata; > > This is not a formatting issue. Fair point will split out into a separate patch. Thanks, Charles ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/3] mfd: madera: Fix minor formatting issues 2020-06-01 9:54 ` Charles Keepax @ 2020-06-01 10:47 ` Lee Jones 0 siblings, 0 replies; 6+ messages in thread From: Lee Jones @ 2020-06-01 10:47 UTC (permalink / raw) To: Charles Keepax; +Cc: s.nawrocki, linux-kernel, patches On Mon, 01 Jun 2020, Charles Keepax wrote: > On Mon, Jun 01, 2020 at 06:24:33AM +0100, Lee Jones wrote: > > On Fri, 29 May 2020, Charles Keepax wrote: > > > > Still needs a commit log. > > > > > Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> > > > --- > > > drivers/mfd/madera-core.c | 12 ++++++------ > > > drivers/mfd/madera-i2c.c | 1 - > > > include/linux/mfd/madera/pdata.h | 1 - > > > 3 files changed, 6 insertions(+), 8 deletions(-) > > > > > > diff --git a/drivers/mfd/madera-core.c b/drivers/mfd/madera-core.c > > > index 7e0835cb062b1..4724c1a01a39f 100644 > > > --- a/drivers/mfd/madera-core.c > > > +++ b/drivers/mfd/madera-core.c > > > @@ -44,7 +44,7 @@ static const char * const madera_core_supplies[] = { > > > }; > > > > > > static const struct mfd_cell madera_ldo1_devs[] = { > > > - { .name = "madera-ldo1" }, > > > + { .name = "madera-ldo1", }, > > > > What issue does this solve? > > > > Why are ','s a requirement, even for single entries? > > > > Was more just a consistency thing, we seem to have ended up with > half the lines having commas and half not, happy to move them all > to not having comma's if that is your preference? I don't have a preference. Consistency is more important to me. Please describe your changes in the commit log. -- Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 3/3] mfd: arizona: Ensure 32k clock is put on driver unbind and error 2020-05-29 15:57 [PATCH 1/3] mfd: arizona: Remove BUG_ON usage Charles Keepax 2020-05-29 15:57 ` [PATCH 2/3] mfd: madera: Fix minor formatting issues Charles Keepax @ 2020-05-29 15:57 ` Charles Keepax 1 sibling, 0 replies; 6+ messages in thread From: Charles Keepax @ 2020-05-29 15:57 UTC (permalink / raw) To: lee.jones; +Cc: s.nawrocki, linux-kernel, patches Whilst it doesn't matter if the internal 32k clock register settings are cleaned up on exit, as the part will be turned off losing any settings, hence the driver hasn't historially bothered. The external clock should however be cleaned up, as it could cause clocks to be left on, and will at best generate a warning on unbind. Add clean up on both the probe error path and unbind for the 32k clock. Fixes: cdd8da8cc66b ("mfd: arizona: Add gating of external MCLKn clocks") Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> --- drivers/mfd/arizona-core.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index 19e0bc3c0683e..000cb82023e35 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -1426,6 +1426,15 @@ int arizona_dev_init(struct arizona *arizona) arizona_irq_exit(arizona); err_pm: pm_runtime_disable(arizona->dev); + + switch (arizona->pdata.clk32k_src) { + case ARIZONA_32KZ_MCLK1: + case ARIZONA_32KZ_MCLK2: + arizona_clk32k_disable(arizona); + break; + default: + break; + } err_reset: arizona_enable_reset(arizona); regulator_disable(arizona->dcvdd); @@ -1448,6 +1457,15 @@ int arizona_dev_exit(struct arizona *arizona) regulator_disable(arizona->dcvdd); regulator_put(arizona->dcvdd); + switch (arizona->pdata.clk32k_src) { + case ARIZONA_32KZ_MCLK1: + case ARIZONA_32KZ_MCLK2: + arizona_clk32k_disable(arizona); + break; + default: + break; + } + mfd_remove_devices(arizona->dev); arizona_free_irq(arizona, ARIZONA_IRQ_UNDERCLOCKED, arizona); arizona_free_irq(arizona, ARIZONA_IRQ_OVERCLOCKED, arizona); -- 2.11.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-06-01 10:48 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-05-29 15:57 [PATCH 1/3] mfd: arizona: Remove BUG_ON usage Charles Keepax 2020-05-29 15:57 ` [PATCH 2/3] mfd: madera: Fix minor formatting issues Charles Keepax 2020-06-01 5:24 ` Lee Jones 2020-06-01 9:54 ` Charles Keepax 2020-06-01 10:47 ` Lee Jones 2020-05-29 15:57 ` [PATCH 3/3] mfd: arizona: Ensure 32k clock is put on driver unbind and error Charles Keepax
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).