On 10/11/2019 11:05, Thomas Bogendoerfer wrote: > Simplify ioremapping of registers by using devm_platform_ioremap_resource. > > Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@xxxxxxx> > --- > drivers/rtc/rtc-ds1685.c | 23 +++-------------------- > 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; > Acked-by: Joshua Kinard <kumba@xxxxxxxxxx>