rtc: sunplus: fix format string for printing resource
authorArnd Bergmann <arnd@arndb.de>
Tue, 17 Jan 2023 17:24:44 +0000 (18:24 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Feb 2023 10:28:11 +0000 (11:28 +0100)
[ Upstream commit 08279468a294d8c996a657ecc9e51bd5c084c75d ]

On 32-bit architectures with 64-bit resource_size_t, sp_rtc_probe()
causes a compiler warning:

drivers/rtc/rtc-sunplus.c: In function 'sp_rtc_probe':
drivers/rtc/rtc-sunplus.c:243:33: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'resource_size_t' {aka 'long long unsigned int'} [-Werror=format=]
  243 |         dev_dbg(&plat_dev->dev, "res = 0x%x, reg_base = 0x%lx\n",
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The best way to print a resource is the special %pR format string,
and similarly to print a pointer we can use %p and avoid the cast.

Fixes: fad6cbe9b2b4 ("rtc: Add driver for RTC in Sunplus SP7021")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20230117172450.2938962-1-arnd@kernel.org
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/rtc/rtc-sunplus.c

index e8e2ab1..4b578e4 100644 (file)
@@ -240,8 +240,8 @@ static int sp_rtc_probe(struct platform_device *plat_dev)
        if (IS_ERR(sp_rtc->reg_base))
                return dev_err_probe(&plat_dev->dev, PTR_ERR(sp_rtc->reg_base),
                                            "%s devm_ioremap_resource fail\n", RTC_REG_NAME);
-       dev_dbg(&plat_dev->dev, "res = 0x%x, reg_base = 0x%lx\n",
-               sp_rtc->res->start, (unsigned long)sp_rtc->reg_base);
+       dev_dbg(&plat_dev->dev, "res = %pR, reg_base = %p\n",
+               sp_rtc->ressp_rtc->reg_base);
 
        sp_rtc->irq = platform_get_irq(plat_dev, 0);
        if (sp_rtc->irq < 0)