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:	Thu, 17 Nov 2011 06:48:17 +0000
From:	Jonathan Cameron <jic23@...nel.org>
To:	Grant Likely <grant.likely@...retlab.ca>
CC:	Lars-Peter Clausen <lars@...afoo.de>,
	Greg Kroah-Hartman <gregkh@...e.de>,
	Jean Delvare <khali@...ux-fr.org>,
	Michael Hennerich <Michael.Hennerich@...log.com>,
	linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org,
	linux-i2c@...r.kernel.org, spi-devel-general@...ts.sourceforge.net
Subject: Re: [PATCH 5/5] staging:iio: Use module_spi_driver to register SPI
 driver

On 11/16/2011 05:15 PM, Grant Likely wrote:
> On Wed, Nov 16, 2011 at 2:13 AM, Lars-Peter Clausen <lars@...afoo.de> wrote:
>> Use the newly introduced module_spi_driver macro for registering SPI drivers.
>> This allows us to remove a few lines of boilerplate code.
>>
>> Signed-off-by: Lars-Peter Clausen <lars@...afoo.de>
> 
> Acked-by: Grant Likely <grant.likely@...retlab.ca>
Acked-by: Jonathan Cameron <jic23@...nel.org>
> 
> g.
> 
>> ---
>>  drivers/staging/iio/accel/adis16201_core.c |   13 +------------
>>  drivers/staging/iio/accel/adis16203_core.c |   13 +------------
>>  drivers/staging/iio/accel/adis16204_core.c |   13 +------------
>>  drivers/staging/iio/accel/adis16209_core.c |   13 +------------
>>  drivers/staging/iio/accel/adis16220_core.c |   13 +------------
>>  drivers/staging/iio/accel/adis16240_core.c |   13 +------------
>>  drivers/staging/iio/accel/kxsd9.c          |   13 +------------
>>  drivers/staging/iio/accel/lis3l02dq_core.c |   13 +------------
>>  drivers/staging/iio/accel/sca3000_core.c   |   13 +------------
>>  drivers/staging/iio/adc/ad7192.c           |   13 +------------
>>  drivers/staging/iio/adc/ad7280a.c          |   13 +------------
>>  drivers/staging/iio/adc/ad7298_core.c      |   13 +------------
>>  drivers/staging/iio/adc/ad7476_core.c      |   13 +------------
>>  drivers/staging/iio/adc/ad7606_spi.c       |   13 +------------
>>  drivers/staging/iio/adc/ad7780.c           |   13 +------------
>>  drivers/staging/iio/adc/ad7793.c           |   13 +------------
>>  drivers/staging/iio/adc/ad7816.c           |   14 +-------------
>>  drivers/staging/iio/adc/ad7887_core.c      |   13 +------------
>>  drivers/staging/iio/adc/adt7310.c          |   14 +-------------
>>  drivers/staging/iio/addac/adt7316-spi.c    |   14 +-------------
>>  drivers/staging/iio/dac/ad5064.c           |   13 +------------
>>  drivers/staging/iio/dac/ad5360.c           |   13 +------------
>>  drivers/staging/iio/dac/ad5446.c           |   13 +------------
>>  drivers/staging/iio/dac/ad5504.c           |   13 +------------
>>  drivers/staging/iio/dac/ad5624r_spi.c      |   13 +------------
>>  drivers/staging/iio/dac/ad5686.c           |   13 +------------
>>  drivers/staging/iio/dac/ad5791.c           |   13 +------------
>>  drivers/staging/iio/dds/ad5930.c           |   13 +------------
>>  drivers/staging/iio/dds/ad9832.c           |   13 +------------
>>  drivers/staging/iio/dds/ad9834.c           |   13 +------------
>>  drivers/staging/iio/dds/ad9850.c           |   13 +------------
>>  drivers/staging/iio/dds/ad9852.c           |   13 +------------
>>  drivers/staging/iio/dds/ad9910.c           |   13 +------------
>>  drivers/staging/iio/dds/ad9951.c           |   13 +------------
>>  drivers/staging/iio/gyro/adis16080_core.c  |   13 +------------
>>  drivers/staging/iio/gyro/adis16130_core.c  |   13 +------------
>>  drivers/staging/iio/gyro/adis16260_core.c  |   13 +------------
>>  drivers/staging/iio/gyro/adxrs450_core.c   |   13 +------------
>>  drivers/staging/iio/imu/adis16400_core.c   |   13 +------------
>>  drivers/staging/iio/meter/ade7753.c        |   13 +------------
>>  drivers/staging/iio/meter/ade7754.c        |   13 +------------
>>  drivers/staging/iio/meter/ade7758_core.c   |   13 +------------
>>  drivers/staging/iio/meter/ade7759.c        |   13 +------------
>>  drivers/staging/iio/meter/ade7854-spi.c    |   13 +------------
>>  drivers/staging/iio/resolver/ad2s1200.c    |   13 +------------
>>  drivers/staging/iio/resolver/ad2s1210.c    |   13 +------------
>>  drivers/staging/iio/resolver/ad2s90.c      |   13 +------------
>>  47 files changed, 47 insertions(+), 567 deletions(-)
>>
>> diff --git a/drivers/staging/iio/accel/adis16201_core.c b/drivers/staging/iio/accel/adis16201_core.c
>> index 1c5dad5..97f747e 100644
>> --- a/drivers/staging/iio/accel/adis16201_core.c
>> +++ b/drivers/staging/iio/accel/adis16201_core.c
>> @@ -549,18 +549,7 @@ static struct spi_driver adis16201_driver = {
>>        .probe = adis16201_probe,
>>        .remove = __devexit_p(adis16201_remove),
>>  };
>> -
>> -static __init int adis16201_init(void)
>> -{
>> -       return spi_register_driver(&adis16201_driver);
>> -}
>> -module_init(adis16201_init);
>> -
>> -static __exit void adis16201_exit(void)
>> -{
>> -       spi_unregister_driver(&adis16201_driver);
>> -}
>> -module_exit(adis16201_exit);
>> +module_spi_driver(adis16201_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADIS16201 Programmable Digital Vibration Sensor driver");
>> diff --git a/drivers/staging/iio/accel/adis16203_core.c b/drivers/staging/iio/accel/adis16203_core.c
>> index 8a33374..a6d6d27 100644
>> --- a/drivers/staging/iio/accel/adis16203_core.c
>> +++ b/drivers/staging/iio/accel/adis16203_core.c
>> @@ -504,18 +504,7 @@ static struct spi_driver adis16203_driver = {
>>        .probe = adis16203_probe,
>>        .remove = __devexit_p(adis16203_remove),
>>  };
>> -
>> -static __init int adis16203_init(void)
>> -{
>> -       return spi_register_driver(&adis16203_driver);
>> -}
>> -module_init(adis16203_init);
>> -
>> -static __exit void adis16203_exit(void)
>> -{
>> -       spi_unregister_driver(&adis16203_driver);
>> -}
>> -module_exit(adis16203_exit);
>> +module_spi_driver(adis16203_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADIS16203 Programmable Digital Vibration Sensor driver");
>> diff --git a/drivers/staging/iio/accel/adis16204_core.c b/drivers/staging/iio/accel/adis16204_core.c
>> index 644ac8e..7ac5b4c 100644
>> --- a/drivers/staging/iio/accel/adis16204_core.c
>> +++ b/drivers/staging/iio/accel/adis16204_core.c
>> @@ -577,18 +577,7 @@ static struct spi_driver adis16204_driver = {
>>        .probe = adis16204_probe,
>>        .remove = __devexit_p(adis16204_remove),
>>  };
>> -
>> -static __init int adis16204_init(void)
>> -{
>> -       return spi_register_driver(&adis16204_driver);
>> -}
>> -module_init(adis16204_init);
>> -
>> -static __exit void adis16204_exit(void)
>> -{
>> -       spi_unregister_driver(&adis16204_driver);
>> -}
>> -module_exit(adis16204_exit);
>> +module_spi_driver(adis16204_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("ADIS16204 High-g Digital Impact Sensor and Recorder");
>> diff --git a/drivers/staging/iio/accel/adis16209_core.c b/drivers/staging/iio/accel/adis16209_core.c
>> index 0a8571b..c03afbf 100644
>> --- a/drivers/staging/iio/accel/adis16209_core.c
>> +++ b/drivers/staging/iio/accel/adis16209_core.c
>> @@ -553,18 +553,7 @@ static struct spi_driver adis16209_driver = {
>>        .probe = adis16209_probe,
>>        .remove = __devexit_p(adis16209_remove),
>>  };
>> -
>> -static __init int adis16209_init(void)
>> -{
>> -       return spi_register_driver(&adis16209_driver);
>> -}
>> -module_init(adis16209_init);
>> -
>> -static __exit void adis16209_exit(void)
>> -{
>> -       spi_unregister_driver(&adis16209_driver);
>> -}
>> -module_exit(adis16209_exit);
>> +module_spi_driver(adis16209_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADIS16209 Digital Vibration Sensor driver");
>> diff --git a/drivers/staging/iio/accel/adis16220_core.c b/drivers/staging/iio/accel/adis16220_core.c
>> index 6d4503d..73298e7 100644
>> --- a/drivers/staging/iio/accel/adis16220_core.c
>> +++ b/drivers/staging/iio/accel/adis16220_core.c
>> @@ -708,18 +708,7 @@ static struct spi_driver adis16220_driver = {
>>        .probe = adis16220_probe,
>>        .remove = __devexit_p(adis16220_remove),
>>  };
>> -
>> -static __init int adis16220_init(void)
>> -{
>> -       return spi_register_driver(&adis16220_driver);
>> -}
>> -module_init(adis16220_init);
>> -
>> -static __exit void adis16220_exit(void)
>> -{
>> -       spi_unregister_driver(&adis16220_driver);
>> -}
>> -module_exit(adis16220_exit);
>> +module_spi_driver(adis16220_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADIS16220 Digital Vibration Sensor");
>> diff --git a/drivers/staging/iio/accel/adis16240_core.c b/drivers/staging/iio/accel/adis16240_core.c
>> index b8be292..88881b9 100644
>> --- a/drivers/staging/iio/accel/adis16240_core.c
>> +++ b/drivers/staging/iio/accel/adis16240_core.c
>> @@ -606,18 +606,7 @@ static struct spi_driver adis16240_driver = {
>>        .probe = adis16240_probe,
>>        .remove = __devexit_p(adis16240_remove),
>>  };
>> -
>> -static __init int adis16240_init(void)
>> -{
>> -       return spi_register_driver(&adis16240_driver);
>> -}
>> -module_init(adis16240_init);
>> -
>> -static __exit void adis16240_exit(void)
>> -{
>> -       spi_unregister_driver(&adis16240_driver);
>> -}
>> -module_exit(adis16240_exit);
>> +module_spi_driver(adis16240_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices Programmable Impact Sensor and Recorder");
>> diff --git a/drivers/staging/iio/accel/kxsd9.c b/drivers/staging/iio/accel/kxsd9.c
>> index 5238503..cfce21c 100644
>> --- a/drivers/staging/iio/accel/kxsd9.c
>> +++ b/drivers/staging/iio/accel/kxsd9.c
>> @@ -280,18 +280,7 @@ static struct spi_driver kxsd9_driver = {
>>        .remove = __devexit_p(kxsd9_remove),
>>        .id_table = kxsd9_id,
>>  };
>> -
>> -static __init int kxsd9_spi_init(void)
>> -{
>> -       return spi_register_driver(&kxsd9_driver);
>> -}
>> -module_init(kxsd9_spi_init);
>> -
>> -static __exit void kxsd9_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&kxsd9_driver);
>> -}
>> -module_exit(kxsd9_spi_exit);
>> +module_spi_driver(kxsd9_driver);
>>
>>  MODULE_AUTHOR("Jonathan Cameron <jic23@....ac.uk>");
>>  MODULE_DESCRIPTION("Kionix KXSD9 SPI driver");
>> diff --git a/drivers/staging/iio/accel/lis3l02dq_core.c b/drivers/staging/iio/accel/lis3l02dq_core.c
>> index 559545a..6877521 100644
>> --- a/drivers/staging/iio/accel/lis3l02dq_core.c
>> +++ b/drivers/staging/iio/accel/lis3l02dq_core.c
>> @@ -804,18 +804,7 @@ static struct spi_driver lis3l02dq_driver = {
>>        .probe = lis3l02dq_probe,
>>        .remove = __devexit_p(lis3l02dq_remove),
>>  };
>> -
>> -static __init int lis3l02dq_init(void)
>> -{
>> -       return spi_register_driver(&lis3l02dq_driver);
>> -}
>> -module_init(lis3l02dq_init);
>> -
>> -static __exit void lis3l02dq_exit(void)
>> -{
>> -       spi_unregister_driver(&lis3l02dq_driver);
>> -}
>> -module_exit(lis3l02dq_exit);
>> +module_spi_driver(lis3l02dq_driver);
>>
>>  MODULE_AUTHOR("Jonathan Cameron <jic23@....ac.uk>");
>>  MODULE_DESCRIPTION("ST LIS3L02DQ Accelerometer SPI driver");
>> diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c
>> index a44a705..6c35907 100644
>> --- a/drivers/staging/iio/accel/sca3000_core.c
>> +++ b/drivers/staging/iio/accel/sca3000_core.c
>> @@ -1250,18 +1250,7 @@ static struct spi_driver sca3000_driver = {
>>        .remove = __devexit_p(sca3000_remove),
>>        .id_table = sca3000_id,
>>  };
>> -
>> -static __init int sca3000_init(void)
>> -{
>> -       return spi_register_driver(&sca3000_driver);
>> -}
>> -module_init(sca3000_init);
>> -
>> -static __exit void sca3000_exit(void)
>> -{
>> -       spi_unregister_driver(&sca3000_driver);
>> -}
>> -module_exit(sca3000_exit);
>> +module_spi_driver(sca3000_driver);
>>
>>  MODULE_AUTHOR("Jonathan Cameron <jic23@....ac.uk>");
>>  MODULE_DESCRIPTION("VTI SCA3000 Series Accelerometers SPI driver");
>> diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c
>> index 31c376b..a6a4a4e 100644
>> --- a/drivers/staging/iio/adc/ad7192.c
>> +++ b/drivers/staging/iio/adc/ad7192.c
>> @@ -1161,18 +1161,7 @@ static struct spi_driver ad7192_driver = {
>>        .remove         = __devexit_p(ad7192_remove),
>>        .id_table       = ad7192_id,
>>  };
>> -
>> -static int __init ad7192_init(void)
>> -{
>> -       return spi_register_driver(&ad7192_driver);
>> -}
>> -module_init(ad7192_init);
>> -
>> -static void __exit ad7192_exit(void)
>> -{
>> -       spi_unregister_driver(&ad7192_driver);
>> -}
>> -module_exit(ad7192_exit);
>> +module_spi_driver(ad7192_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD7190, AD7192, AD7195 ADC");
>> diff --git a/drivers/staging/iio/adc/ad7280a.c b/drivers/staging/iio/adc/ad7280a.c
>> index 372d059..dbaeae8 100644
>> --- a/drivers/staging/iio/adc/ad7280a.c
>> +++ b/drivers/staging/iio/adc/ad7280a.c
>> @@ -979,18 +979,7 @@ static struct spi_driver ad7280_driver = {
>>        .remove         = __devexit_p(ad7280_remove),
>>        .id_table       = ad7280_id,
>>  };
>> -
>> -static int __init ad7280_init(void)
>> -{
>> -       return spi_register_driver(&ad7280_driver);
>> -}
>> -module_init(ad7280_init);
>> -
>> -static void __exit ad7280_exit(void)
>> -{
>> -       spi_unregister_driver(&ad7280_driver);
>> -}
>> -module_exit(ad7280_exit);
>> +module_spi_driver(ad7280_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD7280A");
>> diff --git a/drivers/staging/iio/adc/ad7298_core.c b/drivers/staging/iio/adc/ad7298_core.c
>> index c1de73a..a799bd1 100644
>> --- a/drivers/staging/iio/adc/ad7298_core.c
>> +++ b/drivers/staging/iio/adc/ad7298_core.c
>> @@ -276,18 +276,7 @@ static struct spi_driver ad7298_driver = {
>>        .remove         = __devexit_p(ad7298_remove),
>>        .id_table       = ad7298_id,
>>  };
>> -
>> -static int __init ad7298_init(void)
>> -{
>> -       return spi_register_driver(&ad7298_driver);
>> -}
>> -module_init(ad7298_init);
>> -
>> -static void __exit ad7298_exit(void)
>> -{
>> -       spi_unregister_driver(&ad7298_driver);
>> -}
>> -module_exit(ad7298_exit);
>> +module_spi_driver(ad7298_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD7298 ADC");
>> diff --git a/drivers/staging/iio/adc/ad7476_core.c b/drivers/staging/iio/adc/ad7476_core.c
>> index fd79fac..0b58520 100644
>> --- a/drivers/staging/iio/adc/ad7476_core.c
>> +++ b/drivers/staging/iio/adc/ad7476_core.c
>> @@ -248,18 +248,7 @@ static struct spi_driver ad7476_driver = {
>>        .remove         = __devexit_p(ad7476_remove),
>>        .id_table       = ad7476_id,
>>  };
>> -
>> -static int __init ad7476_init(void)
>> -{
>> -       return spi_register_driver(&ad7476_driver);
>> -}
>> -module_init(ad7476_init);
>> -
>> -static void __exit ad7476_exit(void)
>> -{
>> -       spi_unregister_driver(&ad7476_driver);
>> -}
>> -module_exit(ad7476_exit);
>> +module_spi_driver(ad7476_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD7475/6/7/8(A) AD7466/7/8 ADC");
>> diff --git a/drivers/staging/iio/adc/ad7606_spi.c b/drivers/staging/iio/adc/ad7606_spi.c
>> index aede1ba..b984bd2 100644
>> --- a/drivers/staging/iio/adc/ad7606_spi.c
>> +++ b/drivers/staging/iio/adc/ad7606_spi.c
>> @@ -109,18 +109,7 @@ static struct spi_driver ad7606_driver = {
>>        .remove = __devexit_p(ad7606_spi_remove),
>>        .id_table = ad7606_id,
>>  };
>> -
>> -static int __init ad7606_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad7606_driver);
>> -}
>> -module_init(ad7606_spi_init);
>> -
>> -static void __exit ad7606_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad7606_driver);
>> -}
>> -module_exit(ad7606_spi_exit);
>> +module_spi_driver(ad7606_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD7606 ADC");
>> diff --git a/drivers/staging/iio/adc/ad7780.c b/drivers/staging/iio/adc/ad7780.c
>> index 7a579a1..ec90261 100644
>> --- a/drivers/staging/iio/adc/ad7780.c
>> +++ b/drivers/staging/iio/adc/ad7780.c
>> @@ -283,18 +283,7 @@ static struct spi_driver ad7780_driver = {
>>        .remove         = __devexit_p(ad7780_remove),
>>        .id_table       = ad7780_id,
>>  };
>> -
>> -static int __init ad7780_init(void)
>> -{
>> -       return spi_register_driver(&ad7780_driver);
>> -}
>> -module_init(ad7780_init);
>> -
>> -static void __exit ad7780_exit(void)
>> -{
>> -       spi_unregister_driver(&ad7780_driver);
>> -}
>> -module_exit(ad7780_exit);
>> +module_spi_driver(ad7780_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD7780/1 ADC");
>> diff --git a/drivers/staging/iio/adc/ad7793.c b/drivers/staging/iio/adc/ad7793.c
>> index 999f8f7..1c5588e 100644
>> --- a/drivers/staging/iio/adc/ad7793.c
>> +++ b/drivers/staging/iio/adc/ad7793.c
>> @@ -1045,18 +1045,7 @@ static struct spi_driver ad7793_driver = {
>>        .remove         = __devexit_p(ad7793_remove),
>>        .id_table       = ad7793_id,
>>  };
>> -
>> -static int __init ad7793_init(void)
>> -{
>> -       return spi_register_driver(&ad7793_driver);
>> -}
>> -module_init(ad7793_init);
>> -
>> -static void __exit ad7793_exit(void)
>> -{
>> -       spi_unregister_driver(&ad7793_driver);
>> -}
>> -module_exit(ad7793_exit);
>> +module_spi_driver(ad7793_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD7792/3 ADC");
>> diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7816.c
>> index bdb9049..acbf936 100644
>> --- a/drivers/staging/iio/adc/ad7816.c
>> +++ b/drivers/staging/iio/adc/ad7816.c
>> @@ -466,21 +466,9 @@ static struct spi_driver ad7816_driver = {
>>        .remove = __devexit_p(ad7816_remove),
>>        .id_table = ad7816_id,
>>  };
>> -
>> -static __init int ad7816_init(void)
>> -{
>> -       return spi_register_driver(&ad7816_driver);
>> -}
>> -
>> -static __exit void ad7816_exit(void)
>> -{
>> -       spi_unregister_driver(&ad7816_driver);
>> -}
>> +module_spi_driver(ad7816_driver);
>>
>>  MODULE_AUTHOR("Sonic Zhang <sonic.zhang@...log.com>");
>>  MODULE_DESCRIPTION("Analog Devices AD7816/7/8 digital"
>>                        " temperature sensor driver");
>>  MODULE_LICENSE("GPL v2");
>> -
>> -module_init(ad7816_init);
>> -module_exit(ad7816_exit);
>> diff --git a/drivers/staging/iio/adc/ad7887_core.c b/drivers/staging/iio/adc/ad7887_core.c
>> index 609dcd5..91b8fb0 100644
>> --- a/drivers/staging/iio/adc/ad7887_core.c
>> +++ b/drivers/staging/iio/adc/ad7887_core.c
>> @@ -257,18 +257,7 @@ static struct spi_driver ad7887_driver = {
>>        .remove         = __devexit_p(ad7887_remove),
>>        .id_table       = ad7887_id,
>>  };
>> -
>> -static int __init ad7887_init(void)
>> -{
>> -       return spi_register_driver(&ad7887_driver);
>> -}
>> -module_init(ad7887_init);
>> -
>> -static void __exit ad7887_exit(void)
>> -{
>> -       spi_unregister_driver(&ad7887_driver);
>> -}
>> -module_exit(ad7887_exit);
>> +module_spi_driver(ad7887_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD7887 ADC");
>> diff --git a/drivers/staging/iio/adc/adt7310.c b/drivers/staging/iio/adc/adt7310.c
>> index c9e0be3..bc307f3 100644
>> --- a/drivers/staging/iio/adc/adt7310.c
>> +++ b/drivers/staging/iio/adc/adt7310.c
>> @@ -884,21 +884,9 @@ static struct spi_driver adt7310_driver = {
>>        .remove = __devexit_p(adt7310_remove),
>>        .id_table = adt7310_id,
>>  };
>> -
>> -static __init int adt7310_init(void)
>> -{
>> -       return spi_register_driver(&adt7310_driver);
>> -}
>> -
>> -static __exit void adt7310_exit(void)
>> -{
>> -       spi_unregister_driver(&adt7310_driver);
>> -}
>> +module_spi_driver(adt7310_driver);
>>
>>  MODULE_AUTHOR("Sonic Zhang <sonic.zhang@...log.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADT7310 digital"
>>                        " temperature sensor driver");
>>  MODULE_LICENSE("GPL v2");
>> -
>> -module_init(adt7310_init);
>> -module_exit(adt7310_exit);
>> diff --git a/drivers/staging/iio/addac/adt7316-spi.c b/drivers/staging/iio/addac/adt7316-spi.c
>> index 369d4d0..1e93c7b 100644
>> --- a/drivers/staging/iio/addac/adt7316-spi.c
>> +++ b/drivers/staging/iio/addac/adt7316-spi.c
>> @@ -160,21 +160,9 @@ static struct spi_driver adt7316_driver = {
>>        .resume = adt7316_spi_resume,
>>        .id_table = adt7316_spi_id,
>>  };
>> -
>> -static __init int adt7316_spi_init(void)
>> -{
>> -       return spi_register_driver(&adt7316_driver);
>> -}
>> -
>> -static __exit void adt7316_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&adt7316_driver);
>> -}
>> +module_spi_driver(adt7316_driver);
>>
>>  MODULE_AUTHOR("Sonic Zhang <sonic.zhang@...log.com>");
>>  MODULE_DESCRIPTION("SPI bus driver for Analog Devices ADT7316/7/8 and"
>>                        "ADT7516/7/9 digital temperature sensor, ADC and DAC");
>>  MODULE_LICENSE("GPL v2");
>> -
>> -module_init(adt7316_spi_init);
>> -module_exit(adt7316_spi_exit);
>> diff --git a/drivers/staging/iio/dac/ad5064.c b/drivers/staging/iio/dac/ad5064.c
>> index 24279f2..39cfe6c 100644
>> --- a/drivers/staging/iio/dac/ad5064.c
>> +++ b/drivers/staging/iio/dac/ad5064.c
>> @@ -445,18 +445,7 @@ static struct spi_driver ad5064_driver = {
>>        .remove = __devexit_p(ad5064_remove),
>>        .id_table = ad5064_id,
>>  };
>> -
>> -static __init int ad5064_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad5064_driver);
>> -}
>> -module_init(ad5064_spi_init);
>> -
>> -static __exit void ad5064_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad5064_driver);
>> -}
>> -module_exit(ad5064_spi_exit);
>> +module_spi_driver(ad5064_driver);
>>
>>  MODULE_AUTHOR("Lars-Peter Clausen <lars@...afoo.de>");
>>  MODULE_DESCRIPTION("Analog Devices AD5064/64-1/44/24 DAC");
>> diff --git a/drivers/staging/iio/dac/ad5360.c b/drivers/staging/iio/dac/ad5360.c
>> index 72d0f3f0..bc0459e 100644
>> --- a/drivers/staging/iio/dac/ad5360.c
>> +++ b/drivers/staging/iio/dac/ad5360.c
>> @@ -563,18 +563,7 @@ static struct spi_driver ad5360_driver = {
>>        .remove = __devexit_p(ad5360_remove),
>>        .id_table = ad5360_ids,
>>  };
>> -
>> -static __init int ad5360_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad5360_driver);
>> -}
>> -module_init(ad5360_spi_init);
>> -
>> -static __exit void ad5360_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad5360_driver);
>> -}
>> -module_exit(ad5360_spi_exit);
>> +module_spi_driver(ad5360_driver);
>>
>>  MODULE_AUTHOR("Lars-Peter Clausen <lars@...afoo.de>");
>>  MODULE_DESCRIPTION("Analog Devices AD5360/61/62/63/70/71/72/73 DAC");
>> diff --git a/drivers/staging/iio/dac/ad5446.c b/drivers/staging/iio/dac/ad5446.c
>> index e1c204d..ac3bc5f 100644
>> --- a/drivers/staging/iio/dac/ad5446.c
>> +++ b/drivers/staging/iio/dac/ad5446.c
>> @@ -465,18 +465,7 @@ static struct spi_driver ad5446_driver = {
>>        .remove         = __devexit_p(ad5446_remove),
>>        .id_table       = ad5446_id,
>>  };
>> -
>> -static int __init ad5446_init(void)
>> -{
>> -       return spi_register_driver(&ad5446_driver);
>> -}
>> -module_init(ad5446_init);
>> -
>> -static void __exit ad5446_exit(void)
>> -{
>> -       spi_unregister_driver(&ad5446_driver);
>> -}
>> -module_exit(ad5446_exit);
>> +module_spi_driver(ad5446_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD5444/AD5446 DAC");
>> diff --git a/drivers/staging/iio/dac/ad5504.c b/drivers/staging/iio/dac/ad5504.c
>> index 60dd640..57539ce 100644
>> --- a/drivers/staging/iio/dac/ad5504.c
>> +++ b/drivers/staging/iio/dac/ad5504.c
>> @@ -377,18 +377,7 @@ static struct spi_driver ad5504_driver = {
>>        .remove = __devexit_p(ad5504_remove),
>>        .id_table = ad5504_id,
>>  };
>> -
>> -static __init int ad5504_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad5504_driver);
>> -}
>> -module_init(ad5504_spi_init);
>> -
>> -static __exit void ad5504_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad5504_driver);
>> -}
>> -module_exit(ad5504_spi_exit);
>> +module_spi_driver(ad5504_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD5501/AD5501 DAC");
>> diff --git a/drivers/staging/iio/dac/ad5624r_spi.c b/drivers/staging/iio/dac/ad5624r_spi.c
>> index 284d879..6e05f0d 100644
>> --- a/drivers/staging/iio/dac/ad5624r_spi.c
>> +++ b/drivers/staging/iio/dac/ad5624r_spi.c
>> @@ -317,18 +317,7 @@ static struct spi_driver ad5624r_driver = {
>>        .remove = __devexit_p(ad5624r_remove),
>>        .id_table = ad5624r_id,
>>  };
>> -
>> -static __init int ad5624r_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad5624r_driver);
>> -}
>> -module_init(ad5624r_spi_init);
>> -
>> -static __exit void ad5624r_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad5624r_driver);
>> -}
>> -module_exit(ad5624r_spi_exit);
>> +module_spi_driver(ad5624r_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices AD5624/44/64R DAC spi driver");
>> diff --git a/drivers/staging/iio/dac/ad5686.c b/drivers/staging/iio/dac/ad5686.c
>> index 974c6f5..e72db2f 100644
>> --- a/drivers/staging/iio/dac/ad5686.c
>> +++ b/drivers/staging/iio/dac/ad5686.c
>> @@ -447,18 +447,7 @@ static struct spi_driver ad5686_driver = {
>>        .remove = __devexit_p(ad5686_remove),
>>        .id_table = ad5686_id,
>>  };
>> -
>> -static __init int ad5686_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad5686_driver);
>> -}
>> -module_init(ad5686_spi_init);
>> -
>> -static __exit void ad5686_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad5686_driver);
>> -}
>> -module_exit(ad5686_spi_exit);
>> +module_spi_driver(ad5686_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD5686/85/84 DAC");
>> diff --git a/drivers/staging/iio/dac/ad5791.c b/drivers/staging/iio/dac/ad5791.c
>> index 6fbca8d..4a80fd8 100644
>> --- a/drivers/staging/iio/dac/ad5791.c
>> +++ b/drivers/staging/iio/dac/ad5791.c
>> @@ -410,18 +410,7 @@ static struct spi_driver ad5791_driver = {
>>        .remove = __devexit_p(ad5791_remove),
>>        .id_table = ad5791_id,
>>  };
>> -
>> -static __init int ad5791_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad5791_driver);
>> -}
>> -module_init(ad5791_spi_init);
>> -
>> -static __exit void ad5791_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad5791_driver);
>> -}
>> -module_exit(ad5791_spi_exit);
>> +module_spi_driver(ad5791_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD5760/AD5780/AD5781/AD5791 DAC");
>> diff --git a/drivers/staging/iio/dds/ad5930.c b/drivers/staging/iio/dds/ad5930.c
>> index f5e368b..4a360d0 100644
>> --- a/drivers/staging/iio/dds/ad5930.c
>> +++ b/drivers/staging/iio/dds/ad5930.c
>> @@ -143,18 +143,7 @@ static struct spi_driver ad5930_driver = {
>>        .probe = ad5930_probe,
>>        .remove = __devexit_p(ad5930_remove),
>>  };
>> -
>> -static __init int ad5930_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad5930_driver);
>> -}
>> -module_init(ad5930_spi_init);
>> -
>> -static __exit void ad5930_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad5930_driver);
>> -}
>> -module_exit(ad5930_spi_exit);
>> +module_spi_driver(ad5930_driver);
>>
>>  MODULE_AUTHOR("Cliff Cai");
>>  MODULE_DESCRIPTION("Analog Devices ad5930 driver");
>> diff --git a/drivers/staging/iio/dds/ad9832.c b/drivers/staging/iio/dds/ad9832.c
>> index 9b4ff60..cc32fd6 100644
>> --- a/drivers/staging/iio/dds/ad9832.c
>> +++ b/drivers/staging/iio/dds/ad9832.c
>> @@ -355,18 +355,7 @@ static struct spi_driver ad9832_driver = {
>>        .remove         = __devexit_p(ad9832_remove),
>>        .id_table       = ad9832_id,
>>  };
>> -
>> -static int __init ad9832_init(void)
>> -{
>> -       return spi_register_driver(&ad9832_driver);
>> -}
>> -module_init(ad9832_init);
>> -
>> -static void __exit ad9832_exit(void)
>> -{
>> -       spi_unregister_driver(&ad9832_driver);
>> -}
>> -module_exit(ad9832_exit);
>> +module_spi_driver(ad9832_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD9832/AD9835 DDS");
>> diff --git a/drivers/staging/iio/dds/ad9834.c b/drivers/staging/iio/dds/ad9834.c
>> index c468f69..2b31e35 100644
>> --- a/drivers/staging/iio/dds/ad9834.c
>> +++ b/drivers/staging/iio/dds/ad9834.c
>> @@ -446,18 +446,7 @@ static struct spi_driver ad9834_driver = {
>>        .remove         = __devexit_p(ad9834_remove),
>>        .id_table       = ad9834_id,
>>  };
>> -
>> -static int __init ad9834_init(void)
>> -{
>> -       return spi_register_driver(&ad9834_driver);
>> -}
>> -module_init(ad9834_init);
>> -
>> -static void __exit ad9834_exit(void)
>> -{
>> -       spi_unregister_driver(&ad9834_driver);
>> -}
>> -module_exit(ad9834_exit);
>> +module_spi_driver(ad9834_driver);
>>
>>  MODULE_AUTHOR("Michael Hennerich <hennerich@...ckfin.uclinux.org>");
>>  MODULE_DESCRIPTION("Analog Devices AD9833/AD9834/AD9837/AD9838 DDS");
>> diff --git a/drivers/staging/iio/dds/ad9850.c b/drivers/staging/iio/dds/ad9850.c
>> index a14771b..f9c96af 100644
>> --- a/drivers/staging/iio/dds/ad9850.c
>> +++ b/drivers/staging/iio/dds/ad9850.c
>> @@ -129,18 +129,7 @@ static struct spi_driver ad9850_driver = {
>>        .probe = ad9850_probe,
>>        .remove = __devexit_p(ad9850_remove),
>>  };
>> -
>> -static __init int ad9850_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad9850_driver);
>> -}
>> -module_init(ad9850_spi_init);
>> -
>> -static __exit void ad9850_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad9850_driver);
>> -}
>> -module_exit(ad9850_spi_exit);
>> +module_spi_driver(ad9850_driver);
>>
>>  MODULE_AUTHOR("Cliff Cai");
>>  MODULE_DESCRIPTION("Analog Devices ad9850 driver");
>> diff --git a/drivers/staging/iio/dds/ad9852.c b/drivers/staging/iio/dds/ad9852.c
>> index cfceaa6..9fc73fd 100644
>> --- a/drivers/staging/iio/dds/ad9852.c
>> +++ b/drivers/staging/iio/dds/ad9852.c
>> @@ -280,18 +280,7 @@ static struct spi_driver ad9852_driver = {
>>        .probe = ad9852_probe,
>>        .remove = __devexit_p(ad9852_remove),
>>  };
>> -
>> -static __init int ad9852_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad9852_driver);
>> -}
>> -module_init(ad9852_spi_init);
>> -
>> -static __exit void ad9852_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad9852_driver);
>> -}
>> -module_exit(ad9852_spi_exit);
>> +module_spi_driver(ad9852_driver);
>>
>>  MODULE_AUTHOR("Cliff Cai");
>>  MODULE_DESCRIPTION("Analog Devices ad9852 driver");
>> diff --git a/drivers/staging/iio/dds/ad9910.c b/drivers/staging/iio/dds/ad9910.c
>> index da83d2b..57046b0 100644
>> --- a/drivers/staging/iio/dds/ad9910.c
>> +++ b/drivers/staging/iio/dds/ad9910.c
>> @@ -413,18 +413,7 @@ static struct spi_driver ad9910_driver = {
>>        .probe = ad9910_probe,
>>        .remove = __devexit_p(ad9910_remove),
>>  };
>> -
>> -static __init int ad9910_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad9910_driver);
>> -}
>> -module_init(ad9910_spi_init);
>> -
>> -static __exit void ad9910_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad9910_driver);
>> -}
>> -module_exit(ad9910_spi_exit);
>> +module_spi_driver(ad9910_driver);
>>
>>  MODULE_AUTHOR("Cliff Cai");
>>  MODULE_DESCRIPTION("Analog Devices ad9910 driver");
>> diff --git a/drivers/staging/iio/dds/ad9951.c b/drivers/staging/iio/dds/ad9951.c
>> index 20c1825..d29130e 100644
>> --- a/drivers/staging/iio/dds/ad9951.c
>> +++ b/drivers/staging/iio/dds/ad9951.c
>> @@ -224,18 +224,7 @@ static struct spi_driver ad9951_driver = {
>>        .probe = ad9951_probe,
>>        .remove = __devexit_p(ad9951_remove),
>>  };
>> -
>> -static __init int ad9951_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad9951_driver);
>> -}
>> -module_init(ad9951_spi_init);
>> -
>> -static __exit void ad9951_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad9951_driver);
>> -}
>> -module_exit(ad9951_spi_exit);
>> +module_spi_driver(ad9951_driver);
>>
>>  MODULE_AUTHOR("Cliff Cai");
>>  MODULE_DESCRIPTION("Analog Devices ad9951 driver");
>> diff --git a/drivers/staging/iio/gyro/adis16080_core.c b/drivers/staging/iio/gyro/adis16080_core.c
>> index 5d7a906..9405f2d 100644
>> --- a/drivers/staging/iio/gyro/adis16080_core.c
>> +++ b/drivers/staging/iio/gyro/adis16080_core.c
>> @@ -189,18 +189,7 @@ static struct spi_driver adis16080_driver = {
>>        .probe = adis16080_probe,
>>        .remove = __devexit_p(adis16080_remove),
>>  };
>> -
>> -static __init int adis16080_init(void)
>> -{
>> -       return spi_register_driver(&adis16080_driver);
>> -}
>> -module_init(adis16080_init);
>> -
>> -static __exit void adis16080_exit(void)
>> -{
>> -       spi_unregister_driver(&adis16080_driver);
>> -}
>> -module_exit(adis16080_exit);
>> +module_spi_driver(adis16080_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADIS16080/100 Yaw Rate Gyroscope Driver");
>> diff --git a/drivers/staging/iio/gyro/adis16130_core.c b/drivers/staging/iio/gyro/adis16130_core.c
>> index 749240d..c9aaca9 100644
>> --- a/drivers/staging/iio/gyro/adis16130_core.c
>> +++ b/drivers/staging/iio/gyro/adis16130_core.c
>> @@ -168,18 +168,7 @@ static struct spi_driver adis16130_driver = {
>>        .probe = adis16130_probe,
>>        .remove = __devexit_p(adis16130_remove),
>>  };
>> -
>> -static __init int adis16130_init(void)
>> -{
>> -       return spi_register_driver(&adis16130_driver);
>> -}
>> -module_init(adis16130_init);
>> -
>> -static __exit void adis16130_exit(void)
>> -{
>> -       spi_unregister_driver(&adis16130_driver);
>> -}
>> -module_exit(adis16130_exit);
>> +module_spi_driver(adis16130_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADIS16130 High Precision Angular Rate");
>> diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c
>> index aaa3967..886dddf 100644
>> --- a/drivers/staging/iio/gyro/adis16260_core.c
>> +++ b/drivers/staging/iio/gyro/adis16260_core.c
>> @@ -711,18 +711,7 @@ static struct spi_driver adis16260_driver = {
>>        .remove = __devexit_p(adis16260_remove),
>>        .id_table = adis16260_id,
>>  };
>> -
>> -static __init int adis16260_init(void)
>> -{
>> -       return spi_register_driver(&adis16260_driver);
>> -}
>> -module_init(adis16260_init);
>> -
>> -static __exit void adis16260_exit(void)
>> -{
>> -       spi_unregister_driver(&adis16260_driver);
>> -}
>> -module_exit(adis16260_exit);
>> +module_spi_driver(adis16260_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADIS16260/5 Digital Gyroscope Sensor");
>> diff --git a/drivers/staging/iio/gyro/adxrs450_core.c b/drivers/staging/iio/gyro/adxrs450_core.c
>> index 3c3ef79..70fd468 100644
>> --- a/drivers/staging/iio/gyro/adxrs450_core.c
>> +++ b/drivers/staging/iio/gyro/adxrs450_core.c
>> @@ -381,18 +381,7 @@ static struct spi_driver adxrs450_driver = {
>>        .probe = adxrs450_probe,
>>        .remove = __devexit_p(adxrs450_remove),
>>  };
>> -
>> -static __init int adxrs450_init(void)
>> -{
>> -       return spi_register_driver(&adxrs450_driver);
>> -}
>> -module_init(adxrs450_init);
>> -
>> -static __exit void adxrs450_exit(void)
>> -{
>> -       spi_unregister_driver(&adxrs450_driver);
>> -}
>> -module_exit(adxrs450_exit);
>> +module_spi_driver(adxrs450_driver);
>>
>>  MODULE_AUTHOR("Cliff Cai <cliff.cai@...xxxxxxx>");
>>  MODULE_DESCRIPTION("Analog Devices ADXRS450 Gyroscope SPI driver");
>> diff --git a/drivers/staging/iio/imu/adis16400_core.c b/drivers/staging/iio/imu/adis16400_core.c
>> index d082a37..efc0f65 100644
>> --- a/drivers/staging/iio/imu/adis16400_core.c
>> +++ b/drivers/staging/iio/imu/adis16400_core.c
>> @@ -1128,18 +1128,7 @@ static struct spi_driver adis16400_driver = {
>>        .probe = adis16400_probe,
>>        .remove = __devexit_p(adis16400_remove),
>>  };
>> -
>> -static __init int adis16400_init(void)
>> -{
>> -       return spi_register_driver(&adis16400_driver);
>> -}
>> -module_init(adis16400_init);
>> -
>> -static __exit void adis16400_exit(void)
>> -{
>> -       spi_unregister_driver(&adis16400_driver);
>> -}
>> -module_exit(adis16400_exit);
>> +module_spi_driver(adis16400_driver);
>>
>>  MODULE_AUTHOR("Manuel Stahl <manuel.stahl@....fraunhofer.de>");
>>  MODULE_DESCRIPTION("Analog Devices ADIS16400/5 IMU SPI driver");
>> diff --git a/drivers/staging/iio/meter/ade7753.c b/drivers/staging/iio/meter/ade7753.c
>> index 940fef6..4c7b0cb 100644
>> --- a/drivers/staging/iio/meter/ade7753.c
>> +++ b/drivers/staging/iio/meter/ade7753.c
>> @@ -577,18 +577,7 @@ static struct spi_driver ade7753_driver = {
>>        .probe = ade7753_probe,
>>        .remove = __devexit_p(ade7753_remove),
>>  };
>> -
>> -static __init int ade7753_init(void)
>> -{
>> -       return spi_register_driver(&ade7753_driver);
>> -}
>> -module_init(ade7753_init);
>> -
>> -static __exit void ade7753_exit(void)
>> -{
>> -       spi_unregister_driver(&ade7753_driver);
>> -}
>> -module_exit(ade7753_exit);
>> +module_spi_driver(ade7753_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADE7753/6 Single-Phase Multifunction Meter");
>> diff --git a/drivers/staging/iio/meter/ade7754.c b/drivers/staging/iio/meter/ade7754.c
>> index 33f0d32..15c98cd 100644
>> --- a/drivers/staging/iio/meter/ade7754.c
>> +++ b/drivers/staging/iio/meter/ade7754.c
>> @@ -600,18 +600,7 @@ static struct spi_driver ade7754_driver = {
>>        .probe = ade7754_probe,
>>        .remove = __devexit_p(ade7754_remove),
>>  };
>> -
>> -static __init int ade7754_init(void)
>> -{
>> -       return spi_register_driver(&ade7754_driver);
>> -}
>> -module_init(ade7754_init);
>> -
>> -static __exit void ade7754_exit(void)
>> -{
>> -       spi_unregister_driver(&ade7754_driver);
>> -}
>> -module_exit(ade7754_exit);
>> +module_spi_driver(ade7754_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADE7754 Polyphase Multifunction Energy Metering IC Driver");
>> diff --git a/drivers/staging/iio/meter/ade7758_core.c b/drivers/staging/iio/meter/ade7758_core.c
>> index c5dafbd..39338bc 100644
>> --- a/drivers/staging/iio/meter/ade7758_core.c
>> +++ b/drivers/staging/iio/meter/ade7758_core.c
>> @@ -853,18 +853,7 @@ static struct spi_driver ade7758_driver = {
>>        .remove = __devexit_p(ade7758_remove),
>>        .id_table = ade7758_id,
>>  };
>> -
>> -static __init int ade7758_init(void)
>> -{
>> -       return spi_register_driver(&ade7758_driver);
>> -}
>> -module_init(ade7758_init);
>> -
>> -static __exit void ade7758_exit(void)
>> -{
>> -       spi_unregister_driver(&ade7758_driver);
>> -}
>> -module_exit(ade7758_exit);
>> +module_spi_driver(ade7758_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADE7758 Polyphase Multifunction Energy Metering IC Driver");
>> diff --git a/drivers/staging/iio/meter/ade7759.c b/drivers/staging/iio/meter/ade7759.c
>> index b691f10..cfa2a5e 100644
>> --- a/drivers/staging/iio/meter/ade7759.c
>> +++ b/drivers/staging/iio/meter/ade7759.c
>> @@ -521,18 +521,7 @@ static struct spi_driver ade7759_driver = {
>>        .probe = ade7759_probe,
>>        .remove = __devexit_p(ade7759_remove),
>>  };
>> -
>> -static __init int ade7759_init(void)
>> -{
>> -       return spi_register_driver(&ade7759_driver);
>> -}
>> -module_init(ade7759_init);
>> -
>> -static __exit void ade7759_exit(void)
>> -{
>> -       spi_unregister_driver(&ade7759_driver);
>> -}
>> -module_exit(ade7759_exit);
>> +module_spi_driver(ade7759_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADE7759 Active Energy Metering IC Driver");
>> diff --git a/drivers/staging/iio/meter/ade7854-spi.c b/drivers/staging/iio/meter/ade7854-spi.c
>> index cfa23ba..c485a79 100644
>> --- a/drivers/staging/iio/meter/ade7854-spi.c
>> +++ b/drivers/staging/iio/meter/ade7854-spi.c
>> @@ -353,18 +353,7 @@ static struct spi_driver ade7854_driver = {
>>        .remove = __devexit_p(ade7854_spi_remove),
>>        .id_table = ade7854_id,
>>  };
>> -
>> -static __init int ade7854_init(void)
>> -{
>> -       return spi_register_driver(&ade7854_driver);
>> -}
>> -module_init(ade7854_init);
>> -
>> -static __exit void ade7854_exit(void)
>> -{
>> -       spi_unregister_driver(&ade7854_driver);
>> -}
>> -module_exit(ade7854_exit);
>> +module_spi_driver(ade7854_driver);
>>
>>  MODULE_AUTHOR("Barry Song <21cnbao@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices ADE7854/58/68/78 SPI Driver");
>> diff --git a/drivers/staging/iio/resolver/ad2s1200.c b/drivers/staging/iio/resolver/ad2s1200.c
>> index d7ad46a..1c6a02b 100644
>> --- a/drivers/staging/iio/resolver/ad2s1200.c
>> +++ b/drivers/staging/iio/resolver/ad2s1200.c
>> @@ -170,18 +170,7 @@ static struct spi_driver ad2s1200_driver = {
>>        .remove = __devexit_p(ad2s1200_remove),
>>        .id_table = ad2s1200_id,
>>  };
>> -
>> -static __init int ad2s1200_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad2s1200_driver);
>> -}
>> -module_init(ad2s1200_spi_init);
>> -
>> -static __exit void ad2s1200_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad2s1200_driver);
>> -}
>> -module_exit(ad2s1200_spi_exit);
>> +module_spi_driver(ad2s1200_driver);
>>
>>  MODULE_AUTHOR("Graff Yang <graff.yang@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices AD2S1200/1205 Resolver to Digital SPI driver");
>> diff --git a/drivers/staging/iio/resolver/ad2s1210.c b/drivers/staging/iio/resolver/ad2s1210.c
>> index 6401a62..ff1b331 100644
>> --- a/drivers/staging/iio/resolver/ad2s1210.c
>> +++ b/drivers/staging/iio/resolver/ad2s1210.c
>> @@ -759,18 +759,7 @@ static struct spi_driver ad2s1210_driver = {
>>        .remove = __devexit_p(ad2s1210_remove),
>>        .id_table = ad2s1210_id,
>>  };
>> -
>> -static __init int ad2s1210_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad2s1210_driver);
>> -}
>> -module_init(ad2s1210_spi_init);
>> -
>> -static __exit void ad2s1210_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad2s1210_driver);
>> -}
>> -module_exit(ad2s1210_spi_exit);
>> +module_spi_driver(ad2s1210_driver);
>>
>>  MODULE_AUTHOR("Graff Yang <graff.yang@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices AD2S1210 Resolver to Digital SPI driver");
>> diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c
>> index a9200d9..6d07943 100644
>> --- a/drivers/staging/iio/resolver/ad2s90.c
>> +++ b/drivers/staging/iio/resolver/ad2s90.c
>> @@ -119,18 +119,7 @@ static struct spi_driver ad2s90_driver = {
>>        .remove = __devexit_p(ad2s90_remove),
>>        .id_table = ad2s90_id,
>>  };
>> -
>> -static __init int ad2s90_spi_init(void)
>> -{
>> -       return spi_register_driver(&ad2s90_driver);
>> -}
>> -module_init(ad2s90_spi_init);
>> -
>> -static __exit void ad2s90_spi_exit(void)
>> -{
>> -       spi_unregister_driver(&ad2s90_driver);
>> -}
>> -module_exit(ad2s90_spi_exit);
>> +module_spi_driver(ad2s90_driver);
>>
>>  MODULE_AUTHOR("Graff Yang <graff.yang@...il.com>");
>>  MODULE_DESCRIPTION("Analog Devices AD2S90 Resolver to Digital SPI driver");
>> --
>> 1.7.7.1
>>
>>
>>
> 
> 
> 

--
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