diff options
Diffstat (limited to 'drivers/i2c/busses/i2c-pca-platform.c')
| -rw-r--r-- | drivers/i2c/busses/i2c-pca-platform.c | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c index ace67995d7d..845f12598e7 100644 --- a/drivers/i2c/busses/i2c-pca-platform.c +++ b/drivers/i2c/busses/i2c-pca-platform.c @@ -12,7 +12,6 @@ */ #include <linux/kernel.h> #include <linux/module.h> -#include <linux/init.h> #include <linux/slab.h> #include <linux/delay.h> #include <linux/jiffies.h> @@ -131,12 +130,12 @@ static irqreturn_t i2c_pca_pf_handler(int this_irq, void *dev_id) } -static int __devinit i2c_pca_pf_probe(struct platform_device *pdev) +static int i2c_pca_pf_probe(struct platform_device *pdev) { struct i2c_pca_pf_data *i2c; struct resource *res; struct i2c_pca9564_pf_platform_data *platform_data = - pdev->dev.platform_data; + dev_get_platdata(&pdev->dev); int ret = 0; int irq; @@ -171,7 +170,7 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev) i2c->io_size = resource_size(res); i2c->irq = irq; - i2c->adap.nr = pdev->id >= 0 ? pdev->id : 0; + i2c->adap.nr = pdev->id; i2c->adap.owner = THIS_MODULE; snprintf(i2c->adap.name, sizeof(i2c->adap.name), "PCA9564/PCA9665 at 0x%08lx", @@ -257,10 +256,9 @@ e_print: return ret; } -static int __devexit i2c_pca_pf_remove(struct platform_device *pdev) +static int i2c_pca_pf_remove(struct platform_device *pdev) { struct i2c_pca_pf_data *i2c = platform_get_drvdata(pdev); - platform_set_drvdata(pdev, NULL); i2c_del_adapter(&i2c->adap); @@ -279,27 +277,15 @@ static int __devexit i2c_pca_pf_remove(struct platform_device *pdev) static struct platform_driver i2c_pca_pf_driver = { .probe = i2c_pca_pf_probe, - .remove = __devexit_p(i2c_pca_pf_remove), + .remove = i2c_pca_pf_remove, .driver = { .name = "i2c-pca-platform", .owner = THIS_MODULE, }, }; -static int __init i2c_pca_pf_init(void) -{ - return platform_driver_register(&i2c_pca_pf_driver); -} - -static void __exit i2c_pca_pf_exit(void) -{ - platform_driver_unregister(&i2c_pca_pf_driver); -} +module_platform_driver(i2c_pca_pf_driver); MODULE_AUTHOR("Wolfram Sang <w.sang@pengutronix.de>"); MODULE_DESCRIPTION("I2C-PCA9564/PCA9665 platform driver"); MODULE_LICENSE("GPL"); - -module_init(i2c_pca_pf_init); -module_exit(i2c_pca_pf_exit); - |
