diff options
Diffstat (limited to 'drivers/rtc/rtc-m41t94.c')
| -rw-r--r-- | drivers/rtc/rtc-m41t94.c | 34 |
1 files changed, 5 insertions, 29 deletions
diff --git a/drivers/rtc/rtc-m41t94.c b/drivers/rtc/rtc-m41t94.c index c8c97a4169d..8d800b1bf87 100644 --- a/drivers/rtc/rtc-m41t94.c +++ b/drivers/rtc/rtc-m41t94.c @@ -110,7 +110,7 @@ static const struct rtc_class_ops m41t94_rtc_ops = { static struct spi_driver m41t94_driver; -static int __devinit m41t94_probe(struct spi_device *spi) +static int m41t94_probe(struct spi_device *spi) { struct rtc_device *rtc; int res; @@ -124,22 +124,12 @@ static int __devinit m41t94_probe(struct spi_device *spi) return res; } - rtc = rtc_device_register(m41t94_driver.driver.name, - &spi->dev, &m41t94_rtc_ops, THIS_MODULE); + rtc = devm_rtc_device_register(&spi->dev, m41t94_driver.driver.name, + &m41t94_rtc_ops, THIS_MODULE); if (IS_ERR(rtc)) return PTR_ERR(rtc); - dev_set_drvdata(&spi->dev, rtc); - - return 0; -} - -static int __devexit m41t94_remove(struct spi_device *spi) -{ - struct rtc_device *rtc = platform_get_drvdata(spi); - - if (rtc) - rtc_device_unregister(rtc); + spi_set_drvdata(spi, rtc); return 0; } @@ -147,26 +137,12 @@ static int __devexit m41t94_remove(struct spi_device *spi) static struct spi_driver m41t94_driver = { .driver = { .name = "rtc-m41t94", - .bus = &spi_bus_type, .owner = THIS_MODULE, }, .probe = m41t94_probe, - .remove = __devexit_p(m41t94_remove), }; -static __init int m41t94_init(void) -{ - return spi_register_driver(&m41t94_driver); -} - -module_init(m41t94_init); - -static __exit void m41t94_exit(void) -{ - spi_unregister_driver(&m41t94_driver); -} - -module_exit(m41t94_exit); +module_spi_driver(m41t94_driver); MODULE_AUTHOR("Kim B. Heino <Kim.Heino@bluegiga.com>"); MODULE_DESCRIPTION("Driver for ST M41T94 SPI RTC"); |
