aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-lpc32xx.c
diff options
context:
space:
mode:
authorAlexandre Belloni <alexandre.belloni@bootlin.com>2019-04-09 12:16:26 +0200
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2019-04-12 12:23:20 +0200
commit6bbad585fd694c25ac0809bbaf9f0f7bf58a6085 (patch)
tree67e05a00b001c22caa6b3a3ee620a4c939c9561b /drivers/rtc/rtc-lpc32xx.c
parentrtc: mxc_v2: use dev_pm_set_wake_irq() to simplify code (diff)
downloadlinux-dev-6bbad585fd694c25ac0809bbaf9f0f7bf58a6085.tar.xz
linux-dev-6bbad585fd694c25ac0809bbaf9f0f7bf58a6085.zip
rtc: lpc32xx: convert to devm_rtc_allocate_device
This allows further improvement of the driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/rtc/rtc-lpc32xx.c')
-rw-r--r--drivers/rtc/rtc-lpc32xx.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/rtc/rtc-lpc32xx.c b/drivers/rtc/rtc-lpc32xx.c
index 910e600275b9..295dc6ddac6d 100644
--- a/drivers/rtc/rtc-lpc32xx.c
+++ b/drivers/rtc/rtc-lpc32xx.c
@@ -47,8 +47,6 @@
#define LPC32XX_RTC_KEY_ONSW_LOADVAL 0xB5C13F27
-#define RTC_NAME "rtc-lpc32xx"
-
#define rtc_readl(dev, reg) \
__raw_readl((dev)->rtc_base + (reg))
#define rtc_writel(dev, reg, val) \
@@ -201,7 +199,7 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev)
{
struct resource *res;
struct lpc32xx_rtc *rtc;
- int rtcirq;
+ int rtcirq, err;
u32 tmp;
rtcirq = platform_get_irq(pdev, 0);
@@ -256,12 +254,15 @@ static int lpc32xx_rtc_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, rtc);
- rtc->rtc = devm_rtc_device_register(&pdev->dev, RTC_NAME,
- &lpc32xx_rtc_ops, THIS_MODULE);
- if (IS_ERR(rtc->rtc)) {
- dev_err(&pdev->dev, "Can't get RTC\n");
+ rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
+ if (IS_ERR(rtc->rtc))
return PTR_ERR(rtc->rtc);
- }
+
+ rtc->rtc->ops = &lpc32xx_rtc_ops;
+
+ err = rtc_register_device(rtc->rtc);
+ if (err)
+ return err;
/*
* IRQ is enabled after device registration in case alarm IRQ
@@ -374,7 +375,7 @@ static struct platform_driver lpc32xx_rtc_driver = {
.probe = lpc32xx_rtc_probe,
.remove = lpc32xx_rtc_remove,
.driver = {
- .name = RTC_NAME,
+ .name = "rtc-lpc32xx",
.pm = LPC32XX_RTC_PM_OPS,
.of_match_table = of_match_ptr(lpc32xx_rtc_match),
},