]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
rtc: ftrtc010: drop needless struct ftrtc010_rtc::rtc_dev member
authorAndré Draszik <andre.draszik@linaro.org>
Tue, 4 Mar 2025 17:05:34 +0000 (17:05 +0000)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 5 Mar 2025 22:08:00 +0000 (23:08 +0100)
The memory pointed to by the ::rtc_dev member is managed via devres,
and no code in this driver uses it past _probe().

We can drop it from the structure and just use a local temporary
variable, reducing runtime memory consumption by a few bytes.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/r/20250304-rtc-cleanups-v2-6-d4689a71668c@linaro.org
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-ftrtc010.c

index cb4a5d101f537e20a685bb022e6f6516b0df8271..02608d3784958e69ec0ecbdb9fcc8b333b19e7cc 100644 (file)
@@ -28,7 +28,6 @@ MODULE_LICENSE("GPL");
 MODULE_ALIAS("platform:" DRV_NAME);
 
 struct ftrtc010_rtc {
-       struct rtc_device       *rtc_dev;
        void __iomem            *rtc_base;
        int                     rtc_irq;
        struct clk              *pclk;
@@ -113,6 +112,7 @@ static int ftrtc010_rtc_probe(struct platform_device *pdev)
        struct ftrtc010_rtc *rtc;
        struct device *dev = &pdev->dev;
        struct resource *res;
+       struct rtc_device *rtc_dev;
        int ret;
 
        rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
@@ -160,29 +160,28 @@ static int ftrtc010_rtc_probe(struct platform_device *pdev)
                goto err_disable_extclk;
        }
 
-       rtc->rtc_dev = devm_rtc_allocate_device(dev);
-       if (IS_ERR(rtc->rtc_dev)) {
-               ret = PTR_ERR(rtc->rtc_dev);
+       rtc_dev = devm_rtc_allocate_device(dev);
+       if (IS_ERR(rtc_dev)) {
+               ret = PTR_ERR(rtc_dev);
                goto err_disable_extclk;
        }
 
-       rtc->rtc_dev->ops = &ftrtc010_rtc_ops;
+       rtc_dev->ops = &ftrtc010_rtc_ops;
 
        sec  = readl(rtc->rtc_base + FTRTC010_RTC_SECOND);
        min  = readl(rtc->rtc_base + FTRTC010_RTC_MINUTE);
        hour = readl(rtc->rtc_base + FTRTC010_RTC_HOUR);
        days = readl(rtc->rtc_base + FTRTC010_RTC_DAYS);
 
-       rtc->rtc_dev->range_min = (u64)days * 86400 + hour * 3600 +
-                                 min * 60 + sec;
-       rtc->rtc_dev->range_max = U32_MAX + rtc->rtc_dev->range_min;
+       rtc_dev->range_min = (u64)days * 86400 + hour * 3600 + min * 60 + sec;
+       rtc_dev->range_max = U32_MAX + rtc_dev->range_min;
 
        ret = devm_request_irq(dev, rtc->rtc_irq, ftrtc010_rtc_interrupt,
                               IRQF_SHARED, pdev->name, dev);
        if (unlikely(ret))
                goto err_disable_extclk;
 
-       return devm_rtc_register_device(rtc->rtc_dev);
+       return devm_rtc_register_device(rtc_dev);
 
 err_disable_extclk:
        clk_disable_unprepare(rtc->extclk);