diff options
author | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2020-03-06 10:44:01 +0300 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2020-03-16 13:12:10 +0300 |
commit | fffbe10e2fd3a92a401cbcbb77da7f67fe900eeb (patch) | |
tree | a6e56d945215b27e15eab11c43fc3ef92b31fb70 /drivers/rtc | |
parent | d53d4ae981d065a63423b0fe64d18827ed540349 (diff) | |
download | linux-fffbe10e2fd3a92a401cbcbb77da7f67fe900eeb.tar.xz |
rtc: mpc5121: convert to devm_rtc_allocate_device
This simplifies the path for the rtc_ops selection.
Link: https://lore.kernel.org/r/20200306074404.58909-2-alexandre.belloni@bootlin.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-mpc5121.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c index 9e4454d35352..845212fd1e33 100644 --- a/drivers/rtc/rtc-mpc5121.c +++ b/drivers/rtc/rtc-mpc5121.c @@ -344,6 +344,15 @@ static int mpc5121_rtc_probe(struct platform_device *op) goto out_dispose2; } + rtc->rtc = devm_rtc_allocate_device(&op->dev); + if (IS_ERR(rtc->rtc)) { + err = PTR_ERR(rtc->rtc); + goto out_dispose2; + } + + rtc->rtc->ops = &mpc5200_rtc_ops; + rtc->rtc->uie_unsupported = 1; + if (of_device_is_compatible(op->dev.of_node, "fsl,mpc5121-rtc")) { u32 ka; ka = in_be32(&rtc->regs->keep_alive); @@ -352,19 +361,12 @@ static int mpc5121_rtc_probe(struct platform_device *op) "mpc5121-rtc: Battery or oscillator failure!\n"); out_be32(&rtc->regs->keep_alive, ka); } - - rtc->rtc = devm_rtc_device_register(&op->dev, "mpc5121-rtc", - &mpc5121_rtc_ops, THIS_MODULE); - } else { - rtc->rtc = devm_rtc_device_register(&op->dev, "mpc5200-rtc", - &mpc5200_rtc_ops, THIS_MODULE); + rtc->rtc->ops = &mpc5121_rtc_ops; } - if (IS_ERR(rtc->rtc)) { - err = PTR_ERR(rtc->rtc); + err = rtc_register_device(rtc->rtc); + if (err) goto out_dispose2; - } - rtc->rtc->uie_unsupported = 1; return 0; |