lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 16 Dec 2008 19:57:34 +0000
From:	Ben Dooks <ben-linux@...ff.org>
To:	Julia Lawall <julia@...u.dk>
Cc:	dmitri.vorobiev@...ial.fi, khali@...ux-fr.org,
	linux-i2c@...r.kernel.org, linux-kernel@...r.kernel.org,
	kernel-janitors@...r.kernel.org
Subject: Re: [PATCH 4/28] drivers/ide: Drop return value from
	platform_driver remove functions

On Wed, Dec 10, 2008 at 05:27:56PM +0100, Julia Lawall wrote:
> From: Julia Lawall <julia@...u.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@...u.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@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

  'a smiley only costs 4 bytes'
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ