Subject: Re: [PATCH v12 1/6] mfd: mt6397: Modify suspend/resume behavior

From: Lee Jones <[email-masked]>
Date: Mon, 20 Apr 2020 12:15:22 +0100

On Mon, 20 Apr 2020, Hsin-hsiung Wang wrote:

> Hi,
> 
> On Thu, 2020-04-16 at 09:49 +0100, Lee Jones wrote:
> > On Wed, 08 Apr 2020, Hsin-Hsiung Wang wrote:
> > 
> > > Some pmics don't need backup interrupt settings, so we change to use
> > > pm notifier for the pmics which are necessary to store settings.
> > > 
> > > Signed-off-by: Hsin-Hsiung Wang <[email-masked]>
> > > ---
> > >  drivers/mfd/mt6397-core.c       | 30 ------------------------------
> > >  drivers/mfd/mt6397-irq.c        | 35 ++++++++++++++++++++++++++++++++++-
> > >  include/linux/mfd/mt6397/core.h |  2 ++
> > >  3 files changed, 36 insertions(+), 31 deletions(-)
> > > 
> > > diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c
> > > index 0437c85..d2e70d8 100644
> > > --- a/drivers/mfd/mt6397-core.c
> > > +++ b/drivers/mfd/mt6397-core.c
> > > @@ -100,35 +100,6 @@ static const struct mfd_cell mt6397_devs[] = {
> > >  	}
> > >  };
> > >  
> > > -#ifdef CONFIG_PM_SLEEP
> > > -static int mt6397_irq_suspend(struct device *dev)
> > > -{
> > > -	struct mt6397_chip *chip = dev_get_drvdata(dev);
> > > -
> > > -	regmap_write(chip->regmap, chip->int_con[0], chip->wake_mask[0]);
> > > -	regmap_write(chip->regmap, chip->int_con[1], chip->wake_mask[1]);
> > > -
> > > -	enable_irq_wake(chip->irq);
> > > -
> > > -	return 0;
> > > -}
> > > -
> > > -static int mt6397_irq_resume(struct device *dev)
> > > -{
> > > -	struct mt6397_chip *chip = dev_get_drvdata(dev);
> > > -
> > > -	regmap_write(chip->regmap, chip->int_con[0], chip->irq_masks_cur[0]);
> > > -	regmap_write(chip->regmap, chip->int_con[1], chip->irq_masks_cur[1]);
> > > -
> > > -	disable_irq_wake(chip->irq);
> > > -
> > > -	return 0;
> > > -}
> > > -#endif
> > > -
> > > -static SIMPLE_DEV_PM_OPS(mt6397_pm_ops, mt6397_irq_suspend,
> > > -			mt6397_irq_resume);
> > > -
> > >  struct chip_data {
> > >  	u32 cid_addr;
> > >  	u32 cid_shift;
> > > @@ -238,7 +209,6 @@ static struct platform_driver mt6397_driver = {
> > >  	.driver = {
> > >  		.name = "mt6397",
> > >  		.of_match_table = of_match_ptr(mt6397_of_match),
> > > -		.pm = &mt6397_pm_ops,
> > >  	},
> > >  	.id_table = mt6397_id,
> > >  };
> > > diff --git a/drivers/mfd/mt6397-irq.c b/drivers/mfd/mt6397-irq.c
> > > index b2d3ce1..2924919 100644
> > > --- a/drivers/mfd/mt6397-irq.c
> > > +++ b/drivers/mfd/mt6397-irq.c
> > > @@ -9,6 +9,7 @@
> > >  #include <linux/of_irq.h>
> > >  #include <linux/platform_device.h>
> > >  #include <linux/regmap.h>
> > > +#include <linux/suspend.h>
> > >  #include <linux/mfd/mt6323/core.h>
> > >  #include <linux/mfd/mt6323/registers.h>
> > >  #include <linux/mfd/mt6397/core.h>
> > > @@ -81,7 +82,7 @@ static struct irq_chip mt6397_irq_chip = {
> > >  static void mt6397_irq_handle_reg(struct mt6397_chip *mt6397, int reg,
> > >  				  int irqbase)
> > >  {
> > > -	unsigned int status;
> > > +	unsigned int status = 0;
> > 
> > This looks like an unrelated change, no?
> > 
> 
> It is to fix the coverity defect.

Which isn't mentioned in the commit log and doesn't have anything to
do with this patch.  Thus it should be in a separate patch, but I'm
not going to lose any sleep over it.

> > >  	int i, irq, ret;
> > >  
> > >  	ret = regmap_read(mt6397->regmap, reg, &status);
> > > @@ -128,6 +129,36 @@ static const struct irq_domain_ops mt6397_irq_domain_ops = {
> > >  	.map = mt6397_irq_domain_map,
> > >  };
> > 
> > Other than that.
> > 
> > For my own reference:
> >   Acked-for-MFD-by: Lee Jones <[email-masked]>
> > 
> Thanks for your review. I will add it in the next version.
> 

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel