[PATCH] spi/s3c64xx: Drop extra calls to spi_master_get in suspend/remove functions

Guenter Roeck linux at roeck-us.net
Thu Aug 23 09:39:31 EDT 2012


On Thu, Aug 23, 2012 at 02:40:45PM +0900, Kukjin Kim wrote:
> Guenter Roeck wrote:
> > 
> > Suspend and resume functions call spi_master_get() without matching
> > spi_master_put(). The extra references are unnecessary and cause
> > subsequent
> > module unload attempts to fail. Drop the calls.
> > 
> > Signed-off-by: Guenter Roeck <linux at roeck-us.net>
> 
> Acked-by: Kukjin Kim <kgene.kim at samsung.com>
> 
> (Cc'ed Mark Brown who is handling spi now)
> 
> Guenter, maybe you need to re-send this patch to Mark so that he can apply
> ;-)
> 
Guess you are right - and I did copy Mark on my later patches. Mark, I just
bounced the patch to you, so you should have it now.

Thanks,
Guenter

> Thanks.
> 
> Best regards,
> Kgene.
> --
> Kukjin Kim <kgene.kim at samsung.com>, Senior Engineer,
> SW Solution Development Team, Samsung Electronics Co., Ltd.
> 
> > ---
> >  drivers/spi/spi-s3c64xx.c |    8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
> > index 646a765..d7a87df 100644
> > --- a/drivers/spi/spi-s3c64xx.c
> > +++ b/drivers/spi/spi-s3c64xx.c
> > @@ -1409,7 +1409,7 @@ static int s3c64xx_spi_remove(struct platform_device
> > *pdev)
> >  #ifdef CONFIG_PM
> >  static int s3c64xx_spi_suspend(struct device *dev)
> >  {
> > -	struct spi_master *master = spi_master_get(dev_get_drvdata(dev));
> > +	struct spi_master *master = dev_get_drvdata(dev);
> >  	struct s3c64xx_spi_driver_data *sdd =
> > spi_master_get_devdata(master);
> > 
> >  	spi_master_suspend(master);
> > @@ -1428,7 +1428,7 @@ static int s3c64xx_spi_suspend(struct device *dev)
> > 
> >  static int s3c64xx_spi_resume(struct device *dev)
> >  {
> > -	struct spi_master *master = spi_master_get(dev_get_drvdata(dev));
> > +	struct spi_master *master = dev_get_drvdata(dev);
> >  	struct s3c64xx_spi_driver_data *sdd =
> > spi_master_get_devdata(master);
> >  	struct s3c64xx_spi_info *sci = sdd->cntrlr_info;
> > 
> > @@ -1452,7 +1452,7 @@ static int s3c64xx_spi_resume(struct device *dev)
> >  #ifdef CONFIG_PM_RUNTIME
> >  static int s3c64xx_spi_runtime_suspend(struct device *dev)
> >  {
> > -	struct spi_master *master = spi_master_get(dev_get_drvdata(dev));
> > +	struct spi_master *master = dev_get_drvdata(dev);
> >  	struct s3c64xx_spi_driver_data *sdd =
> > spi_master_get_devdata(master);
> > 
> >  	clk_disable(sdd->clk);
> > @@ -1463,7 +1463,7 @@ static int s3c64xx_spi_runtime_suspend(struct device
> > *dev)
> > 
> >  static int s3c64xx_spi_runtime_resume(struct device *dev)
> >  {
> > -	struct spi_master *master = spi_master_get(dev_get_drvdata(dev));
> > +	struct spi_master *master = dev_get_drvdata(dev);
> >  	struct s3c64xx_spi_driver_data *sdd =
> > spi_master_get_devdata(master);
> > 
> >  	clk_enable(sdd->src_clk);
> > --
> > 1.7.9.7
> 
> 



More information about the linux-arm-kernel mailing list