]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
rtc: meson: drop needless struct meson_rtc::rtc member
authorAndré Draszik <andre.draszik@linaro.org>
Tue, 4 Mar 2025 17:05:36 +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 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.

Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/r/20250304-rtc-cleanups-v2-8-d4689a71668c@linaro.org
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-meson.c

index db1d626edca5fbb590f26c1cdd0774d350244a99..47e9ebf58ffc2f2b6c65932f8ec3773a213a62ef 100644 (file)
@@ -59,7 +59,6 @@
 #define MESON_STATIC_DEFAULT    (MESON_STATIC_BIAS_CUR | MESON_STATIC_VOLTAGE)
 
 struct meson_rtc {
-       struct rtc_device       *rtc;           /* rtc device we created */
        struct device           *dev;           /* device we bound from */
        struct reset_control    *reset;         /* reset source */
        struct regulator        *vdd;           /* voltage input */
@@ -292,6 +291,7 @@ static int meson_rtc_probe(struct platform_device *pdev)
        };
        struct device *dev = &pdev->dev;
        struct meson_rtc *rtc;
+       struct rtc_device *rtc_dev;
        void __iomem *base;
        int ret;
        u32 tm;
@@ -300,16 +300,16 @@ static int meson_rtc_probe(struct platform_device *pdev)
        if (!rtc)
                return -ENOMEM;
 
-       rtc->rtc = devm_rtc_allocate_device(dev);
-       if (IS_ERR(rtc->rtc))
-               return PTR_ERR(rtc->rtc);
+       rtc_dev = devm_rtc_allocate_device(dev);
+       if (IS_ERR(rtc_dev))
+               return PTR_ERR(rtc_dev);
 
        platform_set_drvdata(pdev, rtc);
 
        rtc->dev = dev;
 
-       rtc->rtc->ops = &meson_rtc_ops;
-       rtc->rtc->range_max = U32_MAX;
+       rtc_dev->ops = &meson_rtc_ops;
+       rtc_dev->range_max = U32_MAX;
 
        base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(base))
@@ -365,11 +365,11 @@ static int meson_rtc_probe(struct platform_device *pdev)
        }
 
        meson_rtc_nvmem_config.priv = rtc;
-       ret = devm_rtc_nvmem_register(rtc->rtc, &meson_rtc_nvmem_config);
+       ret = devm_rtc_nvmem_register(rtc_dev, &meson_rtc_nvmem_config);
        if (ret)
                goto out_disable_vdd;
 
-       ret = devm_rtc_register_device(rtc->rtc);
+       ret = devm_rtc_register_device(rtc_dev);
        if (ret)
                goto out_disable_vdd;