diff options
author | Thomas Bogendoerfer <tbogendoerfer@suse.de> | 2019-10-11 17:05:44 +0200 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2019-10-14 17:49:22 +0200 |
commit | af818031f4637b0e8d106fcc9023f1c22c44e13a (patch) | |
tree | d382e8ec5d5612a401e7dc6893405064bf788c12 | |
parent | rts: ds1685: remove not needed fields from private struct (diff) | |
download | linux-af818031f4637b0e8d106fcc9023f1c22c44e13a.tar.xz linux-af818031f4637b0e8d106fcc9023f1c22c44e13a.zip |
rtc: ds1685: use devm_platform_ioremap_resource helper
Simplify ioremapping of registers by using devm_platform_ioremap_resource.
Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Acked-by: Joshua Kinard <kumba@gentoo.org>
Link: https://lore.kernel.org/r/20191011150546.9186-2-tbogendoerfer@suse.de
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-rw-r--r-- | drivers/rtc/rtc-ds1685.c | 23 | ||||
-rw-r--r-- | include/linux/rtc/ds1685.h | 1 |
2 files changed, 3 insertions, 21 deletions
diff --git a/drivers/rtc/rtc-ds1685.c b/drivers/rtc/rtc-ds1685.c index 51f568473de8..349a8d1caca1 100644 --- a/drivers/rtc/rtc-ds1685.c +++ b/drivers/rtc/rtc-ds1685.c @@ -1040,7 +1040,6 @@ static int ds1685_rtc_probe(struct platform_device *pdev) { struct rtc_device *rtc_dev; - struct resource *res; struct ds1685_priv *rtc; struct ds1685_rtc_platform_data *pdata; u8 ctrla, ctrlb, hours; @@ -1070,25 +1069,9 @@ ds1685_rtc_probe(struct platform_device *pdev) * that sits behind the IOC3 PCI metadevice. */ if (pdata->alloc_io_resources) { - /* Get the platform resources. */ - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) - return -ENXIO; - rtc->size = resource_size(res); - - /* Request a memory region. */ - /* XXX: mmio-only for now. */ - if (!devm_request_mem_region(&pdev->dev, res->start, rtc->size, - pdev->name)) - return -EBUSY; - - /* - * Set the base address for the rtc, and ioremap its - * registers. - */ - rtc->regs = devm_ioremap(&pdev->dev, res->start, rtc->size); - if (!rtc->regs) - return -ENOMEM; + rtc->regs = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(rtc->regs)) + return PTR_ERR(rtc->regs); } /* Get the register step size. */ diff --git a/include/linux/rtc/ds1685.h b/include/linux/rtc/ds1685.h index b9671d00d964..101c7adc05a2 100644 --- a/include/linux/rtc/ds1685.h +++ b/include/linux/rtc/ds1685.h @@ -43,7 +43,6 @@ struct ds1685_priv { struct rtc_device *dev; void __iomem *regs; u32 regstep; - size_t size; int irq_num; bool bcd_mode; bool no_irq; |