On 08/17/2012 06:29 PM, Lars-Peter Clausen wrote: > Autogenerated using the following coccinelle semantic patch: > > // <smpl> > @r1@ > identifier driver; > identifier fn; > position p; > type T; > @@ > T driver = { > .remove = > ( > fn@p > | > __devexit_p(fn@p) > ) > }; > > @r2@ > identifier r1.fn; > position p != r1.p; > @@ > fn@p > > @r3@ > identifier r1.fn; > position r1.p; > @@ > ( > __devexit_p(fn@p) > | > -fn@p > +__devexit_p(fn) > ) > > @depends on !r2@ > identifier r1.fn; > @@ > static > -int fn > +int __devexit fn > (...) { ... } > > @r11@ > identifier driver; > identifier fn; > position p; > type T; > @@ > T driver = { > .probe = fn@p > }; > > @r12@ > identifier r11.fn; > position p != r11.p; > @@ > fn@p > > @depends on !r12@ > identifier r11.fn; > @@ > static > -int fn > +int __devinit fn > (...) { ... } > // </smpl> > > Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> merged to togreg > --- > drivers/staging/iio/accel/adis16201_core.c | 2 +- > drivers/staging/iio/accel/adis16203_core.c | 2 +- > drivers/staging/iio/accel/adis16204_core.c | 2 +- > drivers/staging/iio/accel/adis16209_core.c | 2 +- > drivers/staging/iio/accel/adis16220_core.c | 2 +- > drivers/staging/iio/accel/adis16240_core.c | 2 +- > drivers/staging/iio/accel/lis3l02dq_core.c | 2 +- > drivers/staging/iio/accel/sca3000_core.c | 2 +- > drivers/staging/iio/adc/ad7192.c | 2 +- > drivers/staging/iio/adc/ad7476_core.c | 2 +- > drivers/staging/iio/adc/ad7780.c | 2 +- > drivers/staging/iio/adc/ad7793.c | 2 +- > drivers/staging/iio/adc/ad7887_core.c | 2 +- > drivers/staging/iio/adc/max1363_core.c | 4 ++-- > drivers/staging/iio/gyro/adis16060_core.c | 4 ++-- > drivers/staging/iio/gyro/adis16080_core.c | 2 +- > drivers/staging/iio/gyro/adis16130_core.c | 2 +- > drivers/staging/iio/gyro/adis16260_core.c | 2 +- > drivers/staging/iio/gyro/adxrs450_core.c | 2 +- > drivers/staging/iio/imu/adis16400_core.c | 2 +- > drivers/staging/iio/light/tsl2563.c | 2 +- > drivers/staging/iio/meter/ade7753.c | 2 +- > drivers/staging/iio/meter/ade7754.c | 2 +- > drivers/staging/iio/meter/ade7758_core.c | 2 +- > drivers/staging/iio/meter/ade7759.c | 2 +- > drivers/staging/iio/meter/ade7854-spi.c | 2 +- > drivers/staging/iio/trigger/iio-trig-gpio.c | 6 +++--- > drivers/staging/iio/trigger/iio-trig-periodic-rtc.c | 6 +++--- > 28 files changed, 34 insertions(+), 34 deletions(-) > > diff --git a/drivers/staging/iio/accel/adis16201_core.c b/drivers/staging/iio/accel/adis16201_core.c > index ec2332f..8e37d6e 100644 > --- a/drivers/staging/iio/accel/adis16201_core.c > +++ b/drivers/staging/iio/accel/adis16201_core.c > @@ -565,7 +565,7 @@ error_ret: > return ret; > } > > -static int adis16201_remove(struct spi_device *spi) > +static int __devexit adis16201_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > > diff --git a/drivers/staging/iio/accel/adis16203_core.c b/drivers/staging/iio/accel/adis16203_core.c > index 34b76c5..002fa9d 100644 > --- a/drivers/staging/iio/accel/adis16203_core.c > +++ b/drivers/staging/iio/accel/adis16203_core.c > @@ -500,7 +500,7 @@ error_ret: > return ret; > } > > -static int adis16203_remove(struct spi_device *spi) > +static int __devexit adis16203_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > > diff --git a/drivers/staging/iio/accel/adis16204_core.c b/drivers/staging/iio/accel/adis16204_core.c > index 02fb101..05bdb7c 100644 > --- a/drivers/staging/iio/accel/adis16204_core.c > +++ b/drivers/staging/iio/accel/adis16204_core.c > @@ -558,7 +558,7 @@ error_ret: > return ret; > } > > -static int adis16204_remove(struct spi_device *spi) > +static int __devexit adis16204_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > > diff --git a/drivers/staging/iio/accel/adis16209_core.c b/drivers/staging/iio/accel/adis16209_core.c > index 4fa2229..b7333bf 100644 > --- a/drivers/staging/iio/accel/adis16209_core.c > +++ b/drivers/staging/iio/accel/adis16209_core.c > @@ -573,7 +573,7 @@ error_ret: > return ret; > } > > -static int adis16209_remove(struct spi_device *spi) > +static int __devexit adis16209_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > > diff --git a/drivers/staging/iio/accel/adis16220_core.c b/drivers/staging/iio/accel/adis16220_core.c > index c31e1ec..c755089 100644 > --- a/drivers/staging/iio/accel/adis16220_core.c > +++ b/drivers/staging/iio/accel/adis16220_core.c > @@ -663,7 +663,7 @@ error_ret: > return ret; > } > > -static int adis16220_remove(struct spi_device *spi) > +static int __devexit adis16220_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > > diff --git a/drivers/staging/iio/accel/adis16240_core.c b/drivers/staging/iio/accel/adis16240_core.c > index dafc0d8..0fc26a4 100644 > --- a/drivers/staging/iio/accel/adis16240_core.c > +++ b/drivers/staging/iio/accel/adis16240_core.c > @@ -619,7 +619,7 @@ error_ret: > return ret; > } > > -static int adis16240_remove(struct spi_device *spi) > +static int __devexit adis16240_remove(struct spi_device *spi) > { > > struct iio_dev *indio_dev = spi_get_drvdata(spi); > diff --git a/drivers/staging/iio/accel/lis3l02dq_core.c b/drivers/staging/iio/accel/lis3l02dq_core.c > index 0c2b4ba..54ce17f 100644 > --- a/drivers/staging/iio/accel/lis3l02dq_core.c > +++ b/drivers/staging/iio/accel/lis3l02dq_core.c > @@ -780,7 +780,7 @@ err_ret: > } > > /* fixme, confirm ordering in this function */ > -static int lis3l02dq_remove(struct spi_device *spi) > +static int __devexit lis3l02dq_remove(struct spi_device *spi) > { > int ret; > struct iio_dev *indio_dev = spi_get_drvdata(spi); > diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c > index cc040e1..581cdbd 100644 > --- a/drivers/staging/iio/accel/sca3000_core.c > +++ b/drivers/staging/iio/accel/sca3000_core.c > @@ -1233,7 +1233,7 @@ error_ret: > return ret; > } > > -static int sca3000_remove(struct spi_device *spi) > +static int __devexit sca3000_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > struct sca3000_state *st = iio_priv(indio_dev); > diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c > index e381d4b..504e7ab 100644 > --- a/drivers/staging/iio/adc/ad7192.c > +++ b/drivers/staging/iio/adc/ad7192.c > @@ -1068,7 +1068,7 @@ error_put_reg: > return ret; > } > > -static int ad7192_remove(struct spi_device *spi) > +static int __devexit ad7192_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > struct ad7192_state *st = iio_priv(indio_dev); > diff --git a/drivers/staging/iio/adc/ad7476_core.c b/drivers/staging/iio/adc/ad7476_core.c > index 4d30a79..4f6d59e 100644 > --- a/drivers/staging/iio/adc/ad7476_core.c > +++ b/drivers/staging/iio/adc/ad7476_core.c > @@ -196,7 +196,7 @@ error_ret: > return ret; > } > > -static int ad7476_remove(struct spi_device *spi) > +static int __devexit ad7476_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > struct ad7476_state *st = iio_priv(indio_dev); > diff --git a/drivers/staging/iio/adc/ad7780.c b/drivers/staging/iio/adc/ad7780.c > index 1ece2ac..43f4654 100644 > --- a/drivers/staging/iio/adc/ad7780.c > +++ b/drivers/staging/iio/adc/ad7780.c > @@ -270,7 +270,7 @@ error_put_reg: > return ret; > } > > -static int ad7780_remove(struct spi_device *spi) > +static int __devexit ad7780_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > struct ad7780_state *st = iio_priv(indio_dev); > diff --git a/drivers/staging/iio/adc/ad7793.c b/drivers/staging/iio/adc/ad7793.c > index 76fdd71..d39a02a 100644 > --- a/drivers/staging/iio/adc/ad7793.c > +++ b/drivers/staging/iio/adc/ad7793.c > @@ -949,7 +949,7 @@ error_put_reg: > return ret; > } > > -static int ad7793_remove(struct spi_device *spi) > +static int __devexit ad7793_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > struct ad7793_state *st = iio_priv(indio_dev); > diff --git a/drivers/staging/iio/adc/ad7887_core.c b/drivers/staging/iio/adc/ad7887_core.c > index 397b849..5517905 100644 > --- a/drivers/staging/iio/adc/ad7887_core.c > +++ b/drivers/staging/iio/adc/ad7887_core.c > @@ -219,7 +219,7 @@ error_put_reg: > return ret; > } > > -static int ad7887_remove(struct spi_device *spi) > +static int __devexit ad7887_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > struct ad7887_state *st = iio_priv(indio_dev); > diff --git a/drivers/staging/iio/adc/max1363_core.c b/drivers/staging/iio/adc/max1363_core.c > index 816bb2c..adb90fe 100644 > --- a/drivers/staging/iio/adc/max1363_core.c > +++ b/drivers/staging/iio/adc/max1363_core.c > @@ -1367,7 +1367,7 @@ error_out: > return ret; > } > > -static int max1363_remove(struct i2c_client *client) > +static int __devexit max1363_remove(struct i2c_client *client) > { > struct iio_dev *indio_dev = i2c_get_clientdata(client); > struct max1363_state *st = iio_priv(indio_dev); > @@ -1434,7 +1434,7 @@ static struct i2c_driver max1363_driver = { > .name = "max1363", > }, > .probe = max1363_probe, > - .remove = max1363_remove, > + .remove = __devexit_p(max1363_remove), > .id_table = max1363_id, > }; > module_i2c_driver(max1363_driver); > diff --git a/drivers/staging/iio/gyro/adis16060_core.c b/drivers/staging/iio/gyro/adis16060_core.c > index 9931e20..87151a7 100644 > --- a/drivers/staging/iio/gyro/adis16060_core.c > +++ b/drivers/staging/iio/gyro/adis16060_core.c > @@ -184,7 +184,7 @@ error_ret: > } > > /* fixme, confirm ordering in this function */ > -static int adis16060_r_remove(struct spi_device *spi) > +static int __devexit adis16060_r_remove(struct spi_device *spi) > { > iio_device_unregister(spi_get_drvdata(spi)); > iio_device_free(spi_get_drvdata(spi)); > @@ -210,7 +210,7 @@ error_ret: > return ret; > } > > -static int adis16060_w_remove(struct spi_device *spi) > +static int __devexit adis16060_w_remove(struct spi_device *spi) > { > return 0; > } > diff --git a/drivers/staging/iio/gyro/adis16080_core.c b/drivers/staging/iio/gyro/adis16080_core.c > index 345e4fa..a739025 100644 > --- a/drivers/staging/iio/gyro/adis16080_core.c > +++ b/drivers/staging/iio/gyro/adis16080_core.c > @@ -177,7 +177,7 @@ error_ret: > } > > /* fixme, confirm ordering in this function */ > -static int adis16080_remove(struct spi_device *spi) > +static int __devexit adis16080_remove(struct spi_device *spi) > { > iio_device_unregister(spi_get_drvdata(spi)); > iio_device_free(spi_get_drvdata(spi)); > diff --git a/drivers/staging/iio/gyro/adis16130_core.c b/drivers/staging/iio/gyro/adis16130_core.c > index bf61cd0..fbf96b0 100644 > --- a/drivers/staging/iio/gyro/adis16130_core.c > +++ b/drivers/staging/iio/gyro/adis16130_core.c > @@ -154,7 +154,7 @@ error_ret: > } > > /* fixme, confirm ordering in this function */ > -static int adis16130_remove(struct spi_device *spi) > +static int __devexit adis16130_remove(struct spi_device *spi) > { > iio_device_unregister(spi_get_drvdata(spi)); > iio_device_free(spi_get_drvdata(spi)); > diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c > index 93aa431..dec2504 100644 > --- a/drivers/staging/iio/gyro/adis16260_core.c > +++ b/drivers/staging/iio/gyro/adis16260_core.c > @@ -698,7 +698,7 @@ error_ret: > return ret; > } > > -static int adis16260_remove(struct spi_device *spi) > +static int __devexit adis16260_remove(struct spi_device *spi) > { > int ret; > struct iio_dev *indio_dev = spi_get_drvdata(spi); > diff --git a/drivers/staging/iio/gyro/adxrs450_core.c b/drivers/staging/iio/gyro/adxrs450_core.c > index 6513119..d93527d 100644 > --- a/drivers/staging/iio/gyro/adxrs450_core.c > +++ b/drivers/staging/iio/gyro/adxrs450_core.c > @@ -409,7 +409,7 @@ error_ret: > return ret; > } > > -static int adxrs450_remove(struct spi_device *spi) > +static int __devexit adxrs450_remove(struct spi_device *spi) > { > iio_device_unregister(spi_get_drvdata(spi)); > iio_device_free(spi_get_drvdata(spi)); > diff --git a/drivers/staging/iio/imu/adis16400_core.c b/drivers/staging/iio/imu/adis16400_core.c > index 4ce9e3d..b9f8438 100644 > --- a/drivers/staging/iio/imu/adis16400_core.c > +++ b/drivers/staging/iio/imu/adis16400_core.c > @@ -1204,7 +1204,7 @@ error_ret: > } > > /* fixme, confirm ordering in this function */ > -static int adis16400_remove(struct spi_device *spi) > +static int __devexit adis16400_remove(struct spi_device *spi) > { > int ret; > struct iio_dev *indio_dev = spi_get_drvdata(spi); > diff --git a/drivers/staging/iio/light/tsl2563.c b/drivers/staging/iio/light/tsl2563.c > index 9d740be..954ca2c 100644 > --- a/drivers/staging/iio/light/tsl2563.c > +++ b/drivers/staging/iio/light/tsl2563.c > @@ -805,7 +805,7 @@ fail1: > return err; > } > > -static int tsl2563_remove(struct i2c_client *client) > +static int __devexit tsl2563_remove(struct i2c_client *client) > { > struct tsl2563_chip *chip = i2c_get_clientdata(client); > struct iio_dev *indio_dev = iio_priv_to_dev(chip); > diff --git a/drivers/staging/iio/meter/ade7753.c b/drivers/staging/iio/meter/ade7753.c > index f04ece7..6caf80c 100644 > --- a/drivers/staging/iio/meter/ade7753.c > +++ b/drivers/staging/iio/meter/ade7753.c > @@ -553,7 +553,7 @@ error_ret: > } > > /* fixme, confirm ordering in this function */ > -static int ade7753_remove(struct spi_device *spi) > +static int __devexit ade7753_remove(struct spi_device *spi) > { > int ret; > struct iio_dev *indio_dev = spi_get_drvdata(spi); > diff --git a/drivers/staging/iio/meter/ade7754.c b/drivers/staging/iio/meter/ade7754.c > index 6cee28a..ab912ca 100644 > --- a/drivers/staging/iio/meter/ade7754.c > +++ b/drivers/staging/iio/meter/ade7754.c > @@ -575,7 +575,7 @@ error_ret: > } > > /* fixme, confirm ordering in this function */ > -static int ade7754_remove(struct spi_device *spi) > +static int __devexit ade7754_remove(struct spi_device *spi) > { > int ret; > struct iio_dev *indio_dev = spi_get_drvdata(spi); > diff --git a/drivers/staging/iio/meter/ade7758_core.c b/drivers/staging/iio/meter/ade7758_core.c > index 6d3725a..958f8f2 100644 > --- a/drivers/staging/iio/meter/ade7758_core.c > +++ b/drivers/staging/iio/meter/ade7758_core.c > @@ -962,7 +962,7 @@ error_ret: > return ret; > } > > -static int ade7758_remove(struct spi_device *spi) > +static int __devexit ade7758_remove(struct spi_device *spi) > { > struct iio_dev *indio_dev = spi_get_drvdata(spi); > struct ade7758_state *st = iio_priv(indio_dev); > diff --git a/drivers/staging/iio/meter/ade7759.c b/drivers/staging/iio/meter/ade7759.c > index b3f7e0f..d494052 100644 > --- a/drivers/staging/iio/meter/ade7759.c > +++ b/drivers/staging/iio/meter/ade7759.c > @@ -497,7 +497,7 @@ error_ret: > } > > /* fixme, confirm ordering in this function */ > -static int ade7759_remove(struct spi_device *spi) > +static int __devexit ade7759_remove(struct spi_device *spi) > { > int ret; > struct iio_dev *indio_dev = spi_get_drvdata(spi); > diff --git a/drivers/staging/iio/meter/ade7854-spi.c b/drivers/staging/iio/meter/ade7854-spi.c > index 9fb2f8b..7dae035 100644 > --- a/drivers/staging/iio/meter/ade7854-spi.c > +++ b/drivers/staging/iio/meter/ade7854-spi.c > @@ -330,7 +330,7 @@ static int __devinit ade7854_spi_probe(struct spi_device *spi) > return 0; > } > > -static int ade7854_spi_remove(struct spi_device *spi) > +static int __devexit ade7854_spi_remove(struct spi_device *spi) > { > ade7854_remove(spi_get_drvdata(spi)); > > diff --git a/drivers/staging/iio/trigger/iio-trig-gpio.c b/drivers/staging/iio/trigger/iio-trig-gpio.c > index 90b2684..de26d54 100644 > --- a/drivers/staging/iio/trigger/iio-trig-gpio.c > +++ b/drivers/staging/iio/trigger/iio-trig-gpio.c > @@ -51,7 +51,7 @@ static const struct iio_trigger_ops iio_gpio_trigger_ops = { > .owner = THIS_MODULE, > }; > > -static int iio_gpio_trigger_probe(struct platform_device *pdev) > +static int __devinit iio_gpio_trigger_probe(struct platform_device *pdev) > { > struct iio_gpio_trigger_info *trig_info; > struct iio_trigger *trig, *trig2; > @@ -130,7 +130,7 @@ error_free_completed_registrations: > return ret; > } > > -static int iio_gpio_trigger_remove(struct platform_device *pdev) > +static int __devexit iio_gpio_trigger_remove(struct platform_device *pdev) > { > struct iio_trigger *trig, *trig2; > struct iio_gpio_trigger_info *trig_info; > @@ -153,7 +153,7 @@ static int iio_gpio_trigger_remove(struct platform_device *pdev) > > static struct platform_driver iio_gpio_trigger_driver = { > .probe = iio_gpio_trigger_probe, > - .remove = iio_gpio_trigger_remove, > + .remove = __devexit_p(iio_gpio_trigger_remove), > .driver = { > .name = "iio_gpio_trigger", > .owner = THIS_MODULE, > diff --git a/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c b/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c > index 4ceaa18..b837801 100644 > --- a/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c > +++ b/drivers/staging/iio/trigger/iio-trig-periodic-rtc.c > @@ -101,7 +101,7 @@ static const struct iio_trigger_ops iio_prtc_trigger_ops = { > .set_trigger_state = &iio_trig_periodic_rtc_set_state, > }; > > -static int iio_trig_periodic_rtc_probe(struct platform_device *dev) > +static int __devinit iio_trig_periodic_rtc_probe(struct platform_device *dev) > { > char **pdata = dev->dev.platform_data; > struct iio_prtc_trigger_info *trig_info; > @@ -167,7 +167,7 @@ error_free_completed_registrations: > return ret; > } > > -static int iio_trig_periodic_rtc_remove(struct platform_device *dev) > +static int __devexit iio_trig_periodic_rtc_remove(struct platform_device *dev) > { > struct iio_trigger *trig, *trig2; > struct iio_prtc_trigger_info *trig_info; > @@ -188,7 +188,7 @@ static int iio_trig_periodic_rtc_remove(struct platform_device *dev) > > static struct platform_driver iio_trig_periodic_rtc_driver = { > .probe = iio_trig_periodic_rtc_probe, > - .remove = iio_trig_periodic_rtc_remove, > + .remove = __devexit_p(iio_trig_periodic_rtc_remove), > .driver = { > .name = "iio_prtc_trigger", > .owner = THIS_MODULE, > -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html