diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-11-09 22:32:44 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-11-09 22:32:44 +0000 |
commit | 3ae5eaec1d2d9c0cf53745352e7d4b152810ba24 (patch) | |
tree | d8825be54cefb6ad6707478d719c8e30605bee7b /drivers/i2c/busses/i2c-mv64xxx.c | |
parent | 00d3dcdd96646be6059cc21f2efa94c4edc1eda5 (diff) | |
download | lwn-3ae5eaec1d2d9c0cf53745352e7d4b152810ba24.tar.gz lwn-3ae5eaec1d2d9c0cf53745352e7d4b152810ba24.zip |
[DRIVER MODEL] Convert platform drivers to use struct platform_driver
This allows us to eliminate the casts in the drivers, and eventually
remove the use of the device_driver function pointer methods for
platform device drivers.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/i2c/busses/i2c-mv64xxx.c')
-rw-r--r-- | drivers/i2c/busses/i2c-mv64xxx.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c index 6b48027b2ee3..afd7634e5cc9 100644 --- a/drivers/i2c/busses/i2c-mv64xxx.c +++ b/drivers/i2c/busses/i2c-mv64xxx.c @@ -492,11 +492,10 @@ mv64xxx_i2c_unmap_regs(struct mv64xxx_i2c_data *drv_data) } static int __devinit -mv64xxx_i2c_probe(struct device *dev) +mv64xxx_i2c_probe(struct platform_device *pd) { - struct platform_device *pd = to_platform_device(dev); struct mv64xxx_i2c_data *drv_data; - struct mv64xxx_i2c_pdata *pdata = dev->platform_data; + struct mv64xxx_i2c_pdata *pdata = pd->dev.platform_data; int rc; if ((pd->id != 0) || !pdata) @@ -526,7 +525,7 @@ mv64xxx_i2c_probe(struct device *dev) drv_data->adapter.class = I2C_CLASS_HWMON; drv_data->adapter.timeout = pdata->timeout; drv_data->adapter.retries = pdata->retries; - dev_set_drvdata(dev, drv_data); + platform_set_drvdata(pd, drv_data); i2c_set_adapdata(&drv_data->adapter, drv_data); if (request_irq(drv_data->irq, mv64xxx_i2c_intr, 0, @@ -555,9 +554,9 @@ mv64xxx_i2c_probe(struct device *dev) } static int __devexit -mv64xxx_i2c_remove(struct device *dev) +mv64xxx_i2c_remove(struct platform_device *dev) { - struct mv64xxx_i2c_data *drv_data = dev_get_drvdata(dev); + struct mv64xxx_i2c_data *drv_data = platform_get_drvdata(dev); int rc; rc = i2c_del_adapter(&drv_data->adapter); @@ -568,24 +567,25 @@ mv64xxx_i2c_remove(struct device *dev) return rc; } -static struct device_driver mv64xxx_i2c_driver = { - .owner = THIS_MODULE, - .name = MV64XXX_I2C_CTLR_NAME, - .bus = &platform_bus_type, +static struct platform_driver mv64xxx_i2c_driver = { .probe = mv64xxx_i2c_probe, .remove = mv64xxx_i2c_remove, + .driver = { + .owner = THIS_MODULE, + .name = MV64XXX_I2C_CTLR_NAME, + }, }; static int __init mv64xxx_i2c_init(void) { - return driver_register(&mv64xxx_i2c_driver); + return platform_driver_register(&mv64xxx_i2c_driver); } static void __exit mv64xxx_i2c_exit(void) { - driver_unregister(&mv64xxx_i2c_driver); + platform_driver_unregister(&mv64xxx_i2c_driver); } module_init(mv64xxx_i2c_init); |