Merge tag 'char-misc-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 20 Mar 2012 18:15:18 +0000 (11:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 20 Mar 2012 18:15:18 +0000 (11:15 -0700)
Pull char and misc patches for 3.4-rc1 from Greg KH:
 "Not much here, just a few minor fixes and some conversions to the
  module_*_driver() functions, making the codebase smaller."

* tag 'char-misc-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
  misc: bmp085: Use unsigned long to store jiffies
  char/ramoops: included linux/err.h twice
  misc: bmp085: Handle jiffies overflow correctly
  misc: fsa9480: Remove obsolete cleanup for clientdata
  char: Fix typo in tlclk.c
  char: Fix typo in viotape.c
  cs5535-mfgpt: don't call __init function from __devinit
  MISC: convert drivers/misc/* to use module_spi_driver()
  MISC: convert drivers/misc/* to use module_i2c_driver()
  MISC: convert drivers/misc/* to use module_platform_driver()

29 files changed:
drivers/char/ramoops.c
drivers/char/tlclk.c
drivers/char/viotape.c
drivers/misc/ad525x_dpot-i2c.c
drivers/misc/ad525x_dpot-spi.c
drivers/misc/apds9802als.c
drivers/misc/apds990x.c
drivers/misc/bh1770glc.c
drivers/misc/bh1780gli.c
drivers/misc/bmp085.c
drivers/misc/carma/carma-fpga.c
drivers/misc/cs5535-mfgpt.c
drivers/misc/ds1682.c
drivers/misc/eeprom/at25.c
drivers/misc/eeprom/eeprom.c
drivers/misc/eeprom/eeprom_93xx46.c
drivers/misc/eeprom/max6875.c
drivers/misc/fsa9480.c
drivers/misc/hmc6352.c
drivers/misc/ics932s401.c
drivers/misc/isl29003.c
drivers/misc/isl29020.c
drivers/misc/lis3lv02d/lis3lv02d_i2c.c
drivers/misc/lis3lv02d/lis3lv02d_spi.c
drivers/misc/max8997-muic.c
drivers/misc/spear13xx_pcie_gadget.c
drivers/misc/ti-st/st_kim.c
drivers/misc/ti_dac7512.c
drivers/misc/tsl2550.c

index 9fec3232b7361b102ff5e05e55f2444eeab6ffb8..2a5e45d2a9f839f216a6415dc888edc30cc55463 100644 (file)
@@ -26,7 +26,6 @@
 #include <linux/module.h>
 #include <linux/kmsg_dump.h>
 #include <linux/time.h>
-#include <linux/err.h>
 #include <linux/io.h>
 #include <linux/ioport.h>
 #include <linux/platform_device.h>
index 0c964cdcc223ca7e710534470ee069d75497b802..ce29e7cce528ec01268f41eb05be4ad7f6dcee3c 100644 (file)
@@ -797,7 +797,7 @@ static int __init tlclk_init(void)
        telclk_interrupt = (inb(TLCLK_REG7) & 0x0f);
 
        if (0x0F == telclk_interrupt ) { /* not MCPBL0010 ? */
-               printk(KERN_ERR "telclk_interrup = 0x%x non-mcpbl0010 hw.\n",
+               printk(KERN_ERR "telclk_interrupt = 0x%x non-mcpbl0010 hw.\n",
                        telclk_interrupt);
                ret = -ENXIO;
                goto out3;
index ad6e64a2912d6fe61d06d7c20135e76a92bc9e1c..8b34c65511eb3fa516bf323c320182b187a83985 100644 (file)
@@ -976,7 +976,7 @@ int __init viotap_init(void)
 
        tape_class = class_create(THIS_MODULE, "tape");
        if (IS_ERR(tape_class)) {
-               printk(VIOTAPE_KERN_WARN "Unable to allocat class\n");
+               printk(VIOTAPE_KERN_WARN "Unable to allocate class\n");
                ret = PTR_ERR(tape_class);
                goto unreg_chrdev;
        }
index 83adab69bfd4a5c1e32c48d52bc2bf319c905b24..820826270b62af400eb8528071b5e9db5ce6b272 100644 (file)
@@ -113,17 +113,7 @@ static struct i2c_driver ad_dpot_i2c_driver = {
        .id_table       = ad_dpot_id,
 };
 
-static int __init ad_dpot_i2c_init(void)
-{
-       return i2c_add_driver(&ad_dpot_i2c_driver);
-}
-module_init(ad_dpot_i2c_init);
-
-static void __exit ad_dpot_i2c_exit(void)
-{
-       i2c_del_driver(&ad_dpot_i2c_driver);
-}
-module_exit(ad_dpot_i2c_exit);
+module_i2c_driver(ad_dpot_i2c_driver);
 
 MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>");
 MODULE_DESCRIPTION("digital potentiometer I2C bus driver");
index 822749e41feae60af6f2ab00c14650855229339a..f62317540d002c9f2ce943537cb9f131e549ef7d 100644 (file)
@@ -135,17 +135,7 @@ static struct spi_driver ad_dpot_spi_driver = {
        .id_table       = ad_dpot_spi_id,
 };
 
-static int __init ad_dpot_spi_init(void)
-{
-       return spi_register_driver(&ad_dpot_spi_driver);
-}
-module_init(ad_dpot_spi_init);
-
-static void __exit ad_dpot_spi_exit(void)
-{
-       spi_unregister_driver(&ad_dpot_spi_driver);
-}
-module_exit(ad_dpot_spi_exit);
+module_spi_driver(ad_dpot_spi_driver);
 
 MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>");
 MODULE_DESCRIPTION("digital potentiometer SPI bus driver");
index 81db7811cf68ca349b6778ca5a8bff99db535f3e..0314773f6db382692f509471ab49ea27208d40d8 100644 (file)
@@ -332,17 +332,7 @@ static struct i2c_driver apds9802als_driver = {
        .id_table = apds9802als_id,
 };
 
-static int __init sensor_apds9802als_init(void)
-{
-       return i2c_add_driver(&apds9802als_driver);
-}
-
-static void  __exit sensor_apds9802als_exit(void)
-{
-       i2c_del_driver(&apds9802als_driver);
-}
-module_init(sensor_apds9802als_init);
-module_exit(sensor_apds9802als_exit);
+module_i2c_driver(apds9802als_driver);
 
 MODULE_AUTHOR("Anantha Narayanan <Anantha.Narayanan@intel.com");
 MODULE_DESCRIPTION("Avago apds9802als ALS Driver");
index e2a52e5cf449c7f65f97e3e492a8304e321a80df..ee74244aa03b775493f9221172bf02417f1e9a35 100644 (file)
@@ -1279,19 +1279,8 @@ static struct i2c_driver apds990x_driver = {
        .id_table = apds990x_id,
 };
 
-static int __init apds990x_init(void)
-{
-       return i2c_add_driver(&apds990x_driver);
-}
-
-static void __exit apds990x_exit(void)
-{
-       i2c_del_driver(&apds990x_driver);
-}
+module_i2c_driver(apds990x_driver);
 
 MODULE_DESCRIPTION("APDS990X combined ALS and proximity sensor");
 MODULE_AUTHOR("Samu Onkalo, Nokia Corporation");
 MODULE_LICENSE("GPL v2");
-
-module_init(apds990x_init);
-module_exit(apds990x_exit);
index d79a972f2c799c11b2aa4780efb86417eff13854..3d56ae7ef8def5c507bbd2eb95241d32e2e10832 100644 (file)
@@ -1399,19 +1399,8 @@ static struct i2c_driver bh1770_driver = {
        .id_table = bh1770_id,
 };
 
-static int __init bh1770_init(void)
-{
-       return i2c_add_driver(&bh1770_driver);
-}
-
-static void __exit bh1770_exit(void)
-{
-       i2c_del_driver(&bh1770_driver);
-}
+module_i2c_driver(bh1770_driver);
 
 MODULE_DESCRIPTION("BH1770GLC / SFH7770 combined ALS and proximity sensor");
 MODULE_AUTHOR("Samu Onkalo, Nokia Corporation");
 MODULE_LICENSE("GPL v2");
-
-module_init(bh1770_init);
-module_exit(bh1770_exit);
index bfeea9ba702e4ecae54d782b1adfde71a3c5dfe9..54f6f39f990a6a99a87b89eef923c79be18a87b8 100644 (file)
@@ -253,21 +253,10 @@ static struct i2c_driver bh1780_driver = {
        .driver = {
                .name = "bh1780",
                .pm     = BH1780_PMOPS,
-},
+       },
 };
 
-static int __init bh1780_init(void)
-{
-       return i2c_add_driver(&bh1780_driver);
-}
-
-static void __exit bh1780_exit(void)
-{
-       i2c_del_driver(&bh1780_driver);
-}
-
-module_init(bh1780_init)
-module_exit(bh1780_exit)
+module_i2c_driver(bh1780_driver);
 
 MODULE_DESCRIPTION("BH1780GLI Ambient Light Sensor Driver");
 MODULE_LICENSE("GPL");
index b29a2be245911c62cc67a3b6e6aed3864b03242b..76c3064629f1c802ef38c0f3ad4ae15f5a1142cb 100644 (file)
@@ -87,7 +87,7 @@ struct bmp085_data {
        u32 raw_temperature;
        u32 raw_pressure;
        unsigned char oversampling_setting;
-       u32 last_temp_measurement;
+       unsigned long last_temp_measurement;
        s32 b6; /* calculated temperature correction coefficient */
 };
 
@@ -234,7 +234,8 @@ static s32 bmp085_get_pressure(struct bmp085_data *data, int *pressure)
        int status;
 
        /* alt least every second force an update of the ambient temperature */
-       if (data->last_temp_measurement + 1*HZ < jiffies) {
+       if (data->last_temp_measurement == 0 ||
+                       time_is_before_jiffies(data->last_temp_measurement + 1*HZ)) {
                status = bmp085_get_temperature(data, NULL);
                if (status != 0)
                        goto exit;
@@ -464,20 +465,8 @@ static struct i2c_driver bmp085_driver = {
        .address_list   = normal_i2c
 };
 
-static int __init bmp085_init(void)
-{
-       return i2c_add_driver(&bmp085_driver);
-}
-
-static void __exit bmp085_exit(void)
-{
-       i2c_del_driver(&bmp085_driver);
-}
-
+module_i2c_driver(bmp085_driver);
 
 MODULE_AUTHOR("Christoph Mair <christoph.mair@gmail.com");
 MODULE_DESCRIPTION("BMP085 driver");
 MODULE_LICENSE("GPL");
-
-module_init(bmp085_init);
-module_exit(bmp085_exit);
index 14e974b2a7812452d14ad2d92979e8d84483da7e..366bc156e34da003a57ea974cbb0b37fcd4d2596 100644 (file)
@@ -1410,23 +1410,8 @@ static struct platform_driver data_of_driver = {
        },
 };
 
-/*
- * Module Init / Exit
- */
-
-static int __init data_init(void)
-{
-       return platform_driver_register(&data_of_driver);
-}
-
-static void __exit data_exit(void)
-{
-       platform_driver_unregister(&data_of_driver);
-}
+module_platform_driver(data_of_driver);
 
 MODULE_AUTHOR("Ira W. Snyder <iws@ovro.caltech.edu>");
 MODULE_DESCRIPTION("CARMA DATA-FPGA Access Driver");
 MODULE_LICENSE("GPL");
-
-module_init(data_init);
-module_exit(data_exit);
index 87a390de054ce5fe8437fbe225700b4ba6849fd9..f505a40a8f492735793b594b89c6fc1cceddc5f8 100644 (file)
@@ -246,7 +246,7 @@ EXPORT_SYMBOL_GPL(cs5535_mfgpt_write);
  * Jordan tells me that he and Mitch once played w/ it, but it's unclear
  * what the results of that were (and they experienced some instability).
  */
-static void __init reset_all_timers(void)
+static void __devinit reset_all_timers(void)
 {
        uint32_t val, dummy;
 
index a513f0aa643210dcc4856e4a85e615996d3fcb85..154b02e5094f3202a528656045f6d1ac210fc883 100644 (file)
@@ -250,19 +250,8 @@ static struct i2c_driver ds1682_driver = {
        .id_table = ds1682_id,
 };
 
-static int __init ds1682_init(void)
-{
-       return i2c_add_driver(&ds1682_driver);
-}
-
-static void __exit ds1682_exit(void)
-{
-       i2c_del_driver(&ds1682_driver);
-}
+module_i2c_driver(ds1682_driver);
 
 MODULE_AUTHOR("Grant Likely <grant.likely@secretlab.ca>");
 MODULE_DESCRIPTION("DS1682 Elapsed Time Indicator driver");
 MODULE_LICENSE("GPL");
-
-module_init(ds1682_init);
-module_exit(ds1682_exit);
index c627e4174ccdcd9a4ddcf058c1c58a299b2b491b..01ab3c9b4cf7cb8f1c1eaa1d436519be49fcc794 100644 (file)
@@ -405,17 +405,7 @@ static struct spi_driver at25_driver = {
        .remove         = __devexit_p(at25_remove),
 };
 
-static int __init at25_init(void)
-{
-       return spi_register_driver(&at25_driver);
-}
-module_init(at25_init);
-
-static void __exit at25_exit(void)
-{
-       spi_unregister_driver(&at25_driver);
-}
-module_exit(at25_exit);
+module_spi_driver(at25_driver);
 
 MODULE_DESCRIPTION("Driver for most SPI EEPROMs");
 MODULE_AUTHOR("David Brownell");
index 45060ddc4e59c23736a84df107d20aa675e6b9a1..c169e07654cb918310b61cf0f554ee87971b7e58 100644 (file)
@@ -229,22 +229,10 @@ static struct i2c_driver eeprom_driver = {
        .address_list   = normal_i2c,
 };
 
-static int __init eeprom_init(void)
-{
-       return i2c_add_driver(&eeprom_driver);
-}
-
-static void __exit eeprom_exit(void)
-{
-       i2c_del_driver(&eeprom_driver);
-}
-
+module_i2c_driver(eeprom_driver);
 
 MODULE_AUTHOR("Frodo Looijaard <frodol@dds.nl> and "
                "Philip Edelbrock <phil@netroedge.com> and "
                "Greg Kroah-Hartman <greg@kroah.com>");
 MODULE_DESCRIPTION("I2C EEPROM driver");
 MODULE_LICENSE("GPL");
-
-module_init(eeprom_init);
-module_exit(eeprom_exit);
index 0c7ebb1e19e52199b54616d7ae1fb2300a65b694..ce3fe3633dd771c724be75870d6712f16971e96c 100644 (file)
@@ -392,17 +392,7 @@ static struct spi_driver eeprom_93xx46_driver = {
        .remove         = __devexit_p(eeprom_93xx46_remove),
 };
 
-static int __init eeprom_93xx46_init(void)
-{
-       return spi_register_driver(&eeprom_93xx46_driver);
-}
-module_init(eeprom_93xx46_init);
-
-static void __exit eeprom_93xx46_exit(void)
-{
-       spi_unregister_driver(&eeprom_93xx46_driver);
-}
-module_exit(eeprom_93xx46_exit);
+module_spi_driver(eeprom_93xx46_driver);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Driver for 93xx46 EEPROMs");
index 5653a3ce0517275df1e1f72f351164145af45ff1..e36157d5d3abf0c9d8ed388cad08a2dcbf6e74d8 100644 (file)
@@ -208,20 +208,8 @@ static struct i2c_driver max6875_driver = {
        .id_table       = max6875_id,
 };
 
-static int __init max6875_init(void)
-{
-       return i2c_add_driver(&max6875_driver);
-}
-
-static void __exit max6875_exit(void)
-{
-       i2c_del_driver(&max6875_driver);
-}
-
+module_i2c_driver(max6875_driver);
 
 MODULE_AUTHOR("Ben Gardner <bgardner@wabtec.com>");
 MODULE_DESCRIPTION("MAX6875 driver");
 MODULE_LICENSE("GPL");
-
-module_init(max6875_init);
-module_exit(max6875_exit);
index f6586d53e1a3a6d7314fb5c3bdcf34a61e956f7c..ac96c3a4034acfb6aa98be0e1b4fa5b8f8605bac 100644 (file)
@@ -458,7 +458,6 @@ fail2:
        if (client->irq)
                free_irq(client->irq, usbsw);
 fail1:
-       i2c_set_clientdata(client, NULL);
        kfree(usbsw);
        return ret;
 }
@@ -468,7 +467,6 @@ static int __devexit fsa9480_remove(struct i2c_client *client)
        struct fsa9480_usbsw *usbsw = i2c_get_clientdata(client);
        if (client->irq)
                free_irq(client->irq, usbsw);
-       i2c_set_clientdata(client, NULL);
 
        sysfs_remove_group(&client->dev.kobj, &fsa9480_group);
        device_init_wakeup(&client->dev, 0);
@@ -541,17 +539,7 @@ static struct i2c_driver fsa9480_i2c_driver = {
        .id_table = fsa9480_id,
 };
 
-static int __init fsa9480_init(void)
-{
-       return i2c_add_driver(&fsa9480_i2c_driver);
-}
-module_init(fsa9480_init);
-
-static void __exit fsa9480_exit(void)
-{
-       i2c_del_driver(&fsa9480_i2c_driver);
-}
-module_exit(fsa9480_exit);
+module_i2c_driver(fsa9480_i2c_driver);
 
 MODULE_AUTHOR("Minkyu Kang <mk7.kang@samsung.com>");
 MODULE_DESCRIPTION("FSA9480 USB Switch driver");
index ca938fc8a8d6d20361b98e157c959cd62e6ed6a4..423cd40f1c0f425274ebdaa0dc35efc0f47ca466 100644 (file)
@@ -148,18 +148,7 @@ static struct i2c_driver hmc6352_driver = {
        .id_table = hmc6352_id,
 };
 
-static int __init sensor_hmc6352_init(void)
-{
-       return i2c_add_driver(&hmc6352_driver);
-}
-
-static void  __exit sensor_hmc6352_exit(void)
-{
-       i2c_del_driver(&hmc6352_driver);
-}
-
-module_init(sensor_hmc6352_init);
-module_exit(sensor_hmc6352_exit);
+module_i2c_driver(hmc6352_driver);
 
 MODULE_AUTHOR("Kalhan Trisal <kalhan.trisal@intel.com");
 MODULE_DESCRIPTION("hmc6352 Compass Driver");
index 152e9d93eecb2881fa5b804f791ef6db7b74ed6b..00295367c06abdcd6f4c965bd685fa318fa3a61e 100644 (file)
@@ -480,23 +480,12 @@ static int ics932s401_remove(struct i2c_client *client)
        return 0;
 }
 
-static int __init ics932s401_init(void)
-{
-       return i2c_add_driver(&ics932s401_driver);
-}
-
-static void __exit ics932s401_exit(void)
-{
-       i2c_del_driver(&ics932s401_driver);
-}
+module_i2c_driver(ics932s401_driver);
 
 MODULE_AUTHOR("Darrick J. Wong <djwong@us.ibm.com>");
 MODULE_DESCRIPTION("ICS932S401 driver");
 MODULE_LICENSE("GPL");
 
-module_init(ics932s401_init);
-module_exit(ics932s401_exit);
-
 /* IBM IntelliStation Z30 */
 MODULE_ALIAS("dmi:bvnIBM:*:rn9228:*");
 MODULE_ALIAS("dmi:bvnIBM:*:rn9232:*");
index a71e245801eec7ffa5183f59d28d9ef8c01576b9..eb5de2e210d742ff1d7902c4fd7c8b2156a4f555 100644 (file)
@@ -455,21 +455,9 @@ static struct i2c_driver isl29003_driver = {
        .id_table = isl29003_id,
 };
 
-static int __init isl29003_init(void)
-{
-       return i2c_add_driver(&isl29003_driver);
-}
-
-static void __exit isl29003_exit(void)
-{
-       i2c_del_driver(&isl29003_driver);
-}
+module_i2c_driver(isl29003_driver);
 
 MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>");
 MODULE_DESCRIPTION("ISL29003 ambient light sensor driver");
 MODULE_LICENSE("GPL v2");
 MODULE_VERSION(DRIVER_VERSION);
-
-module_init(isl29003_init);
-module_exit(isl29003_exit);
-
index 3d6cce663beac466537c4b7392569b097dad7b53..0aa08c746463dc4ca3645fbfb96cbcb65b6275d2 100644 (file)
@@ -230,18 +230,7 @@ static struct i2c_driver isl29020_driver = {
        .id_table = isl29020_id,
 };
 
-static int __init sensor_isl29020_init(void)
-{
-       return i2c_add_driver(&isl29020_driver);
-}
-
-static void  __exit sensor_isl29020_exit(void)
-{
-       i2c_del_driver(&isl29020_driver);
-}
-
-module_init(sensor_isl29020_init);
-module_exit(sensor_isl29020_exit);
+module_i2c_driver(isl29020_driver);
 
 MODULE_AUTHOR("Kalhan Trisal <kalhan.trisal@intel.com>");
 MODULE_DESCRIPTION("Intersil isl29020 ALS Driver");
index c02fea029dcf1bcd971199eea32c9c79cb9fa0fc..e8c0019da97a81bb8643a10c6e956409b5569b82 100644 (file)
@@ -256,19 +256,8 @@ static struct i2c_driver lis3lv02d_i2c_driver = {
        .id_table = lis3lv02d_id,
 };
 
-static int __init lis3lv02d_init(void)
-{
-       return i2c_add_driver(&lis3lv02d_i2c_driver);
-}
-
-static void __exit lis3lv02d_exit(void)
-{
-       i2c_del_driver(&lis3lv02d_i2c_driver);
-}
+module_i2c_driver(lis3lv02d_i2c_driver);
 
 MODULE_AUTHOR("Nokia Corporation");
 MODULE_DESCRIPTION("lis3lv02d I2C interface");
 MODULE_LICENSE("GPL");
-
-module_init(lis3lv02d_init);
-module_exit(lis3lv02d_exit);
index b2c1be12d16fb5625190b21e3bed774cc924d3a2..80880e984b4fea1c6b8ed23ef69fb29aeb3200cc 100644 (file)
@@ -126,18 +126,7 @@ static struct spi_driver lis302dl_spi_driver = {
        .remove = __devexit_p(lis302dl_spi_remove),
 };
 
-static int __init lis302dl_init(void)
-{
-       return spi_register_driver(&lis302dl_spi_driver);
-}
-
-static void __exit lis302dl_exit(void)
-{
-       spi_unregister_driver(&lis302dl_spi_driver);
-}
-
-module_init(lis302dl_init);
-module_exit(lis302dl_exit);
+module_spi_driver(lis302dl_spi_driver);
 
 MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>");
 MODULE_DESCRIPTION("lis3lv02d SPI glue layer");
index d74ef41aabd50e9cc79dd63bcd7d9bd6c118a6ee..19591eaa492a1d8292d37ab5430c69802f6b017d 100644 (file)
@@ -488,17 +488,7 @@ static struct platform_driver max8997_muic_driver = {
        .remove         = __devexit_p(max8997_muic_remove),
 };
 
-static int __init max8997_muic_init(void)
-{
-       return platform_driver_register(&max8997_muic_driver);
-}
-module_init(max8997_muic_init);
-
-static void __exit max8997_muic_exit(void)
-{
-       platform_driver_unregister(&max8997_muic_driver);
-}
-module_exit(max8997_muic_exit);
+module_platform_driver(max8997_muic_driver);
 
 MODULE_DESCRIPTION("Maxim MAX8997 MUIC driver");
 MODULE_AUTHOR("Donggeun Kim <dg77.kim@samsung.com>");
index 43d073bc1d9c5fef61a1cb3a1e741a6cd6b6e0f9..123ed98eec3e3c1486264e8a0e0ef7dfcedc1909 100644 (file)
@@ -891,17 +891,7 @@ static struct platform_driver spear_pcie_gadget_driver = {
        },
 };
 
-static int __init spear_pcie_gadget_init(void)
-{
-       return platform_driver_register(&spear_pcie_gadget_driver);
-}
-module_init(spear_pcie_gadget_init);
-
-static void __exit spear_pcie_gadget_exit(void)
-{
-       platform_driver_unregister(&spear_pcie_gadget_driver);
-}
-module_exit(spear_pcie_gadget_exit);
+module_platform_driver(spear_pcie_gadget_driver);
 
 MODULE_ALIAS("platform:pcie-gadget-spear");
 MODULE_AUTHOR("Pratyush Anand");
index a7a861ceee2dfc8b3ba857ad40c664cfd11b3dfb..7c14f8fd98db2eec7e50c1ad5dff75a0bc90a82f 100644 (file)
@@ -837,19 +837,8 @@ static struct platform_driver kim_platform_driver = {
        },
 };
 
-static int __init st_kim_init(void)
-{
-       return platform_driver_register(&kim_platform_driver);
-}
-
-static void __exit st_kim_deinit(void)
-{
-       platform_driver_unregister(&kim_platform_driver);
-}
-
+module_platform_driver(kim_platform_driver);
 
-module_init(st_kim_init);
-module_exit(st_kim_deinit);
 MODULE_AUTHOR("Pavan Savoy <pavan_savoy@ti.com>");
 MODULE_DESCRIPTION("Shared Transport Driver for TI BT/FM/GPS combo chips ");
 MODULE_LICENSE("GPL");
index d3f229a3a77ef347108a530d030e539ad489f645..5acbba120de0ba47f49e8134c9ae1cf20475ca36 100644 (file)
@@ -82,20 +82,9 @@ static struct spi_driver dac7512_driver = {
        .remove = __devexit_p(dac7512_remove),
 };
 
-static int __init dac7512_init(void)
-{
-       return spi_register_driver(&dac7512_driver);
-}
-
-static void __exit dac7512_exit(void)
-{
-       spi_unregister_driver(&dac7512_driver);
-}
+module_spi_driver(dac7512_driver);
 
 MODULE_AUTHOR("Daniel Mack <daniel@caiaq.de>");
 MODULE_DESCRIPTION("DAC7512 16-bit DAC");
 MODULE_LICENSE("GPL v2");
 MODULE_VERSION(DRIVER_VERSION);
-
-module_init(dac7512_init);
-module_exit(dac7512_exit);
index 483ae5f7f68e20675ed829d0e481656200bb0ee1..0beb298a17dde8a9b3a54c1f5ddb5bccf5a2c270 100644 (file)
@@ -454,20 +454,9 @@ static struct i2c_driver tsl2550_driver = {
        .id_table = tsl2550_id,
 };
 
-static int __init tsl2550_init(void)
-{
-       return i2c_add_driver(&tsl2550_driver);
-}
-
-static void __exit tsl2550_exit(void)
-{
-       i2c_del_driver(&tsl2550_driver);
-}
+module_i2c_driver(tsl2550_driver);
 
 MODULE_AUTHOR("Rodolfo Giometti <giometti@linux.it>");
 MODULE_DESCRIPTION("TSL2550 ambient light sensor driver");
 MODULE_LICENSE("GPL");
 MODULE_VERSION(DRIVER_VERSION);
-
-module_init(tsl2550_init);
-module_exit(tsl2550_exit);