All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Dooks <ben-linux@fluff.org>
To: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org>
Cc: dmitri.vorobiev-WgUW+8SLYMv1KXRcyAk9cg@public.gmane.org,
	khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	kernel-janitors-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 4/28] drivers/ide: Drop return value from
Date: Tue, 16 Dec 2008 19:57:34 +0000	[thread overview]
Message-ID: <20081216195734.GA8032@fluff.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.64.0812101727230.21998-QfmoRoYWmW9knbxzx/v8hQ@public.gmane.org>

On Wed, Dec 10, 2008 at 05:27:56PM +0100, Julia Lawall wrote:
> From: Julia Lawall <julia@diku.dk>
> 
> The return value of the remove function of a driver structure, and thus of
> a platform_driver structure, is ultimately ignored, and is thus
> unnecessary.  This patch removes the return value for the remove function
> stored in a platform_driver structure.
> 
> For the files drivers/i2c/busses/i2c-at91.c and
> drivers/i2c/busses/i2c-mv64xxx.c, the original return value was the value
> of a variable storing the result of calling i2c_del_adapter.  I have thus
> also deleted the declaration and initialization of this variable.  For the
> other files, the return values were always 0.
> 
> A simplified version of the semantic patch that makes this change is as
> follows: (http://www.emn.fr/x-info/coccinelle/)

I take it remove_new will eventually be renamed to remove once all
the changes have been made?

Unless there are any objections I'll add this to the merge list for
the next window.
 
> // <smpl>
> @r@
> struct platform_driver I;
> identifier a,f;
> position p;
> @@
> I.remove = \(f@p\|a(f@p)\);
> 
> @void_called@
> identifier r.f;
> position p;
> @@
> f@p(...);
> 
> @called@
> identifier r.f;
> position p1 != void_called.p;
> @@
> f@p1(...)
> 
> @localfn@
> identifier r.f;
> @@
> static int f(...) { ... }
> 
> @depends on !called && localfn@
> struct platform_driver I;
> identifier a,f;
> position r.p;
> @@
> 
> I.
> - remove
> + remove_new
>    = \(f@p\|a(f@p)\);
> 
> @depends on !called && localfn@
> identifier r.f,i;
> constant C;
> expression E;
> @@
> 
> - int
> + void
>        f(...) {
>   <...
> (
> -  return \(C\|i\);
> +  return;
> |
> -  return E;
> +  E;
> +  return;
> )
>   ...>
> }
> // </smpl>
> 
> Signed-off-by: Julia Lawall <julia@diku.dk>
> 
> ---
>  drivers/i2c/busses/i2c-at91.c          |    9 +++------
>  drivers/i2c/busses/i2c-au1550.c        |    5 ++---
>  drivers/i2c/busses/i2c-bfin-twi.c      |    6 ++----
>  drivers/i2c/busses/i2c-davinci.c       |    5 ++---
>  drivers/i2c/busses/i2c-gpio.c          |    6 ++----
>  drivers/i2c/busses/i2c-highlander.c    |    6 ++----
>  drivers/i2c/busses/i2c-iop3xx.c        |    6 ++----
>  drivers/i2c/busses/i2c-ixp2000.c       |    6 ++----
>  drivers/i2c/busses/i2c-mv64xxx.c       |    9 +++------
>  drivers/i2c/busses/i2c-ocores.c        |    6 ++----
>  drivers/i2c/busses/i2c-omap.c          |    5 ++---
>  drivers/i2c/busses/i2c-parport-light.c |    6 ++----
>  drivers/i2c/busses/i2c-pca-platform.c  |    6 ++----
>  drivers/i2c/busses/i2c-pmcmsp.c        |    6 ++----
>  drivers/i2c/busses/i2c-pnx.c           |    6 ++----
>  drivers/i2c/busses/i2c-powermac.c      |    6 ++----
>  drivers/i2c/busses/i2c-pxa.c           |    6 ++----
>  drivers/i2c/busses/i2c-s3c2410.c       |    8 +++-----
>  drivers/i2c/busses/i2c-sh7760.c        |    6 ++----
>  drivers/i2c/busses/i2c-sh_mobile.c     |    5 ++---
>  drivers/i2c/busses/i2c-simtec.c        |    6 ++----
>  drivers/i2c/busses/i2c-versatile.c     |    5 ++---
>  drivers/i2c/chips/isp1301_omap.c       |    5 ++---
>  23 files changed, 49 insertions(+), 91 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-au1550.c b/drivers/i2c/busses/i2c-au1550.c
> index 66a04c2..b52c460 100644
> --- a/drivers/i2c/busses/i2c-au1550.c
> +++ b/drivers/i2c/busses/i2c-au1550.c
> @@ -427,7 +427,7 @@ out:
>  	return ret;
>  }
>  
> -static int __devexit
> +static void __devexit
>  i2c_au1550_remove(struct platform_device *pdev)
>  {
>  	struct i2c_au1550_data *priv = platform_get_drvdata(pdev);
> @@ -438,7 +438,6 @@ i2c_au1550_remove(struct platform_device *pdev)
>  	release_resource(priv->ioarea);
>  	kfree(priv->ioarea);
>  	kfree(priv);
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -472,7 +471,7 @@ static struct platform_driver au1xpsc_smbus_driver = {
>  		.owner	= THIS_MODULE,
>  	},
>  	.probe		= i2c_au1550_probe,
> -	.remove		= __devexit_p(i2c_au1550_remove),
> +	.remove_new	= __devexit_p(i2c_au1550_remove),
>  	.suspend	= i2c_au1550_suspend,
>  	.resume		= i2c_au1550_resume,
>  };
> diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
> index 3c855ff..0048c6d 100644
> --- a/drivers/i2c/busses/i2c-bfin-twi.c
> +++ b/drivers/i2c/busses/i2c-bfin-twi.c
> @@ -712,7 +712,7 @@ out_error_nomem:
>  	return rc;
>  }
>  
> -static int i2c_bfin_twi_remove(struct platform_device *pdev)
> +static void i2c_bfin_twi_remove(struct platform_device *pdev)
>  {
>  	struct bfin_twi_iface *iface = platform_get_drvdata(pdev);
>  
> @@ -723,13 +723,11 @@ static int i2c_bfin_twi_remove(struct platform_device *pdev)
>  	peripheral_free_list(pin_req[pdev->id]);
>  	iounmap(iface->regs_base);
>  	kfree(iface);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_bfin_twi_driver = {
>  	.probe		= i2c_bfin_twi_probe,
> -	.remove		= i2c_bfin_twi_remove,
> +	.remove_new	= i2c_bfin_twi_remove,
>  	.suspend	= i2c_bfin_twi_suspend,
>  	.resume		= i2c_bfin_twi_resume,
>  	.driver		= {
> diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
> index 5d77898..02056a0 100644
> --- a/drivers/i2c/busses/i2c-davinci.c
> +++ b/drivers/i2c/busses/i2c-davinci.c
> @@ -575,7 +575,7 @@ err_release_region:
>  	return r;
>  }
>  
> -static int davinci_i2c_remove(struct platform_device *pdev)
> +static void davinci_i2c_remove(struct platform_device *pdev)
>  {
>  	struct davinci_i2c_dev *dev = platform_get_drvdata(pdev);
>  	struct resource *mem;
> @@ -594,7 +594,6 @@ static int davinci_i2c_remove(struct platform_device *pdev)
>  
>  	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	release_mem_region(mem->start, (mem->end - mem->start) + 1);
> -	return 0;
>  }
>  
>  /* work with hotplug and coldplug */
> @@ -602,7 +601,7 @@ MODULE_ALIAS("platform:i2c_davinci");
>  
>  static struct platform_driver davinci_i2c_driver = {
>  	.probe		= davinci_i2c_probe,
> -	.remove		= davinci_i2c_remove,
> +	.remove_new	= davinci_i2c_remove,
>  	.driver		= {
>  		.name	= "i2c_davinci",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
> index 32104ea..8515699 100644
> --- a/drivers/i2c/busses/i2c-gpio.c
> +++ b/drivers/i2c/busses/i2c-gpio.c
> @@ -174,7 +174,7 @@ err_alloc_adap:
>  	return ret;
>  }
>  
> -static int __devexit i2c_gpio_remove(struct platform_device *pdev)
> +static void __devexit i2c_gpio_remove(struct platform_device *pdev)
>  {
>  	struct i2c_gpio_platform_data *pdata;
>  	struct i2c_adapter *adap;
> @@ -187,8 +187,6 @@ static int __devexit i2c_gpio_remove(struct platform_device *pdev)
>  	gpio_free(pdata->sda_pin);
>  	kfree(adap->algo_data);
>  	kfree(adap);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_gpio_driver = {
> @@ -197,7 +195,7 @@ static struct platform_driver i2c_gpio_driver = {
>  		.owner	= THIS_MODULE,
>  	},
>  	.probe		= i2c_gpio_probe,
> -	.remove		= __devexit_p(i2c_gpio_remove),
> +	.remove_new	= __devexit_p(i2c_gpio_remove),
>  };
>  
>  static int __init i2c_gpio_init(void)
> diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
> index f4d22ae..da592f6 100644
> --- a/drivers/i2c/busses/i2c-highlander.c
> +++ b/drivers/i2c/busses/i2c-highlander.c
> @@ -441,7 +441,7 @@ err:
>  	return ret;
>  }
>  
> -static int __devexit highlander_i2c_remove(struct platform_device *pdev)
> +static void __devexit highlander_i2c_remove(struct platform_device *pdev)
>  {
>  	struct highlander_i2c_dev *dev = platform_get_drvdata(pdev);
>  
> @@ -454,8 +454,6 @@ static int __devexit highlander_i2c_remove(struct platform_device *pdev)
>  	kfree(dev);
>  
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver highlander_i2c_driver = {
> @@ -465,7 +463,7 @@ static struct platform_driver highlander_i2c_driver = {
>  	},
>  
>  	.probe		= highlander_i2c_probe,
> -	.remove		= __devexit_p(highlander_i2c_remove),
> +	.remove_new	= __devexit_p(highlander_i2c_remove),
>  };
>  
>  static int __init highlander_i2c_init(void)
> diff --git a/drivers/i2c/busses/i2c-iop3xx.c b/drivers/i2c/busses/i2c-iop3xx.c
> index fc2714a..e2827e1 100644
> --- a/drivers/i2c/busses/i2c-iop3xx.c
> +++ b/drivers/i2c/busses/i2c-iop3xx.c
> @@ -400,7 +400,7 @@ static const struct i2c_algorithm iop3xx_i2c_algo = {
>  	.functionality	= iop3xx_i2c_func,
>  };
>  
> -static int 
> +static void
>  iop3xx_i2c_remove(struct platform_device *pdev)
>  {
>  	struct i2c_adapter *padapter = platform_get_drvdata(pdev);
> @@ -422,8 +422,6 @@ iop3xx_i2c_remove(struct platform_device *pdev)
>  	kfree(padapter);
>  
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static int 
> @@ -524,7 +522,7 @@ out:
>  
>  static struct platform_driver iop3xx_i2c_driver = {
>  	.probe		= iop3xx_i2c_probe,
> -	.remove		= iop3xx_i2c_remove,
> +	.remove_new	= iop3xx_i2c_remove,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
>  		.name	= "IOP3xx-I2C",
> diff --git a/drivers/i2c/busses/i2c-ixp2000.c b/drivers/i2c/busses/i2c-ixp2000.c
> index 05d72e9..77d4541 100644
> --- a/drivers/i2c/busses/i2c-ixp2000.c
> +++ b/drivers/i2c/busses/i2c-ixp2000.c
> @@ -84,7 +84,7 @@ struct ixp2000_i2c_data {
>  	struct i2c_algo_bit_data algo_data;
>  };
>  
> -static int ixp2000_i2c_remove(struct platform_device *plat_dev)
> +static void ixp2000_i2c_remove(struct platform_device *plat_dev)
>  {
>  	struct ixp2000_i2c_data *drv_data = platform_get_drvdata(plat_dev);
>  
> @@ -93,8 +93,6 @@ static int ixp2000_i2c_remove(struct platform_device *plat_dev)
>  	i2c_del_adapter(&drv_data->adapter);
>  
>  	kfree(drv_data);
> -
> -	return 0;
>  }
>  
>  static int ixp2000_i2c_probe(struct platform_device *plat_dev)
> @@ -141,7 +139,7 @@ static int ixp2000_i2c_probe(struct platform_device *plat_dev)
>  
>  static struct platform_driver ixp2000_i2c_driver = {
>  	.probe		= ixp2000_i2c_probe,
> -	.remove		= ixp2000_i2c_remove,
> +	.remove_new	= ixp2000_i2c_remove,
>  	.driver		= {
>  		.name	= "IXP2000-I2C",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
> index e5193bf..9205931 100644
> --- a/drivers/i2c/busses/i2c-ocores.c
> +++ b/drivers/i2c/busses/i2c-ocores.c
> @@ -285,7 +285,7 @@ request_mem_failed:
>  	return ret;
>  }
>  
> -static int __devexit ocores_i2c_remove(struct platform_device* pdev)
> +static void __devexit ocores_i2c_remove(struct platform_device *pdev)
>  {
>  	struct ocores_i2c *i2c = platform_get_drvdata(pdev);
>  	struct resource *res;
> @@ -309,8 +309,6 @@ static int __devexit ocores_i2c_remove(struct platform_device* pdev)
>  		release_mem_region(res->start, res->end - res->start + 1);
>  
>  	kfree(i2c);
> -
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -343,7 +341,7 @@ MODULE_ALIAS("platform:ocores-i2c");
>  
>  static struct platform_driver ocores_i2c_driver = {
>  	.probe   = ocores_i2c_probe,
> -	.remove  = __devexit_p(ocores_i2c_remove),
> +	.remove_new = __devexit_p(ocores_i2c_remove),
>  	.suspend = ocores_i2c_suspend,
>  	.resume  = ocores_i2c_resume,
>  	.driver  = {
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index 608038d..8f6b336 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -656,7 +656,7 @@ err_release_region:
>  	return r;
>  }
>  
> -static int
> +static void
>  omap_i2c_remove(struct platform_device *pdev)
>  {
>  	struct omap_i2c_dev	*dev = platform_get_drvdata(pdev);
> @@ -672,12 +672,11 @@ omap_i2c_remove(struct platform_device *pdev)
>  	kfree(dev);
>  	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	release_mem_region(mem->start, (mem->end - mem->start) + 1);
> -	return 0;
>  }
>  
>  static struct platform_driver omap_i2c_driver = {
>  	.probe		= omap_i2c_probe,
> -	.remove		= omap_i2c_remove,
> +	.remove_new	= omap_i2c_remove,
>  	.driver		= {
>  		.name	= "i2c_omap",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-parport-light.c b/drivers/i2c/busses/i2c-parport-light.c
> index b2b8380..39f3841 100644
> --- a/drivers/i2c/busses/i2c-parport-light.c
> +++ b/drivers/i2c/busses/i2c-parport-light.c
> @@ -138,15 +138,13 @@ static int __devinit i2c_parport_probe(struct platform_device *pdev)
>  	return err;
>  }
>  
> -static int __devexit i2c_parport_remove(struct platform_device *pdev)
> +static void __devexit i2c_parport_remove(struct platform_device *pdev)
>  {
>  	i2c_del_adapter(&parport_adapter);
>  
>  	/* Un-init if needed (power off...) */
>  	if (adapter_parm[type].init.val)
>  		line_set(0, &adapter_parm[type].init);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_parport_driver = {
> @@ -155,7 +153,7 @@ static struct platform_driver i2c_parport_driver = {
>  		.name	= DRVNAME,
>  	},
>  	.probe		= i2c_parport_probe,
> -	.remove		= __devexit_p(i2c_parport_remove),
> +	.remove_new	= __devexit_p(i2c_parport_remove),
>  };
>  
>  static int __init i2c_parport_device_add(u16 address)
> diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c
> index 6bb15ad..12fed52 100644
> --- a/drivers/i2c/busses/i2c-pca-platform.c
> +++ b/drivers/i2c/busses/i2c-pca-platform.c
> @@ -250,7 +250,7 @@ e_print:
>  	return ret;
>  }
>  
> -static int __devexit i2c_pca_pf_remove(struct platform_device *pdev)
> +static void __devexit i2c_pca_pf_remove(struct platform_device *pdev)
>  {
>  	struct i2c_pca_pf_data *i2c = platform_get_drvdata(pdev);
>  	platform_set_drvdata(pdev, NULL);
> @@ -266,13 +266,11 @@ static int __devexit i2c_pca_pf_remove(struct platform_device *pdev)
>  	iounmap(i2c->reg_base);
>  	release_mem_region(i2c->io_base, i2c->io_size);
>  	kfree(i2c);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_pca_pf_driver = {
>  	.probe = i2c_pca_pf_probe,
> -	.remove = __devexit_p(i2c_pca_pf_remove),
> +	.remove_new = __devexit_p(i2c_pca_pf_remove),
>  	.driver = {
>  		.name = "i2c-pca-platform",
>  		.owner = THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
> index dcf2045..3f1266e 100644
> --- a/drivers/i2c/busses/i2c-pmcmsp.c
> +++ b/drivers/i2c/busses/i2c-pmcmsp.c
> @@ -369,7 +369,7 @@ ret_err:
>  /*
>   * Release the device and return 0 if there is one.
>   */
> -static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
> +static void __devexit pmcmsptwi_remove(struct platform_device *pldev)
>  {
>  	struct resource *res;
>  
> @@ -386,8 +386,6 @@ static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
>  
>  	res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
>  	release_mem_region(res->start, res->end - res->start + 1);
> -
> -	return 0;
>  }
>  
>  /*
> @@ -632,7 +630,7 @@ MODULE_ALIAS("platform:" DRV_NAME);
>  
>  static struct platform_driver pmcmsptwi_driver = {
>  	.probe  = pmcmsptwi_probe,
> -	.remove	= __devexit_p(pmcmsptwi_remove),
> +	.remove_new = __devexit_p(pmcmsptwi_remove),
>  	.driver = {
>  		.name	= DRV_NAME,
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-pnx.c b/drivers/i2c/busses/i2c-pnx.c
> index ec15cff..999dfc6 100644
> --- a/drivers/i2c/busses/i2c-pnx.c
> +++ b/drivers/i2c/busses/i2c-pnx.c
> @@ -657,7 +657,7 @@ out:
>  	return ret;
>  }
>  
> -static int __devexit i2c_pnx_remove(struct platform_device *pdev)
> +static void __devexit i2c_pnx_remove(struct platform_device *pdev)
>  {
>  	struct i2c_pnx_data *i2c_pnx = platform_get_drvdata(pdev);
>  	struct i2c_adapter *adap = i2c_pnx->adapter;
> @@ -669,8 +669,6 @@ static int __devexit i2c_pnx_remove(struct platform_device *pdev)
>  	iounmap((void *)alg_data->ioaddr);
>  	release_region(alg_data->base, I2C_PNX_REGION_SIZE);
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_pnx_driver = {
> @@ -679,7 +677,7 @@ static struct platform_driver i2c_pnx_driver = {
>  		.owner = THIS_MODULE,
>  	},
>  	.probe = i2c_pnx_probe,
> -	.remove = __devexit_p(i2c_pnx_remove),
> +	.remove_new = __devexit_p(i2c_pnx_remove),
>  	.suspend = i2c_pnx_controller_suspend,
>  	.resume = i2c_pnx_controller_resume,
>  };
> diff --git a/drivers/i2c/busses/i2c-powermac.c b/drivers/i2c/busses/i2c-powermac.c
> index 60ca917..2153260 100644
> --- a/drivers/i2c/busses/i2c-powermac.c
> +++ b/drivers/i2c/busses/i2c-powermac.c
> @@ -180,7 +180,7 @@ static const struct i2c_algorithm i2c_powermac_algorithm = {
>  };
>  
>  
> -static int __devexit i2c_powermac_remove(struct platform_device *dev)
> +static void __devexit i2c_powermac_remove(struct platform_device *dev)
>  {
>  	struct i2c_adapter	*adapter = platform_get_drvdata(dev);
>  	struct pmac_i2c_bus	*bus = i2c_get_adapdata(adapter);
> @@ -195,8 +195,6 @@ static int __devexit i2c_powermac_remove(struct platform_device *dev)
>  		       adapter->name);
>  	platform_set_drvdata(dev, NULL);
>  	kfree(adapter);
> -
> -	return 0;
>  }
>  
>  
> @@ -297,7 +295,7 @@ MODULE_ALIAS("platform:i2c-powermac");
>  
>  static struct platform_driver i2c_powermac_driver = {
>  	.probe = i2c_powermac_probe,
> -	.remove = __devexit_p(i2c_powermac_remove),
> +	.remove_new = __devexit_p(i2c_powermac_remove),
>  	.driver = {
>  		.name = "i2c-powermac",
>  		.bus = &platform_bus_type,
> diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
> index 906f9b9..801db2b 100644
> --- a/drivers/i2c/busses/i2c-pxa.c
> +++ b/drivers/i2c/busses/i2c-pxa.c
> @@ -1098,7 +1098,7 @@ emalloc:
>  	return ret;
>  }
>  
> -static int __exit i2c_pxa_remove(struct platform_device *dev)
> +static void __exit i2c_pxa_remove(struct platform_device *dev)
>  {
>  	struct pxa_i2c *i2c = platform_get_drvdata(dev);
>  
> @@ -1114,8 +1114,6 @@ static int __exit i2c_pxa_remove(struct platform_device *dev)
>  	iounmap(i2c->reg_base);
>  	release_mem_region(i2c->iobase, i2c->iosize);
>  	kfree(i2c);
> -
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -1142,7 +1140,7 @@ static int i2c_pxa_resume_early(struct platform_device *dev)
>  
>  static struct platform_driver i2c_pxa_driver = {
>  	.probe		= i2c_pxa_probe,
> -	.remove		= __exit_p(i2c_pxa_remove),
> +	.remove_new	= __exit_p(i2c_pxa_remove),
>  	.suspend_late	= i2c_pxa_suspend_late,
>  	.resume_early	= i2c_pxa_resume_early,
>  	.driver		= {
> diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
> index 1fac4e2..7a4472f 100644
> --- a/drivers/i2c/busses/i2c-s3c2410.c
> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> @@ -965,7 +965,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
>   * called when device is removed from the bus
>  */
>  
> -static int s3c24xx_i2c_remove(struct platform_device *pdev)
> +static void s3c24xx_i2c_remove(struct platform_device *pdev)
>  {
>  	struct s3c24xx_i2c *i2c = platform_get_drvdata(pdev);
>  
> @@ -981,8 +981,6 @@ static int s3c24xx_i2c_remove(struct platform_device *pdev)
>  
>  	release_resource(i2c->ioarea);
>  	kfree(i2c->ioarea);
> -
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -1004,7 +1002,7 @@ static int s3c24xx_i2c_resume(struct platform_device *dev)
>  
>  static struct platform_driver s3c2410_i2c_driver = {
>  	.probe		= s3c24xx_i2c_probe,
> -	.remove		= s3c24xx_i2c_remove,
> +	.remove_new	= s3c24xx_i2c_remove,
>  	.resume		= s3c24xx_i2c_resume,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
> @@ -1014,7 +1012,7 @@ static struct platform_driver s3c2410_i2c_driver = {
>  
>  static struct platform_driver s3c2440_i2c_driver = {
>  	.probe		= s3c24xx_i2c_probe,
> -	.remove		= s3c24xx_i2c_remove,
> +	.remove_new	= s3c24xx_i2c_remove,
>  	.resume		= s3c24xx_i2c_resume,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-sh7760.c b/drivers/i2c/busses/i2c-sh7760.c
> index 5e0e254..6efea66 100644
> --- a/drivers/i2c/busses/i2c-sh7760.c
> +++ b/drivers/i2c/busses/i2c-sh7760.c
> @@ -535,7 +535,7 @@ out0:
>  	return ret;
>  }
>  
> -static int __devexit sh7760_i2c_remove(struct platform_device *pdev)
> +static void __devexit sh7760_i2c_remove(struct platform_device *pdev)
>  {
>  	struct cami2c *id = platform_get_drvdata(pdev);
>  
> @@ -546,8 +546,6 @@ static int __devexit sh7760_i2c_remove(struct platform_device *pdev)
>  	kfree(id->ioarea);
>  	kfree(id);
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver sh7760_i2c_drv = {
> @@ -556,7 +554,7 @@ static struct platform_driver sh7760_i2c_drv = {
>  		.owner	= THIS_MODULE,
>  	},
>  	.probe		= sh7760_i2c_probe,
> -	.remove		= __devexit_p(sh7760_i2c_remove),
> +	.remove_new	= __devexit_p(sh7760_i2c_remove),
>  };
>  
>  static int __init sh7760_i2c_init(void)
> diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
> index 3384a71..0dcbbe7 100644
> --- a/drivers/i2c/busses/i2c-sh_mobile.c
> +++ b/drivers/i2c/busses/i2c-sh_mobile.c
> @@ -607,7 +607,7 @@ static int sh_mobile_i2c_probe(struct platform_device *dev)
>  	return ret;
>  }
>  
> -static int sh_mobile_i2c_remove(struct platform_device *dev)
> +static void sh_mobile_i2c_remove(struct platform_device *dev)
>  {
>  	struct sh_mobile_i2c_data *pd = platform_get_drvdata(dev);
>  
> @@ -616,7 +616,6 @@ static int sh_mobile_i2c_remove(struct platform_device *dev)
>  	sh_mobile_i2c_hook_irqs(dev, 0);
>  	clk_put(pd->clk);
>  	kfree(pd);
> -	return 0;
>  }
>  
>  static struct platform_driver sh_mobile_i2c_driver = {
> @@ -625,7 +624,7 @@ static struct platform_driver sh_mobile_i2c_driver = {
>  		.owner		= THIS_MODULE,
>  	},
>  	.probe		= sh_mobile_i2c_probe,
> -	.remove		= sh_mobile_i2c_remove,
> +	.remove_new	= sh_mobile_i2c_remove,
>  };
>  
>  static int __init sh_mobile_i2c_adap_init(void)
> diff --git a/drivers/i2c/busses/i2c-simtec.c b/drivers/i2c/busses/i2c-simtec.c
> index 042fda2..499ca5c 100644
> --- a/drivers/i2c/busses/i2c-simtec.c
> +++ b/drivers/i2c/busses/i2c-simtec.c
> @@ -142,7 +142,7 @@ static int simtec_i2c_probe(struct platform_device *dev)
>  	return ret;
>  }
>  
> -static int simtec_i2c_remove(struct platform_device *dev)
> +static void simtec_i2c_remove(struct platform_device *dev)
>  {
>  	struct simtec_i2c_data *pd = platform_get_drvdata(dev);
>  
> @@ -152,8 +152,6 @@ static int simtec_i2c_remove(struct platform_device *dev)
>  	release_resource(pd->ioarea);
>  	kfree(pd->ioarea);
>  	kfree(pd);
> -
> -	return 0;
>  }
>  
>  
> @@ -168,7 +166,7 @@ static struct platform_driver simtec_i2c_driver = {
>  		.owner		= THIS_MODULE,
>  	},
>  	.probe		= simtec_i2c_probe,
> -	.remove		= simtec_i2c_remove,
> +	.remove_new	= simtec_i2c_remove,
>  };
>  
>  static int __init i2c_adap_simtec_init(void)
> diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
> index 4678bab..8e0eb91 100644
> --- a/drivers/i2c/busses/i2c-versatile.c
> +++ b/drivers/i2c/busses/i2c-versatile.c
> @@ -117,19 +117,18 @@ static int i2c_versatile_probe(struct platform_device *dev)
>  	return ret;
>  }
>  
> -static int i2c_versatile_remove(struct platform_device *dev)
> +static void i2c_versatile_remove(struct platform_device *dev)
>  {
>  	struct i2c_versatile *i2c = platform_get_drvdata(dev);
>  
>  	platform_set_drvdata(dev, NULL);
>  
>  	i2c_del_adapter(&i2c->adap);
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_versatile_driver = {
>  	.probe		= i2c_versatile_probe,
> -	.remove		= i2c_versatile_remove,
> +	.remove_new	= i2c_versatile_remove,
>  	.driver		= {
>  		.name	= "versatile-i2c",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/chips/isp1301_omap.c b/drivers/i2c/chips/isp1301_omap.c
> index e0d56ef..96a74ab 100644
> --- a/drivers/i2c/chips/isp1301_omap.c
> +++ b/drivers/i2c/chips/isp1301_omap.c
> @@ -908,15 +908,14 @@ static int otg_probe(struct platform_device *dev)
>  	return 0;
>  }
>  
> -static int otg_remove(struct platform_device *dev)
> +static void otg_remove(struct platform_device *dev)
>  {
>  	otg_dev = NULL;
> -	return 0;
>  }
>  
>  static struct platform_driver omap_otg_driver = {
>  	.probe		= otg_probe,
> -	.remove		= otg_remove,
> +	.remove_new	= otg_remove,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
>  		.name	= "omap_otg",
> diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
> index 9efb021..2284a49 100644
> --- a/drivers/i2c/busses/i2c-at91.c
> +++ b/drivers/i2c/busses/i2c-at91.c
> @@ -257,13 +257,12 @@ fail0:
>  	return rc;
>  }
>  
> -static int __devexit at91_i2c_remove(struct platform_device *pdev)
> +static void __devexit at91_i2c_remove(struct platform_device *pdev)
>  {
>  	struct i2c_adapter *adapter = platform_get_drvdata(pdev);
>  	struct resource *res;
> -	int rc;
>  
> -	rc = i2c_del_adapter(adapter);
> +	i2c_del_adapter(adapter);
>  	platform_set_drvdata(pdev, NULL);
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> @@ -272,8 +271,6 @@ static int __devexit at91_i2c_remove(struct platform_device *pdev)
>  
>  	clk_disable(twi_clk);		/* disable peripheral clock */
>  	clk_put(twi_clk);
> -
> -	return rc;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -301,7 +298,7 @@ MODULE_ALIAS("platform:at91_i2c");
>  
>  static struct platform_driver at91_i2c_driver = {
>  	.probe		= at91_i2c_probe,
> -	.remove		= __devexit_p(at91_i2c_remove),
> +	.remove_new	= __devexit_p(at91_i2c_remove),
>  	.suspend	= at91_i2c_suspend,
>  	.resume		= at91_i2c_resume,
>  	.driver		= {
> diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
> index 9e8118d..73a5a1e 100644
> --- a/drivers/i2c/busses/i2c-mv64xxx.c
> +++ b/drivers/i2c/busses/i2c-mv64xxx.c
> @@ -562,23 +562,20 @@ mv64xxx_i2c_probe(struct platform_device *pd)
>  	return rc;
>  }
>  
> -static int __devexit
> +static void __devexit
>  mv64xxx_i2c_remove(struct platform_device *dev)
>  {
>  	struct mv64xxx_i2c_data		*drv_data = platform_get_drvdata(dev);
> -	int	rc;
>  
> -	rc = i2c_del_adapter(&drv_data->adapter);
> +	i2c_del_adapter(&drv_data->adapter);
>  	free_irq(drv_data->irq, drv_data);
>  	mv64xxx_i2c_unmap_regs(drv_data);
>  	kfree(drv_data);
> -
> -	return rc;
>  }
>  
>  static struct platform_driver mv64xxx_i2c_driver = {
>  	.probe	= mv64xxx_i2c_probe,
> -	.remove	= mv64xxx_i2c_remove,
> +	.remove_new = mv64xxx_i2c_remove,
>  	.driver	= {
>  		.owner	= THIS_MODULE,
>  		.name	= MV64XXX_I2C_CTLR_NAME,
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Ben (ben@fluff.org, http://www.fluff.org/)

  'a smiley only costs 4 bytes'

WARNING: multiple messages have this Message-ID (diff)
From: Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>
To: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org>
Cc: dmitri.vorobiev-WgUW+8SLYMv1KXRcyAk9cg@public.gmane.org,
	khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	kernel-janitors-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 4/28] drivers/ide: Drop return value from platform_driver remove functions
Date: Tue, 16 Dec 2008 19:57:34 +0000	[thread overview]
Message-ID: <20081216195734.GA8032@fluff.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.64.0812101727230.21998-QfmoRoYWmW9knbxzx/v8hQ@public.gmane.org>

On Wed, Dec 10, 2008 at 05:27:56PM +0100, Julia Lawall wrote:
> From: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org>
> 
> The return value of the remove function of a driver structure, and thus of
> a platform_driver structure, is ultimately ignored, and is thus
> unnecessary.  This patch removes the return value for the remove function
> stored in a platform_driver structure.
> 
> For the files drivers/i2c/busses/i2c-at91.c and
> drivers/i2c/busses/i2c-mv64xxx.c, the original return value was the value
> of a variable storing the result of calling i2c_del_adapter.  I have thus
> also deleted the declaration and initialization of this variable.  For the
> other files, the return values were always 0.
> 
> A simplified version of the semantic patch that makes this change is as
> follows: (http://www.emn.fr/x-info/coccinelle/)

I take it remove_new will eventually be renamed to remove once all
the changes have been made?

Unless there are any objections I'll add this to the merge list for
the next window.
 
> // <smpl>
> @r@
> struct platform_driver I;
> identifier a,f;
> position p;
> @@
> I.remove = \(f@p\|a(f@p)\);
> 
> @void_called@
> identifier r.f;
> position p;
> @@
> f@p(...);
> 
> @called@
> identifier r.f;
> position p1 != void_called.p;
> @@
> f@p1(...)
> 
> @localfn@
> identifier r.f;
> @@
> static int f(...) { ... }
> 
> @depends on !called && localfn@
> struct platform_driver I;
> identifier a,f;
> position r.p;
> @@
> 
> I.
> - remove
> + remove_new
>    = \(f@p\|a(f@p)\);
> 
> @depends on !called && localfn@
> identifier r.f,i;
> constant C;
> expression E;
> @@
> 
> - int
> + void
>        f(...) {
>   <...
> (
> -  return \(C\|i\);
> +  return;
> |
> -  return E;
> +  E;
> +  return;
> )
>   ...>
> }
> // </smpl>
> 
> Signed-off-by: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org>
> 
> ---
>  drivers/i2c/busses/i2c-at91.c          |    9 +++------
>  drivers/i2c/busses/i2c-au1550.c        |    5 ++---
>  drivers/i2c/busses/i2c-bfin-twi.c      |    6 ++----
>  drivers/i2c/busses/i2c-davinci.c       |    5 ++---
>  drivers/i2c/busses/i2c-gpio.c          |    6 ++----
>  drivers/i2c/busses/i2c-highlander.c    |    6 ++----
>  drivers/i2c/busses/i2c-iop3xx.c        |    6 ++----
>  drivers/i2c/busses/i2c-ixp2000.c       |    6 ++----
>  drivers/i2c/busses/i2c-mv64xxx.c       |    9 +++------
>  drivers/i2c/busses/i2c-ocores.c        |    6 ++----
>  drivers/i2c/busses/i2c-omap.c          |    5 ++---
>  drivers/i2c/busses/i2c-parport-light.c |    6 ++----
>  drivers/i2c/busses/i2c-pca-platform.c  |    6 ++----
>  drivers/i2c/busses/i2c-pmcmsp.c        |    6 ++----
>  drivers/i2c/busses/i2c-pnx.c           |    6 ++----
>  drivers/i2c/busses/i2c-powermac.c      |    6 ++----
>  drivers/i2c/busses/i2c-pxa.c           |    6 ++----
>  drivers/i2c/busses/i2c-s3c2410.c       |    8 +++-----
>  drivers/i2c/busses/i2c-sh7760.c        |    6 ++----
>  drivers/i2c/busses/i2c-sh_mobile.c     |    5 ++---
>  drivers/i2c/busses/i2c-simtec.c        |    6 ++----
>  drivers/i2c/busses/i2c-versatile.c     |    5 ++---
>  drivers/i2c/chips/isp1301_omap.c       |    5 ++---
>  23 files changed, 49 insertions(+), 91 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-au1550.c b/drivers/i2c/busses/i2c-au1550.c
> index 66a04c2..b52c460 100644
> --- a/drivers/i2c/busses/i2c-au1550.c
> +++ b/drivers/i2c/busses/i2c-au1550.c
> @@ -427,7 +427,7 @@ out:
>  	return ret;
>  }
>  
> -static int __devexit
> +static void __devexit
>  i2c_au1550_remove(struct platform_device *pdev)
>  {
>  	struct i2c_au1550_data *priv = platform_get_drvdata(pdev);
> @@ -438,7 +438,6 @@ i2c_au1550_remove(struct platform_device *pdev)
>  	release_resource(priv->ioarea);
>  	kfree(priv->ioarea);
>  	kfree(priv);
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -472,7 +471,7 @@ static struct platform_driver au1xpsc_smbus_driver = {
>  		.owner	= THIS_MODULE,
>  	},
>  	.probe		= i2c_au1550_probe,
> -	.remove		= __devexit_p(i2c_au1550_remove),
> +	.remove_new	= __devexit_p(i2c_au1550_remove),
>  	.suspend	= i2c_au1550_suspend,
>  	.resume		= i2c_au1550_resume,
>  };
> diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
> index 3c855ff..0048c6d 100644
> --- a/drivers/i2c/busses/i2c-bfin-twi.c
> +++ b/drivers/i2c/busses/i2c-bfin-twi.c
> @@ -712,7 +712,7 @@ out_error_nomem:
>  	return rc;
>  }
>  
> -static int i2c_bfin_twi_remove(struct platform_device *pdev)
> +static void i2c_bfin_twi_remove(struct platform_device *pdev)
>  {
>  	struct bfin_twi_iface *iface = platform_get_drvdata(pdev);
>  
> @@ -723,13 +723,11 @@ static int i2c_bfin_twi_remove(struct platform_device *pdev)
>  	peripheral_free_list(pin_req[pdev->id]);
>  	iounmap(iface->regs_base);
>  	kfree(iface);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_bfin_twi_driver = {
>  	.probe		= i2c_bfin_twi_probe,
> -	.remove		= i2c_bfin_twi_remove,
> +	.remove_new	= i2c_bfin_twi_remove,
>  	.suspend	= i2c_bfin_twi_suspend,
>  	.resume		= i2c_bfin_twi_resume,
>  	.driver		= {
> diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
> index 5d77898..02056a0 100644
> --- a/drivers/i2c/busses/i2c-davinci.c
> +++ b/drivers/i2c/busses/i2c-davinci.c
> @@ -575,7 +575,7 @@ err_release_region:
>  	return r;
>  }
>  
> -static int davinci_i2c_remove(struct platform_device *pdev)
> +static void davinci_i2c_remove(struct platform_device *pdev)
>  {
>  	struct davinci_i2c_dev *dev = platform_get_drvdata(pdev);
>  	struct resource *mem;
> @@ -594,7 +594,6 @@ static int davinci_i2c_remove(struct platform_device *pdev)
>  
>  	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	release_mem_region(mem->start, (mem->end - mem->start) + 1);
> -	return 0;
>  }
>  
>  /* work with hotplug and coldplug */
> @@ -602,7 +601,7 @@ MODULE_ALIAS("platform:i2c_davinci");
>  
>  static struct platform_driver davinci_i2c_driver = {
>  	.probe		= davinci_i2c_probe,
> -	.remove		= davinci_i2c_remove,
> +	.remove_new	= davinci_i2c_remove,
>  	.driver		= {
>  		.name	= "i2c_davinci",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
> index 32104ea..8515699 100644
> --- a/drivers/i2c/busses/i2c-gpio.c
> +++ b/drivers/i2c/busses/i2c-gpio.c
> @@ -174,7 +174,7 @@ err_alloc_adap:
>  	return ret;
>  }
>  
> -static int __devexit i2c_gpio_remove(struct platform_device *pdev)
> +static void __devexit i2c_gpio_remove(struct platform_device *pdev)
>  {
>  	struct i2c_gpio_platform_data *pdata;
>  	struct i2c_adapter *adap;
> @@ -187,8 +187,6 @@ static int __devexit i2c_gpio_remove(struct platform_device *pdev)
>  	gpio_free(pdata->sda_pin);
>  	kfree(adap->algo_data);
>  	kfree(adap);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_gpio_driver = {
> @@ -197,7 +195,7 @@ static struct platform_driver i2c_gpio_driver = {
>  		.owner	= THIS_MODULE,
>  	},
>  	.probe		= i2c_gpio_probe,
> -	.remove		= __devexit_p(i2c_gpio_remove),
> +	.remove_new	= __devexit_p(i2c_gpio_remove),
>  };
>  
>  static int __init i2c_gpio_init(void)
> diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
> index f4d22ae..da592f6 100644
> --- a/drivers/i2c/busses/i2c-highlander.c
> +++ b/drivers/i2c/busses/i2c-highlander.c
> @@ -441,7 +441,7 @@ err:
>  	return ret;
>  }
>  
> -static int __devexit highlander_i2c_remove(struct platform_device *pdev)
> +static void __devexit highlander_i2c_remove(struct platform_device *pdev)
>  {
>  	struct highlander_i2c_dev *dev = platform_get_drvdata(pdev);
>  
> @@ -454,8 +454,6 @@ static int __devexit highlander_i2c_remove(struct platform_device *pdev)
>  	kfree(dev);
>  
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver highlander_i2c_driver = {
> @@ -465,7 +463,7 @@ static struct platform_driver highlander_i2c_driver = {
>  	},
>  
>  	.probe		= highlander_i2c_probe,
> -	.remove		= __devexit_p(highlander_i2c_remove),
> +	.remove_new	= __devexit_p(highlander_i2c_remove),
>  };
>  
>  static int __init highlander_i2c_init(void)
> diff --git a/drivers/i2c/busses/i2c-iop3xx.c b/drivers/i2c/busses/i2c-iop3xx.c
> index fc2714a..e2827e1 100644
> --- a/drivers/i2c/busses/i2c-iop3xx.c
> +++ b/drivers/i2c/busses/i2c-iop3xx.c
> @@ -400,7 +400,7 @@ static const struct i2c_algorithm iop3xx_i2c_algo = {
>  	.functionality	= iop3xx_i2c_func,
>  };
>  
> -static int 
> +static void
>  iop3xx_i2c_remove(struct platform_device *pdev)
>  {
>  	struct i2c_adapter *padapter = platform_get_drvdata(pdev);
> @@ -422,8 +422,6 @@ iop3xx_i2c_remove(struct platform_device *pdev)
>  	kfree(padapter);
>  
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static int 
> @@ -524,7 +522,7 @@ out:
>  
>  static struct platform_driver iop3xx_i2c_driver = {
>  	.probe		= iop3xx_i2c_probe,
> -	.remove		= iop3xx_i2c_remove,
> +	.remove_new	= iop3xx_i2c_remove,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
>  		.name	= "IOP3xx-I2C",
> diff --git a/drivers/i2c/busses/i2c-ixp2000.c b/drivers/i2c/busses/i2c-ixp2000.c
> index 05d72e9..77d4541 100644
> --- a/drivers/i2c/busses/i2c-ixp2000.c
> +++ b/drivers/i2c/busses/i2c-ixp2000.c
> @@ -84,7 +84,7 @@ struct ixp2000_i2c_data {
>  	struct i2c_algo_bit_data algo_data;
>  };
>  
> -static int ixp2000_i2c_remove(struct platform_device *plat_dev)
> +static void ixp2000_i2c_remove(struct platform_device *plat_dev)
>  {
>  	struct ixp2000_i2c_data *drv_data = platform_get_drvdata(plat_dev);
>  
> @@ -93,8 +93,6 @@ static int ixp2000_i2c_remove(struct platform_device *plat_dev)
>  	i2c_del_adapter(&drv_data->adapter);
>  
>  	kfree(drv_data);
> -
> -	return 0;
>  }
>  
>  static int ixp2000_i2c_probe(struct platform_device *plat_dev)
> @@ -141,7 +139,7 @@ static int ixp2000_i2c_probe(struct platform_device *plat_dev)
>  
>  static struct platform_driver ixp2000_i2c_driver = {
>  	.probe		= ixp2000_i2c_probe,
> -	.remove		= ixp2000_i2c_remove,
> +	.remove_new	= ixp2000_i2c_remove,
>  	.driver		= {
>  		.name	= "IXP2000-I2C",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
> index e5193bf..9205931 100644
> --- a/drivers/i2c/busses/i2c-ocores.c
> +++ b/drivers/i2c/busses/i2c-ocores.c
> @@ -285,7 +285,7 @@ request_mem_failed:
>  	return ret;
>  }
>  
> -static int __devexit ocores_i2c_remove(struct platform_device* pdev)
> +static void __devexit ocores_i2c_remove(struct platform_device *pdev)
>  {
>  	struct ocores_i2c *i2c = platform_get_drvdata(pdev);
>  	struct resource *res;
> @@ -309,8 +309,6 @@ static int __devexit ocores_i2c_remove(struct platform_device* pdev)
>  		release_mem_region(res->start, res->end - res->start + 1);
>  
>  	kfree(i2c);
> -
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -343,7 +341,7 @@ MODULE_ALIAS("platform:ocores-i2c");
>  
>  static struct platform_driver ocores_i2c_driver = {
>  	.probe   = ocores_i2c_probe,
> -	.remove  = __devexit_p(ocores_i2c_remove),
> +	.remove_new = __devexit_p(ocores_i2c_remove),
>  	.suspend = ocores_i2c_suspend,
>  	.resume  = ocores_i2c_resume,
>  	.driver  = {
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index 608038d..8f6b336 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -656,7 +656,7 @@ err_release_region:
>  	return r;
>  }
>  
> -static int
> +static void
>  omap_i2c_remove(struct platform_device *pdev)
>  {
>  	struct omap_i2c_dev	*dev = platform_get_drvdata(pdev);
> @@ -672,12 +672,11 @@ omap_i2c_remove(struct platform_device *pdev)
>  	kfree(dev);
>  	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	release_mem_region(mem->start, (mem->end - mem->start) + 1);
> -	return 0;
>  }
>  
>  static struct platform_driver omap_i2c_driver = {
>  	.probe		= omap_i2c_probe,
> -	.remove		= omap_i2c_remove,
> +	.remove_new	= omap_i2c_remove,
>  	.driver		= {
>  		.name	= "i2c_omap",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-parport-light.c b/drivers/i2c/busses/i2c-parport-light.c
> index b2b8380..39f3841 100644
> --- a/drivers/i2c/busses/i2c-parport-light.c
> +++ b/drivers/i2c/busses/i2c-parport-light.c
> @@ -138,15 +138,13 @@ static int __devinit i2c_parport_probe(struct platform_device *pdev)
>  	return err;
>  }
>  
> -static int __devexit i2c_parport_remove(struct platform_device *pdev)
> +static void __devexit i2c_parport_remove(struct platform_device *pdev)
>  {
>  	i2c_del_adapter(&parport_adapter);
>  
>  	/* Un-init if needed (power off...) */
>  	if (adapter_parm[type].init.val)
>  		line_set(0, &adapter_parm[type].init);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_parport_driver = {
> @@ -155,7 +153,7 @@ static struct platform_driver i2c_parport_driver = {
>  		.name	= DRVNAME,
>  	},
>  	.probe		= i2c_parport_probe,
> -	.remove		= __devexit_p(i2c_parport_remove),
> +	.remove_new	= __devexit_p(i2c_parport_remove),
>  };
>  
>  static int __init i2c_parport_device_add(u16 address)
> diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c
> index 6bb15ad..12fed52 100644
> --- a/drivers/i2c/busses/i2c-pca-platform.c
> +++ b/drivers/i2c/busses/i2c-pca-platform.c
> @@ -250,7 +250,7 @@ e_print:
>  	return ret;
>  }
>  
> -static int __devexit i2c_pca_pf_remove(struct platform_device *pdev)
> +static void __devexit i2c_pca_pf_remove(struct platform_device *pdev)
>  {
>  	struct i2c_pca_pf_data *i2c = platform_get_drvdata(pdev);
>  	platform_set_drvdata(pdev, NULL);
> @@ -266,13 +266,11 @@ static int __devexit i2c_pca_pf_remove(struct platform_device *pdev)
>  	iounmap(i2c->reg_base);
>  	release_mem_region(i2c->io_base, i2c->io_size);
>  	kfree(i2c);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_pca_pf_driver = {
>  	.probe = i2c_pca_pf_probe,
> -	.remove = __devexit_p(i2c_pca_pf_remove),
> +	.remove_new = __devexit_p(i2c_pca_pf_remove),
>  	.driver = {
>  		.name = "i2c-pca-platform",
>  		.owner = THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
> index dcf2045..3f1266e 100644
> --- a/drivers/i2c/busses/i2c-pmcmsp.c
> +++ b/drivers/i2c/busses/i2c-pmcmsp.c
> @@ -369,7 +369,7 @@ ret_err:
>  /*
>   * Release the device and return 0 if there is one.
>   */
> -static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
> +static void __devexit pmcmsptwi_remove(struct platform_device *pldev)
>  {
>  	struct resource *res;
>  
> @@ -386,8 +386,6 @@ static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
>  
>  	res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
>  	release_mem_region(res->start, res->end - res->start + 1);
> -
> -	return 0;
>  }
>  
>  /*
> @@ -632,7 +630,7 @@ MODULE_ALIAS("platform:" DRV_NAME);
>  
>  static struct platform_driver pmcmsptwi_driver = {
>  	.probe  = pmcmsptwi_probe,
> -	.remove	= __devexit_p(pmcmsptwi_remove),
> +	.remove_new = __devexit_p(pmcmsptwi_remove),
>  	.driver = {
>  		.name	= DRV_NAME,
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-pnx.c b/drivers/i2c/busses/i2c-pnx.c
> index ec15cff..999dfc6 100644
> --- a/drivers/i2c/busses/i2c-pnx.c
> +++ b/drivers/i2c/busses/i2c-pnx.c
> @@ -657,7 +657,7 @@ out:
>  	return ret;
>  }
>  
> -static int __devexit i2c_pnx_remove(struct platform_device *pdev)
> +static void __devexit i2c_pnx_remove(struct platform_device *pdev)
>  {
>  	struct i2c_pnx_data *i2c_pnx = platform_get_drvdata(pdev);
>  	struct i2c_adapter *adap = i2c_pnx->adapter;
> @@ -669,8 +669,6 @@ static int __devexit i2c_pnx_remove(struct platform_device *pdev)
>  	iounmap((void *)alg_data->ioaddr);
>  	release_region(alg_data->base, I2C_PNX_REGION_SIZE);
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_pnx_driver = {
> @@ -679,7 +677,7 @@ static struct platform_driver i2c_pnx_driver = {
>  		.owner = THIS_MODULE,
>  	},
>  	.probe = i2c_pnx_probe,
> -	.remove = __devexit_p(i2c_pnx_remove),
> +	.remove_new = __devexit_p(i2c_pnx_remove),
>  	.suspend = i2c_pnx_controller_suspend,
>  	.resume = i2c_pnx_controller_resume,
>  };
> diff --git a/drivers/i2c/busses/i2c-powermac.c b/drivers/i2c/busses/i2c-powermac.c
> index 60ca917..2153260 100644
> --- a/drivers/i2c/busses/i2c-powermac.c
> +++ b/drivers/i2c/busses/i2c-powermac.c
> @@ -180,7 +180,7 @@ static const struct i2c_algorithm i2c_powermac_algorithm = {
>  };
>  
>  
> -static int __devexit i2c_powermac_remove(struct platform_device *dev)
> +static void __devexit i2c_powermac_remove(struct platform_device *dev)
>  {
>  	struct i2c_adapter	*adapter = platform_get_drvdata(dev);
>  	struct pmac_i2c_bus	*bus = i2c_get_adapdata(adapter);
> @@ -195,8 +195,6 @@ static int __devexit i2c_powermac_remove(struct platform_device *dev)
>  		       adapter->name);
>  	platform_set_drvdata(dev, NULL);
>  	kfree(adapter);
> -
> -	return 0;
>  }
>  
>  
> @@ -297,7 +295,7 @@ MODULE_ALIAS("platform:i2c-powermac");
>  
>  static struct platform_driver i2c_powermac_driver = {
>  	.probe = i2c_powermac_probe,
> -	.remove = __devexit_p(i2c_powermac_remove),
> +	.remove_new = __devexit_p(i2c_powermac_remove),
>  	.driver = {
>  		.name = "i2c-powermac",
>  		.bus = &platform_bus_type,
> diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
> index 906f9b9..801db2b 100644
> --- a/drivers/i2c/busses/i2c-pxa.c
> +++ b/drivers/i2c/busses/i2c-pxa.c
> @@ -1098,7 +1098,7 @@ emalloc:
>  	return ret;
>  }
>  
> -static int __exit i2c_pxa_remove(struct platform_device *dev)
> +static void __exit i2c_pxa_remove(struct platform_device *dev)
>  {
>  	struct pxa_i2c *i2c = platform_get_drvdata(dev);
>  
> @@ -1114,8 +1114,6 @@ static int __exit i2c_pxa_remove(struct platform_device *dev)
>  	iounmap(i2c->reg_base);
>  	release_mem_region(i2c->iobase, i2c->iosize);
>  	kfree(i2c);
> -
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -1142,7 +1140,7 @@ static int i2c_pxa_resume_early(struct platform_device *dev)
>  
>  static struct platform_driver i2c_pxa_driver = {
>  	.probe		= i2c_pxa_probe,
> -	.remove		= __exit_p(i2c_pxa_remove),
> +	.remove_new	= __exit_p(i2c_pxa_remove),
>  	.suspend_late	= i2c_pxa_suspend_late,
>  	.resume_early	= i2c_pxa_resume_early,
>  	.driver		= {
> diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
> index 1fac4e2..7a4472f 100644
> --- a/drivers/i2c/busses/i2c-s3c2410.c
> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> @@ -965,7 +965,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
>   * called when device is removed from the bus
>  */
>  
> -static int s3c24xx_i2c_remove(struct platform_device *pdev)
> +static void s3c24xx_i2c_remove(struct platform_device *pdev)
>  {
>  	struct s3c24xx_i2c *i2c = platform_get_drvdata(pdev);
>  
> @@ -981,8 +981,6 @@ static int s3c24xx_i2c_remove(struct platform_device *pdev)
>  
>  	release_resource(i2c->ioarea);
>  	kfree(i2c->ioarea);
> -
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -1004,7 +1002,7 @@ static int s3c24xx_i2c_resume(struct platform_device *dev)
>  
>  static struct platform_driver s3c2410_i2c_driver = {
>  	.probe		= s3c24xx_i2c_probe,
> -	.remove		= s3c24xx_i2c_remove,
> +	.remove_new	= s3c24xx_i2c_remove,
>  	.resume		= s3c24xx_i2c_resume,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
> @@ -1014,7 +1012,7 @@ static struct platform_driver s3c2410_i2c_driver = {
>  
>  static struct platform_driver s3c2440_i2c_driver = {
>  	.probe		= s3c24xx_i2c_probe,
> -	.remove		= s3c24xx_i2c_remove,
> +	.remove_new	= s3c24xx_i2c_remove,
>  	.resume		= s3c24xx_i2c_resume,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-sh7760.c b/drivers/i2c/busses/i2c-sh7760.c
> index 5e0e254..6efea66 100644
> --- a/drivers/i2c/busses/i2c-sh7760.c
> +++ b/drivers/i2c/busses/i2c-sh7760.c
> @@ -535,7 +535,7 @@ out0:
>  	return ret;
>  }
>  
> -static int __devexit sh7760_i2c_remove(struct platform_device *pdev)
> +static void __devexit sh7760_i2c_remove(struct platform_device *pdev)
>  {
>  	struct cami2c *id = platform_get_drvdata(pdev);
>  
> @@ -546,8 +546,6 @@ static int __devexit sh7760_i2c_remove(struct platform_device *pdev)
>  	kfree(id->ioarea);
>  	kfree(id);
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver sh7760_i2c_drv = {
> @@ -556,7 +554,7 @@ static struct platform_driver sh7760_i2c_drv = {
>  		.owner	= THIS_MODULE,
>  	},
>  	.probe		= sh7760_i2c_probe,
> -	.remove		= __devexit_p(sh7760_i2c_remove),
> +	.remove_new	= __devexit_p(sh7760_i2c_remove),
>  };
>  
>  static int __init sh7760_i2c_init(void)
> diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
> index 3384a71..0dcbbe7 100644
> --- a/drivers/i2c/busses/i2c-sh_mobile.c
> +++ b/drivers/i2c/busses/i2c-sh_mobile.c
> @@ -607,7 +607,7 @@ static int sh_mobile_i2c_probe(struct platform_device *dev)
>  	return ret;
>  }
>  
> -static int sh_mobile_i2c_remove(struct platform_device *dev)
> +static void sh_mobile_i2c_remove(struct platform_device *dev)
>  {
>  	struct sh_mobile_i2c_data *pd = platform_get_drvdata(dev);
>  
> @@ -616,7 +616,6 @@ static int sh_mobile_i2c_remove(struct platform_device *dev)
>  	sh_mobile_i2c_hook_irqs(dev, 0);
>  	clk_put(pd->clk);
>  	kfree(pd);
> -	return 0;
>  }
>  
>  static struct platform_driver sh_mobile_i2c_driver = {
> @@ -625,7 +624,7 @@ static struct platform_driver sh_mobile_i2c_driver = {
>  		.owner		= THIS_MODULE,
>  	},
>  	.probe		= sh_mobile_i2c_probe,
> -	.remove		= sh_mobile_i2c_remove,
> +	.remove_new	= sh_mobile_i2c_remove,
>  };
>  
>  static int __init sh_mobile_i2c_adap_init(void)
> diff --git a/drivers/i2c/busses/i2c-simtec.c b/drivers/i2c/busses/i2c-simtec.c
> index 042fda2..499ca5c 100644
> --- a/drivers/i2c/busses/i2c-simtec.c
> +++ b/drivers/i2c/busses/i2c-simtec.c
> @@ -142,7 +142,7 @@ static int simtec_i2c_probe(struct platform_device *dev)
>  	return ret;
>  }
>  
> -static int simtec_i2c_remove(struct platform_device *dev)
> +static void simtec_i2c_remove(struct platform_device *dev)
>  {
>  	struct simtec_i2c_data *pd = platform_get_drvdata(dev);
>  
> @@ -152,8 +152,6 @@ static int simtec_i2c_remove(struct platform_device *dev)
>  	release_resource(pd->ioarea);
>  	kfree(pd->ioarea);
>  	kfree(pd);
> -
> -	return 0;
>  }
>  
>  
> @@ -168,7 +166,7 @@ static struct platform_driver simtec_i2c_driver = {
>  		.owner		= THIS_MODULE,
>  	},
>  	.probe		= simtec_i2c_probe,
> -	.remove		= simtec_i2c_remove,
> +	.remove_new	= simtec_i2c_remove,
>  };
>  
>  static int __init i2c_adap_simtec_init(void)
> diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
> index 4678bab..8e0eb91 100644
> --- a/drivers/i2c/busses/i2c-versatile.c
> +++ b/drivers/i2c/busses/i2c-versatile.c
> @@ -117,19 +117,18 @@ static int i2c_versatile_probe(struct platform_device *dev)
>  	return ret;
>  }
>  
> -static int i2c_versatile_remove(struct platform_device *dev)
> +static void i2c_versatile_remove(struct platform_device *dev)
>  {
>  	struct i2c_versatile *i2c = platform_get_drvdata(dev);
>  
>  	platform_set_drvdata(dev, NULL);
>  
>  	i2c_del_adapter(&i2c->adap);
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_versatile_driver = {
>  	.probe		= i2c_versatile_probe,
> -	.remove		= i2c_versatile_remove,
> +	.remove_new	= i2c_versatile_remove,
>  	.driver		= {
>  		.name	= "versatile-i2c",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/chips/isp1301_omap.c b/drivers/i2c/chips/isp1301_omap.c
> index e0d56ef..96a74ab 100644
> --- a/drivers/i2c/chips/isp1301_omap.c
> +++ b/drivers/i2c/chips/isp1301_omap.c
> @@ -908,15 +908,14 @@ static int otg_probe(struct platform_device *dev)
>  	return 0;
>  }
>  
> -static int otg_remove(struct platform_device *dev)
> +static void otg_remove(struct platform_device *dev)
>  {
>  	otg_dev = NULL;
> -	return 0;
>  }
>  
>  static struct platform_driver omap_otg_driver = {
>  	.probe		= otg_probe,
> -	.remove		= otg_remove,
> +	.remove_new	= otg_remove,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
>  		.name	= "omap_otg",
> diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
> index 9efb021..2284a49 100644
> --- a/drivers/i2c/busses/i2c-at91.c
> +++ b/drivers/i2c/busses/i2c-at91.c
> @@ -257,13 +257,12 @@ fail0:
>  	return rc;
>  }
>  
> -static int __devexit at91_i2c_remove(struct platform_device *pdev)
> +static void __devexit at91_i2c_remove(struct platform_device *pdev)
>  {
>  	struct i2c_adapter *adapter = platform_get_drvdata(pdev);
>  	struct resource *res;
> -	int rc;
>  
> -	rc = i2c_del_adapter(adapter);
> +	i2c_del_adapter(adapter);
>  	platform_set_drvdata(pdev, NULL);
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> @@ -272,8 +271,6 @@ static int __devexit at91_i2c_remove(struct platform_device *pdev)
>  
>  	clk_disable(twi_clk);		/* disable peripheral clock */
>  	clk_put(twi_clk);
> -
> -	return rc;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -301,7 +298,7 @@ MODULE_ALIAS("platform:at91_i2c");
>  
>  static struct platform_driver at91_i2c_driver = {
>  	.probe		= at91_i2c_probe,
> -	.remove		= __devexit_p(at91_i2c_remove),
> +	.remove_new	= __devexit_p(at91_i2c_remove),
>  	.suspend	= at91_i2c_suspend,
>  	.resume		= at91_i2c_resume,
>  	.driver		= {
> diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
> index 9e8118d..73a5a1e 100644
> --- a/drivers/i2c/busses/i2c-mv64xxx.c
> +++ b/drivers/i2c/busses/i2c-mv64xxx.c
> @@ -562,23 +562,20 @@ mv64xxx_i2c_probe(struct platform_device *pd)
>  	return rc;
>  }
>  
> -static int __devexit
> +static void __devexit
>  mv64xxx_i2c_remove(struct platform_device *dev)
>  {
>  	struct mv64xxx_i2c_data		*drv_data = platform_get_drvdata(dev);
> -	int	rc;
>  
> -	rc = i2c_del_adapter(&drv_data->adapter);
> +	i2c_del_adapter(&drv_data->adapter);
>  	free_irq(drv_data->irq, drv_data);
>  	mv64xxx_i2c_unmap_regs(drv_data);
>  	kfree(drv_data);
> -
> -	return rc;
>  }
>  
>  static struct platform_driver mv64xxx_i2c_driver = {
>  	.probe	= mv64xxx_i2c_probe,
> -	.remove	= mv64xxx_i2c_remove,
> +	.remove_new = mv64xxx_i2c_remove,
>  	.driver	= {
>  		.owner	= THIS_MODULE,
>  		.name	= MV64XXX_I2C_CTLR_NAME,
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Ben (ben-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org, http://www.fluff.org/)

  'a smiley only costs 4 bytes'

WARNING: multiple messages have this Message-ID (diff)
From: Ben Dooks <ben-linux@fluff.org>
To: Julia Lawall <julia@diku.dk>
Cc: dmitri.vorobiev@movial.fi, khali@linux-fr.org,
	linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	kernel-janitors@vger.kernel.org
Subject: Re: [PATCH 4/28] drivers/ide: Drop return value from platform_driver remove functions
Date: Tue, 16 Dec 2008 19:57:34 +0000	[thread overview]
Message-ID: <20081216195734.GA8032@fluff.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.64.0812101727230.21998@ask.diku.dk>

On Wed, Dec 10, 2008 at 05:27:56PM +0100, Julia Lawall wrote:
> From: Julia Lawall <julia@diku.dk>
> 
> The return value of the remove function of a driver structure, and thus of
> a platform_driver structure, is ultimately ignored, and is thus
> unnecessary.  This patch removes the return value for the remove function
> stored in a platform_driver structure.
> 
> For the files drivers/i2c/busses/i2c-at91.c and
> drivers/i2c/busses/i2c-mv64xxx.c, the original return value was the value
> of a variable storing the result of calling i2c_del_adapter.  I have thus
> also deleted the declaration and initialization of this variable.  For the
> other files, the return values were always 0.
> 
> A simplified version of the semantic patch that makes this change is as
> follows: (http://www.emn.fr/x-info/coccinelle/)

I take it remove_new will eventually be renamed to remove once all
the changes have been made?

Unless there are any objections I'll add this to the merge list for
the next window.
 
> // <smpl>
> @r@
> struct platform_driver I;
> identifier a,f;
> position p;
> @@
> I.remove = \(f@p\|a(f@p)\);
> 
> @void_called@
> identifier r.f;
> position p;
> @@
> f@p(...);
> 
> @called@
> identifier r.f;
> position p1 != void_called.p;
> @@
> f@p1(...)
> 
> @localfn@
> identifier r.f;
> @@
> static int f(...) { ... }
> 
> @depends on !called && localfn@
> struct platform_driver I;
> identifier a,f;
> position r.p;
> @@
> 
> I.
> - remove
> + remove_new
>    = \(f@p\|a(f@p)\);
> 
> @depends on !called && localfn@
> identifier r.f,i;
> constant C;
> expression E;
> @@
> 
> - int
> + void
>        f(...) {
>   <...
> (
> -  return \(C\|i\);
> +  return;
> |
> -  return E;
> +  E;
> +  return;
> )
>   ...>
> }
> // </smpl>
> 
> Signed-off-by: Julia Lawall <julia@diku.dk>
> 
> ---
>  drivers/i2c/busses/i2c-at91.c          |    9 +++------
>  drivers/i2c/busses/i2c-au1550.c        |    5 ++---
>  drivers/i2c/busses/i2c-bfin-twi.c      |    6 ++----
>  drivers/i2c/busses/i2c-davinci.c       |    5 ++---
>  drivers/i2c/busses/i2c-gpio.c          |    6 ++----
>  drivers/i2c/busses/i2c-highlander.c    |    6 ++----
>  drivers/i2c/busses/i2c-iop3xx.c        |    6 ++----
>  drivers/i2c/busses/i2c-ixp2000.c       |    6 ++----
>  drivers/i2c/busses/i2c-mv64xxx.c       |    9 +++------
>  drivers/i2c/busses/i2c-ocores.c        |    6 ++----
>  drivers/i2c/busses/i2c-omap.c          |    5 ++---
>  drivers/i2c/busses/i2c-parport-light.c |    6 ++----
>  drivers/i2c/busses/i2c-pca-platform.c  |    6 ++----
>  drivers/i2c/busses/i2c-pmcmsp.c        |    6 ++----
>  drivers/i2c/busses/i2c-pnx.c           |    6 ++----
>  drivers/i2c/busses/i2c-powermac.c      |    6 ++----
>  drivers/i2c/busses/i2c-pxa.c           |    6 ++----
>  drivers/i2c/busses/i2c-s3c2410.c       |    8 +++-----
>  drivers/i2c/busses/i2c-sh7760.c        |    6 ++----
>  drivers/i2c/busses/i2c-sh_mobile.c     |    5 ++---
>  drivers/i2c/busses/i2c-simtec.c        |    6 ++----
>  drivers/i2c/busses/i2c-versatile.c     |    5 ++---
>  drivers/i2c/chips/isp1301_omap.c       |    5 ++---
>  23 files changed, 49 insertions(+), 91 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-au1550.c b/drivers/i2c/busses/i2c-au1550.c
> index 66a04c2..b52c460 100644
> --- a/drivers/i2c/busses/i2c-au1550.c
> +++ b/drivers/i2c/busses/i2c-au1550.c
> @@ -427,7 +427,7 @@ out:
>  	return ret;
>  }
>  
> -static int __devexit
> +static void __devexit
>  i2c_au1550_remove(struct platform_device *pdev)
>  {
>  	struct i2c_au1550_data *priv = platform_get_drvdata(pdev);
> @@ -438,7 +438,6 @@ i2c_au1550_remove(struct platform_device *pdev)
>  	release_resource(priv->ioarea);
>  	kfree(priv->ioarea);
>  	kfree(priv);
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -472,7 +471,7 @@ static struct platform_driver au1xpsc_smbus_driver = {
>  		.owner	= THIS_MODULE,
>  	},
>  	.probe		= i2c_au1550_probe,
> -	.remove		= __devexit_p(i2c_au1550_remove),
> +	.remove_new	= __devexit_p(i2c_au1550_remove),
>  	.suspend	= i2c_au1550_suspend,
>  	.resume		= i2c_au1550_resume,
>  };
> diff --git a/drivers/i2c/busses/i2c-bfin-twi.c b/drivers/i2c/busses/i2c-bfin-twi.c
> index 3c855ff..0048c6d 100644
> --- a/drivers/i2c/busses/i2c-bfin-twi.c
> +++ b/drivers/i2c/busses/i2c-bfin-twi.c
> @@ -712,7 +712,7 @@ out_error_nomem:
>  	return rc;
>  }
>  
> -static int i2c_bfin_twi_remove(struct platform_device *pdev)
> +static void i2c_bfin_twi_remove(struct platform_device *pdev)
>  {
>  	struct bfin_twi_iface *iface = platform_get_drvdata(pdev);
>  
> @@ -723,13 +723,11 @@ static int i2c_bfin_twi_remove(struct platform_device *pdev)
>  	peripheral_free_list(pin_req[pdev->id]);
>  	iounmap(iface->regs_base);
>  	kfree(iface);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_bfin_twi_driver = {
>  	.probe		= i2c_bfin_twi_probe,
> -	.remove		= i2c_bfin_twi_remove,
> +	.remove_new	= i2c_bfin_twi_remove,
>  	.suspend	= i2c_bfin_twi_suspend,
>  	.resume		= i2c_bfin_twi_resume,
>  	.driver		= {
> diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
> index 5d77898..02056a0 100644
> --- a/drivers/i2c/busses/i2c-davinci.c
> +++ b/drivers/i2c/busses/i2c-davinci.c
> @@ -575,7 +575,7 @@ err_release_region:
>  	return r;
>  }
>  
> -static int davinci_i2c_remove(struct platform_device *pdev)
> +static void davinci_i2c_remove(struct platform_device *pdev)
>  {
>  	struct davinci_i2c_dev *dev = platform_get_drvdata(pdev);
>  	struct resource *mem;
> @@ -594,7 +594,6 @@ static int davinci_i2c_remove(struct platform_device *pdev)
>  
>  	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	release_mem_region(mem->start, (mem->end - mem->start) + 1);
> -	return 0;
>  }
>  
>  /* work with hotplug and coldplug */
> @@ -602,7 +601,7 @@ MODULE_ALIAS("platform:i2c_davinci");
>  
>  static struct platform_driver davinci_i2c_driver = {
>  	.probe		= davinci_i2c_probe,
> -	.remove		= davinci_i2c_remove,
> +	.remove_new	= davinci_i2c_remove,
>  	.driver		= {
>  		.name	= "i2c_davinci",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-gpio.c b/drivers/i2c/busses/i2c-gpio.c
> index 32104ea..8515699 100644
> --- a/drivers/i2c/busses/i2c-gpio.c
> +++ b/drivers/i2c/busses/i2c-gpio.c
> @@ -174,7 +174,7 @@ err_alloc_adap:
>  	return ret;
>  }
>  
> -static int __devexit i2c_gpio_remove(struct platform_device *pdev)
> +static void __devexit i2c_gpio_remove(struct platform_device *pdev)
>  {
>  	struct i2c_gpio_platform_data *pdata;
>  	struct i2c_adapter *adap;
> @@ -187,8 +187,6 @@ static int __devexit i2c_gpio_remove(struct platform_device *pdev)
>  	gpio_free(pdata->sda_pin);
>  	kfree(adap->algo_data);
>  	kfree(adap);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_gpio_driver = {
> @@ -197,7 +195,7 @@ static struct platform_driver i2c_gpio_driver = {
>  		.owner	= THIS_MODULE,
>  	},
>  	.probe		= i2c_gpio_probe,
> -	.remove		= __devexit_p(i2c_gpio_remove),
> +	.remove_new	= __devexit_p(i2c_gpio_remove),
>  };
>  
>  static int __init i2c_gpio_init(void)
> diff --git a/drivers/i2c/busses/i2c-highlander.c b/drivers/i2c/busses/i2c-highlander.c
> index f4d22ae..da592f6 100644
> --- a/drivers/i2c/busses/i2c-highlander.c
> +++ b/drivers/i2c/busses/i2c-highlander.c
> @@ -441,7 +441,7 @@ err:
>  	return ret;
>  }
>  
> -static int __devexit highlander_i2c_remove(struct platform_device *pdev)
> +static void __devexit highlander_i2c_remove(struct platform_device *pdev)
>  {
>  	struct highlander_i2c_dev *dev = platform_get_drvdata(pdev);
>  
> @@ -454,8 +454,6 @@ static int __devexit highlander_i2c_remove(struct platform_device *pdev)
>  	kfree(dev);
>  
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver highlander_i2c_driver = {
> @@ -465,7 +463,7 @@ static struct platform_driver highlander_i2c_driver = {
>  	},
>  
>  	.probe		= highlander_i2c_probe,
> -	.remove		= __devexit_p(highlander_i2c_remove),
> +	.remove_new	= __devexit_p(highlander_i2c_remove),
>  };
>  
>  static int __init highlander_i2c_init(void)
> diff --git a/drivers/i2c/busses/i2c-iop3xx.c b/drivers/i2c/busses/i2c-iop3xx.c
> index fc2714a..e2827e1 100644
> --- a/drivers/i2c/busses/i2c-iop3xx.c
> +++ b/drivers/i2c/busses/i2c-iop3xx.c
> @@ -400,7 +400,7 @@ static const struct i2c_algorithm iop3xx_i2c_algo = {
>  	.functionality	= iop3xx_i2c_func,
>  };
>  
> -static int 
> +static void
>  iop3xx_i2c_remove(struct platform_device *pdev)
>  {
>  	struct i2c_adapter *padapter = platform_get_drvdata(pdev);
> @@ -422,8 +422,6 @@ iop3xx_i2c_remove(struct platform_device *pdev)
>  	kfree(padapter);
>  
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static int 
> @@ -524,7 +522,7 @@ out:
>  
>  static struct platform_driver iop3xx_i2c_driver = {
>  	.probe		= iop3xx_i2c_probe,
> -	.remove		= iop3xx_i2c_remove,
> +	.remove_new	= iop3xx_i2c_remove,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
>  		.name	= "IOP3xx-I2C",
> diff --git a/drivers/i2c/busses/i2c-ixp2000.c b/drivers/i2c/busses/i2c-ixp2000.c
> index 05d72e9..77d4541 100644
> --- a/drivers/i2c/busses/i2c-ixp2000.c
> +++ b/drivers/i2c/busses/i2c-ixp2000.c
> @@ -84,7 +84,7 @@ struct ixp2000_i2c_data {
>  	struct i2c_algo_bit_data algo_data;
>  };
>  
> -static int ixp2000_i2c_remove(struct platform_device *plat_dev)
> +static void ixp2000_i2c_remove(struct platform_device *plat_dev)
>  {
>  	struct ixp2000_i2c_data *drv_data = platform_get_drvdata(plat_dev);
>  
> @@ -93,8 +93,6 @@ static int ixp2000_i2c_remove(struct platform_device *plat_dev)
>  	i2c_del_adapter(&drv_data->adapter);
>  
>  	kfree(drv_data);
> -
> -	return 0;
>  }
>  
>  static int ixp2000_i2c_probe(struct platform_device *plat_dev)
> @@ -141,7 +139,7 @@ static int ixp2000_i2c_probe(struct platform_device *plat_dev)
>  
>  static struct platform_driver ixp2000_i2c_driver = {
>  	.probe		= ixp2000_i2c_probe,
> -	.remove		= ixp2000_i2c_remove,
> +	.remove_new	= ixp2000_i2c_remove,
>  	.driver		= {
>  		.name	= "IXP2000-I2C",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
> index e5193bf..9205931 100644
> --- a/drivers/i2c/busses/i2c-ocores.c
> +++ b/drivers/i2c/busses/i2c-ocores.c
> @@ -285,7 +285,7 @@ request_mem_failed:
>  	return ret;
>  }
>  
> -static int __devexit ocores_i2c_remove(struct platform_device* pdev)
> +static void __devexit ocores_i2c_remove(struct platform_device *pdev)
>  {
>  	struct ocores_i2c *i2c = platform_get_drvdata(pdev);
>  	struct resource *res;
> @@ -309,8 +309,6 @@ static int __devexit ocores_i2c_remove(struct platform_device* pdev)
>  		release_mem_region(res->start, res->end - res->start + 1);
>  
>  	kfree(i2c);
> -
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -343,7 +341,7 @@ MODULE_ALIAS("platform:ocores-i2c");
>  
>  static struct platform_driver ocores_i2c_driver = {
>  	.probe   = ocores_i2c_probe,
> -	.remove  = __devexit_p(ocores_i2c_remove),
> +	.remove_new = __devexit_p(ocores_i2c_remove),
>  	.suspend = ocores_i2c_suspend,
>  	.resume  = ocores_i2c_resume,
>  	.driver  = {
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index 608038d..8f6b336 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -656,7 +656,7 @@ err_release_region:
>  	return r;
>  }
>  
> -static int
> +static void
>  omap_i2c_remove(struct platform_device *pdev)
>  {
>  	struct omap_i2c_dev	*dev = platform_get_drvdata(pdev);
> @@ -672,12 +672,11 @@ omap_i2c_remove(struct platform_device *pdev)
>  	kfree(dev);
>  	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	release_mem_region(mem->start, (mem->end - mem->start) + 1);
> -	return 0;
>  }
>  
>  static struct platform_driver omap_i2c_driver = {
>  	.probe		= omap_i2c_probe,
> -	.remove		= omap_i2c_remove,
> +	.remove_new	= omap_i2c_remove,
>  	.driver		= {
>  		.name	= "i2c_omap",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-parport-light.c b/drivers/i2c/busses/i2c-parport-light.c
> index b2b8380..39f3841 100644
> --- a/drivers/i2c/busses/i2c-parport-light.c
> +++ b/drivers/i2c/busses/i2c-parport-light.c
> @@ -138,15 +138,13 @@ static int __devinit i2c_parport_probe(struct platform_device *pdev)
>  	return err;
>  }
>  
> -static int __devexit i2c_parport_remove(struct platform_device *pdev)
> +static void __devexit i2c_parport_remove(struct platform_device *pdev)
>  {
>  	i2c_del_adapter(&parport_adapter);
>  
>  	/* Un-init if needed (power off...) */
>  	if (adapter_parm[type].init.val)
>  		line_set(0, &adapter_parm[type].init);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_parport_driver = {
> @@ -155,7 +153,7 @@ static struct platform_driver i2c_parport_driver = {
>  		.name	= DRVNAME,
>  	},
>  	.probe		= i2c_parport_probe,
> -	.remove		= __devexit_p(i2c_parport_remove),
> +	.remove_new	= __devexit_p(i2c_parport_remove),
>  };
>  
>  static int __init i2c_parport_device_add(u16 address)
> diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c
> index 6bb15ad..12fed52 100644
> --- a/drivers/i2c/busses/i2c-pca-platform.c
> +++ b/drivers/i2c/busses/i2c-pca-platform.c
> @@ -250,7 +250,7 @@ e_print:
>  	return ret;
>  }
>  
> -static int __devexit i2c_pca_pf_remove(struct platform_device *pdev)
> +static void __devexit i2c_pca_pf_remove(struct platform_device *pdev)
>  {
>  	struct i2c_pca_pf_data *i2c = platform_get_drvdata(pdev);
>  	platform_set_drvdata(pdev, NULL);
> @@ -266,13 +266,11 @@ static int __devexit i2c_pca_pf_remove(struct platform_device *pdev)
>  	iounmap(i2c->reg_base);
>  	release_mem_region(i2c->io_base, i2c->io_size);
>  	kfree(i2c);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_pca_pf_driver = {
>  	.probe = i2c_pca_pf_probe,
> -	.remove = __devexit_p(i2c_pca_pf_remove),
> +	.remove_new = __devexit_p(i2c_pca_pf_remove),
>  	.driver = {
>  		.name = "i2c-pca-platform",
>  		.owner = THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-pmcmsp.c b/drivers/i2c/busses/i2c-pmcmsp.c
> index dcf2045..3f1266e 100644
> --- a/drivers/i2c/busses/i2c-pmcmsp.c
> +++ b/drivers/i2c/busses/i2c-pmcmsp.c
> @@ -369,7 +369,7 @@ ret_err:
>  /*
>   * Release the device and return 0 if there is one.
>   */
> -static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
> +static void __devexit pmcmsptwi_remove(struct platform_device *pldev)
>  {
>  	struct resource *res;
>  
> @@ -386,8 +386,6 @@ static int __devexit pmcmsptwi_remove(struct platform_device *pldev)
>  
>  	res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
>  	release_mem_region(res->start, res->end - res->start + 1);
> -
> -	return 0;
>  }
>  
>  /*
> @@ -632,7 +630,7 @@ MODULE_ALIAS("platform:" DRV_NAME);
>  
>  static struct platform_driver pmcmsptwi_driver = {
>  	.probe  = pmcmsptwi_probe,
> -	.remove	= __devexit_p(pmcmsptwi_remove),
> +	.remove_new = __devexit_p(pmcmsptwi_remove),
>  	.driver = {
>  		.name	= DRV_NAME,
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-pnx.c b/drivers/i2c/busses/i2c-pnx.c
> index ec15cff..999dfc6 100644
> --- a/drivers/i2c/busses/i2c-pnx.c
> +++ b/drivers/i2c/busses/i2c-pnx.c
> @@ -657,7 +657,7 @@ out:
>  	return ret;
>  }
>  
> -static int __devexit i2c_pnx_remove(struct platform_device *pdev)
> +static void __devexit i2c_pnx_remove(struct platform_device *pdev)
>  {
>  	struct i2c_pnx_data *i2c_pnx = platform_get_drvdata(pdev);
>  	struct i2c_adapter *adap = i2c_pnx->adapter;
> @@ -669,8 +669,6 @@ static int __devexit i2c_pnx_remove(struct platform_device *pdev)
>  	iounmap((void *)alg_data->ioaddr);
>  	release_region(alg_data->base, I2C_PNX_REGION_SIZE);
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_pnx_driver = {
> @@ -679,7 +677,7 @@ static struct platform_driver i2c_pnx_driver = {
>  		.owner = THIS_MODULE,
>  	},
>  	.probe = i2c_pnx_probe,
> -	.remove = __devexit_p(i2c_pnx_remove),
> +	.remove_new = __devexit_p(i2c_pnx_remove),
>  	.suspend = i2c_pnx_controller_suspend,
>  	.resume = i2c_pnx_controller_resume,
>  };
> diff --git a/drivers/i2c/busses/i2c-powermac.c b/drivers/i2c/busses/i2c-powermac.c
> index 60ca917..2153260 100644
> --- a/drivers/i2c/busses/i2c-powermac.c
> +++ b/drivers/i2c/busses/i2c-powermac.c
> @@ -180,7 +180,7 @@ static const struct i2c_algorithm i2c_powermac_algorithm = {
>  };
>  
>  
> -static int __devexit i2c_powermac_remove(struct platform_device *dev)
> +static void __devexit i2c_powermac_remove(struct platform_device *dev)
>  {
>  	struct i2c_adapter	*adapter = platform_get_drvdata(dev);
>  	struct pmac_i2c_bus	*bus = i2c_get_adapdata(adapter);
> @@ -195,8 +195,6 @@ static int __devexit i2c_powermac_remove(struct platform_device *dev)
>  		       adapter->name);
>  	platform_set_drvdata(dev, NULL);
>  	kfree(adapter);
> -
> -	return 0;
>  }
>  
>  
> @@ -297,7 +295,7 @@ MODULE_ALIAS("platform:i2c-powermac");
>  
>  static struct platform_driver i2c_powermac_driver = {
>  	.probe = i2c_powermac_probe,
> -	.remove = __devexit_p(i2c_powermac_remove),
> +	.remove_new = __devexit_p(i2c_powermac_remove),
>  	.driver = {
>  		.name = "i2c-powermac",
>  		.bus = &platform_bus_type,
> diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
> index 906f9b9..801db2b 100644
> --- a/drivers/i2c/busses/i2c-pxa.c
> +++ b/drivers/i2c/busses/i2c-pxa.c
> @@ -1098,7 +1098,7 @@ emalloc:
>  	return ret;
>  }
>  
> -static int __exit i2c_pxa_remove(struct platform_device *dev)
> +static void __exit i2c_pxa_remove(struct platform_device *dev)
>  {
>  	struct pxa_i2c *i2c = platform_get_drvdata(dev);
>  
> @@ -1114,8 +1114,6 @@ static int __exit i2c_pxa_remove(struct platform_device *dev)
>  	iounmap(i2c->reg_base);
>  	release_mem_region(i2c->iobase, i2c->iosize);
>  	kfree(i2c);
> -
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -1142,7 +1140,7 @@ static int i2c_pxa_resume_early(struct platform_device *dev)
>  
>  static struct platform_driver i2c_pxa_driver = {
>  	.probe		= i2c_pxa_probe,
> -	.remove		= __exit_p(i2c_pxa_remove),
> +	.remove_new	= __exit_p(i2c_pxa_remove),
>  	.suspend_late	= i2c_pxa_suspend_late,
>  	.resume_early	= i2c_pxa_resume_early,
>  	.driver		= {
> diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
> index 1fac4e2..7a4472f 100644
> --- a/drivers/i2c/busses/i2c-s3c2410.c
> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> @@ -965,7 +965,7 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
>   * called when device is removed from the bus
>  */
>  
> -static int s3c24xx_i2c_remove(struct platform_device *pdev)
> +static void s3c24xx_i2c_remove(struct platform_device *pdev)
>  {
>  	struct s3c24xx_i2c *i2c = platform_get_drvdata(pdev);
>  
> @@ -981,8 +981,6 @@ static int s3c24xx_i2c_remove(struct platform_device *pdev)
>  
>  	release_resource(i2c->ioarea);
>  	kfree(i2c->ioarea);
> -
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -1004,7 +1002,7 @@ static int s3c24xx_i2c_resume(struct platform_device *dev)
>  
>  static struct platform_driver s3c2410_i2c_driver = {
>  	.probe		= s3c24xx_i2c_probe,
> -	.remove		= s3c24xx_i2c_remove,
> +	.remove_new	= s3c24xx_i2c_remove,
>  	.resume		= s3c24xx_i2c_resume,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
> @@ -1014,7 +1012,7 @@ static struct platform_driver s3c2410_i2c_driver = {
>  
>  static struct platform_driver s3c2440_i2c_driver = {
>  	.probe		= s3c24xx_i2c_probe,
> -	.remove		= s3c24xx_i2c_remove,
> +	.remove_new	= s3c24xx_i2c_remove,
>  	.resume		= s3c24xx_i2c_resume,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/busses/i2c-sh7760.c b/drivers/i2c/busses/i2c-sh7760.c
> index 5e0e254..6efea66 100644
> --- a/drivers/i2c/busses/i2c-sh7760.c
> +++ b/drivers/i2c/busses/i2c-sh7760.c
> @@ -535,7 +535,7 @@ out0:
>  	return ret;
>  }
>  
> -static int __devexit sh7760_i2c_remove(struct platform_device *pdev)
> +static void __devexit sh7760_i2c_remove(struct platform_device *pdev)
>  {
>  	struct cami2c *id = platform_get_drvdata(pdev);
>  
> @@ -546,8 +546,6 @@ static int __devexit sh7760_i2c_remove(struct platform_device *pdev)
>  	kfree(id->ioarea);
>  	kfree(id);
>  	platform_set_drvdata(pdev, NULL);
> -
> -	return 0;
>  }
>  
>  static struct platform_driver sh7760_i2c_drv = {
> @@ -556,7 +554,7 @@ static struct platform_driver sh7760_i2c_drv = {
>  		.owner	= THIS_MODULE,
>  	},
>  	.probe		= sh7760_i2c_probe,
> -	.remove		= __devexit_p(sh7760_i2c_remove),
> +	.remove_new	= __devexit_p(sh7760_i2c_remove),
>  };
>  
>  static int __init sh7760_i2c_init(void)
> diff --git a/drivers/i2c/busses/i2c-sh_mobile.c b/drivers/i2c/busses/i2c-sh_mobile.c
> index 3384a71..0dcbbe7 100644
> --- a/drivers/i2c/busses/i2c-sh_mobile.c
> +++ b/drivers/i2c/busses/i2c-sh_mobile.c
> @@ -607,7 +607,7 @@ static int sh_mobile_i2c_probe(struct platform_device *dev)
>  	return ret;
>  }
>  
> -static int sh_mobile_i2c_remove(struct platform_device *dev)
> +static void sh_mobile_i2c_remove(struct platform_device *dev)
>  {
>  	struct sh_mobile_i2c_data *pd = platform_get_drvdata(dev);
>  
> @@ -616,7 +616,6 @@ static int sh_mobile_i2c_remove(struct platform_device *dev)
>  	sh_mobile_i2c_hook_irqs(dev, 0);
>  	clk_put(pd->clk);
>  	kfree(pd);
> -	return 0;
>  }
>  
>  static struct platform_driver sh_mobile_i2c_driver = {
> @@ -625,7 +624,7 @@ static struct platform_driver sh_mobile_i2c_driver = {
>  		.owner		= THIS_MODULE,
>  	},
>  	.probe		= sh_mobile_i2c_probe,
> -	.remove		= sh_mobile_i2c_remove,
> +	.remove_new	= sh_mobile_i2c_remove,
>  };
>  
>  static int __init sh_mobile_i2c_adap_init(void)
> diff --git a/drivers/i2c/busses/i2c-simtec.c b/drivers/i2c/busses/i2c-simtec.c
> index 042fda2..499ca5c 100644
> --- a/drivers/i2c/busses/i2c-simtec.c
> +++ b/drivers/i2c/busses/i2c-simtec.c
> @@ -142,7 +142,7 @@ static int simtec_i2c_probe(struct platform_device *dev)
>  	return ret;
>  }
>  
> -static int simtec_i2c_remove(struct platform_device *dev)
> +static void simtec_i2c_remove(struct platform_device *dev)
>  {
>  	struct simtec_i2c_data *pd = platform_get_drvdata(dev);
>  
> @@ -152,8 +152,6 @@ static int simtec_i2c_remove(struct platform_device *dev)
>  	release_resource(pd->ioarea);
>  	kfree(pd->ioarea);
>  	kfree(pd);
> -
> -	return 0;
>  }
>  
>  
> @@ -168,7 +166,7 @@ static struct platform_driver simtec_i2c_driver = {
>  		.owner		= THIS_MODULE,
>  	},
>  	.probe		= simtec_i2c_probe,
> -	.remove		= simtec_i2c_remove,
> +	.remove_new	= simtec_i2c_remove,
>  };
>  
>  static int __init i2c_adap_simtec_init(void)
> diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
> index 4678bab..8e0eb91 100644
> --- a/drivers/i2c/busses/i2c-versatile.c
> +++ b/drivers/i2c/busses/i2c-versatile.c
> @@ -117,19 +117,18 @@ static int i2c_versatile_probe(struct platform_device *dev)
>  	return ret;
>  }
>  
> -static int i2c_versatile_remove(struct platform_device *dev)
> +static void i2c_versatile_remove(struct platform_device *dev)
>  {
>  	struct i2c_versatile *i2c = platform_get_drvdata(dev);
>  
>  	platform_set_drvdata(dev, NULL);
>  
>  	i2c_del_adapter(&i2c->adap);
> -	return 0;
>  }
>  
>  static struct platform_driver i2c_versatile_driver = {
>  	.probe		= i2c_versatile_probe,
> -	.remove		= i2c_versatile_remove,
> +	.remove_new	= i2c_versatile_remove,
>  	.driver		= {
>  		.name	= "versatile-i2c",
>  		.owner	= THIS_MODULE,
> diff --git a/drivers/i2c/chips/isp1301_omap.c b/drivers/i2c/chips/isp1301_omap.c
> index e0d56ef..96a74ab 100644
> --- a/drivers/i2c/chips/isp1301_omap.c
> +++ b/drivers/i2c/chips/isp1301_omap.c
> @@ -908,15 +908,14 @@ static int otg_probe(struct platform_device *dev)
>  	return 0;
>  }
>  
> -static int otg_remove(struct platform_device *dev)
> +static void otg_remove(struct platform_device *dev)
>  {
>  	otg_dev = NULL;
> -	return 0;
>  }
>  
>  static struct platform_driver omap_otg_driver = {
>  	.probe		= otg_probe,
> -	.remove		= otg_remove,
> +	.remove_new	= otg_remove,
>  	.driver		= {
>  		.owner	= THIS_MODULE,
>  		.name	= "omap_otg",
> diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
> index 9efb021..2284a49 100644
> --- a/drivers/i2c/busses/i2c-at91.c
> +++ b/drivers/i2c/busses/i2c-at91.c
> @@ -257,13 +257,12 @@ fail0:
>  	return rc;
>  }
>  
> -static int __devexit at91_i2c_remove(struct platform_device *pdev)
> +static void __devexit at91_i2c_remove(struct platform_device *pdev)
>  {
>  	struct i2c_adapter *adapter = platform_get_drvdata(pdev);
>  	struct resource *res;
> -	int rc;
>  
> -	rc = i2c_del_adapter(adapter);
> +	i2c_del_adapter(adapter);
>  	platform_set_drvdata(pdev, NULL);
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> @@ -272,8 +271,6 @@ static int __devexit at91_i2c_remove(struct platform_device *pdev)
>  
>  	clk_disable(twi_clk);		/* disable peripheral clock */
>  	clk_put(twi_clk);
> -
> -	return rc;
>  }
>  
>  #ifdef CONFIG_PM
> @@ -301,7 +298,7 @@ MODULE_ALIAS("platform:at91_i2c");
>  
>  static struct platform_driver at91_i2c_driver = {
>  	.probe		= at91_i2c_probe,
> -	.remove		= __devexit_p(at91_i2c_remove),
> +	.remove_new	= __devexit_p(at91_i2c_remove),
>  	.suspend	= at91_i2c_suspend,
>  	.resume		= at91_i2c_resume,
>  	.driver		= {
> diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
> index 9e8118d..73a5a1e 100644
> --- a/drivers/i2c/busses/i2c-mv64xxx.c
> +++ b/drivers/i2c/busses/i2c-mv64xxx.c
> @@ -562,23 +562,20 @@ mv64xxx_i2c_probe(struct platform_device *pd)
>  	return rc;
>  }
>  
> -static int __devexit
> +static void __devexit
>  mv64xxx_i2c_remove(struct platform_device *dev)
>  {
>  	struct mv64xxx_i2c_data		*drv_data = platform_get_drvdata(dev);
> -	int	rc;
>  
> -	rc = i2c_del_adapter(&drv_data->adapter);
> +	i2c_del_adapter(&drv_data->adapter);
>  	free_irq(drv_data->irq, drv_data);
>  	mv64xxx_i2c_unmap_regs(drv_data);
>  	kfree(drv_data);
> -
> -	return rc;
>  }
>  
>  static struct platform_driver mv64xxx_i2c_driver = {
>  	.probe	= mv64xxx_i2c_probe,
> -	.remove	= mv64xxx_i2c_remove,
> +	.remove_new = mv64xxx_i2c_remove,
>  	.driver	= {
>  		.owner	= THIS_MODULE,
>  		.name	= MV64XXX_I2C_CTLR_NAME,
> --
> To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Ben (ben@fluff.org, http://www.fluff.org/)

  'a smiley only costs 4 bytes'

  parent reply	other threads:[~2008-12-16 19:57 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-10 16:27 [PATCH 4/28] drivers/ide: Drop return value from platform_driver Julia Lawall
2008-12-10 16:27 ` [PATCH 4/28] drivers/ide: Drop return value from platform_driver remove functions Julia Lawall
     [not found] ` <Pine.LNX.4.64.0812101727230.21998-QfmoRoYWmW9knbxzx/v8hQ@public.gmane.org>
2008-12-16 19:57   ` Ben Dooks [this message]
2008-12-16 19:57     ` Ben Dooks
2008-12-16 19:57     ` Ben Dooks
     [not found]     ` <20081216195734.GA8032-elnMNo+KYs3pIgCt6eIbzw@public.gmane.org>
2008-12-17 12:49       ` [PATCH 4/28] drivers/ide: Drop return value from platform_driver Dmitri Vorobiev
2008-12-17 12:49         ` [PATCH 4/28] drivers/ide: Drop return value from platform_driver remove functions Dmitri Vorobiev
2008-12-17 12:49         ` Dmitri Vorobiev
     [not found]         ` <4948F56A.7020501-WgUW+8SLYMv1KXRcyAk9cg@public.gmane.org>
2008-12-17 21:32           ` [PATCH 4/28] drivers/ide: Drop return value from Greg KH
2008-12-17 21:32             ` [PATCH 4/28] drivers/ide: Drop return value from platform_driver remove functions Greg KH
2008-12-17 21:32             ` Greg KH
     [not found]             ` <20081217213226.GA26832-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2008-12-18 14:30               ` [PATCH 4/28] drivers/ide: Drop return value from platform_driver Dmitri Vorobiev
2008-12-18 14:30                 ` [PATCH 4/28] drivers/ide: Drop return value from platform_driver remove functions Dmitri Vorobiev
2008-12-18 14:30                 ` Dmitri Vorobiev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081216195734.GA8032@fluff.org.uk \
    --to=ben-linux@fluff.org \
    --cc=dmitri.vorobiev-WgUW+8SLYMv1KXRcyAk9cg@public.gmane.org \
    --cc=julia-dAYI7NvHqcQ@public.gmane.org \
    --cc=kernel-janitors-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.