[PATCH] i2c: use dev_get_drvdata() to get private data in suspend/resume hooks

Andy Shevchenko andriy.shevchenko at linux.intel.com
Fri Jul 28 03:40:15 PDT 2017


On Fri, 2017-07-28 at 01:16 +0900, Masahiro Yamada wrote:
> Several drivers call to_platform_device() to get platform_device
> and pass it to platform_get_drvdata().  In platform_get_drvdata(),
> the platform_device is converted back to struct device again.
> 
> Use dev_get_drvdata() to avoid platform_device/device dance.
> 

I think it should be split on per driver basis.

In any case,

Reviewed-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>

(for DesignWare only)

>  drivers/i2c/busses/i2c-designware-platdrv.c | 6 ++----

> diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c
> b/drivers/i2c/busses/i2c-designware-platdrv.c
> index 2ea6d0d25a01..abe1eca8d689 100644
> --- a/drivers/i2c/busses/i2c-designware-platdrv.c
> +++ b/drivers/i2c/busses/i2c-designware-platdrv.c
> @@ -428,8 +428,7 @@ static void dw_i2c_plat_complete(struct device
> *dev)
>  #ifdef CONFIG_PM
>  static int dw_i2c_plat_suspend(struct device *dev)
>  {
> -	struct platform_device *pdev = to_platform_device(dev);
> -	struct dw_i2c_dev *i_dev = platform_get_drvdata(pdev);
> +	struct dw_i2c_dev *i_dev = dev_get_drvdata(dev);
>  
>  	i_dev->disable(i_dev);
>  	i2c_dw_plat_prepare_clk(i_dev, false);
> @@ -439,8 +438,7 @@ static int dw_i2c_plat_suspend(struct device *dev)
>  
>  static int dw_i2c_plat_resume(struct device *dev)
>  {
> -	struct platform_device *pdev = to_platform_device(dev);
> -	struct dw_i2c_dev *i_dev = platform_get_drvdata(pdev);
> +	struct dw_i2c_dev *i_dev = dev_get_drvdata(dev);
>  
>  	i2c_dw_plat_prepare_clk(i_dev, true);
>  	i_dev->init(i_dev);
> 

-- 
Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Intel Finland Oy



More information about the linux-arm-kernel mailing list