2023-10-27 15:26:51

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] accel/ivpu: avoid build failure with CONFIG_PM=n

From: Arnd Bergmann <[email protected]>

The usage count of struct dev_pm_info is an implementation detail that
is only available if CONFIG_PM is enabled, so printing it in a debug message
causes a build failure in configurations without PM:

In file included from include/linux/device.h:15,
from include/linux/pci.h:37,
from drivers/accel/ivpu/ivpu_pm.c:8:
drivers/accel/ivpu/ivpu_pm.c: In function 'ivpu_rpm_get_if_active':
drivers/accel/ivpu/ivpu_pm.c:254:51: error: 'struct dev_pm_info' has no member named 'usage_count'
254 | atomic_read(&vdev->drm.dev->power.usage_count));
| ^
include/linux/dev_printk.h:129:48: note: in definition of macro 'dev_printk'
129 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
drivers/accel/ivpu/ivpu_drv.h:75:17: note: in expansion of macro 'dev_dbg'
75 | dev_dbg((vdev)->drm.dev, "[%s] " fmt, #type, ##args); \
| ^~~~~~~
drivers/accel/ivpu/ivpu_pm.c:253:9: note: in expansion of macro 'ivpu_dbg'
253 | ivpu_dbg(vdev, RPM, "rpm_get_if_active count %d\n",
| ^~~~~~~~

The print message does not seem essential, so the easiest workaround is
to just remove it.

Fixes: c39dc15191c4 ("accel/ivpu: Read clock rate only if device is up")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/accel/ivpu/ivpu_pm.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/drivers/accel/ivpu/ivpu_pm.c b/drivers/accel/ivpu/ivpu_pm.c
index 0ace218783c8..e9b16cbc26f4 100644
--- a/drivers/accel/ivpu/ivpu_pm.c
+++ b/drivers/accel/ivpu/ivpu_pm.c
@@ -250,9 +250,6 @@ int ivpu_rpm_get_if_active(struct ivpu_device *vdev)
{
int ret;

- ivpu_dbg(vdev, RPM, "rpm_get_if_active count %d\n",
- atomic_read(&vdev->drm.dev->power.usage_count));
-
ret = pm_runtime_get_if_active(vdev->drm.dev, false);
drm_WARN_ON(&vdev->drm, ret < 0);

--
2.39.2


2023-10-30 06:05:44

by Stanislaw Gruszka

[permalink] [raw]
Subject: Re: [PATCH] accel/ivpu: avoid build failure with CONFIG_PM=n

On Fri, Oct 27, 2023 at 05:26:23PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> The usage count of struct dev_pm_info is an implementation detail that
> is only available if CONFIG_PM is enabled, so printing it in a debug message
> causes a build failure in configurations without PM:
>
> In file included from include/linux/device.h:15,
> from include/linux/pci.h:37,
> from drivers/accel/ivpu/ivpu_pm.c:8:
> drivers/accel/ivpu/ivpu_pm.c: In function 'ivpu_rpm_get_if_active':
> drivers/accel/ivpu/ivpu_pm.c:254:51: error: 'struct dev_pm_info' has no member named 'usage_count'
> 254 | atomic_read(&vdev->drm.dev->power.usage_count));
> | ^
> include/linux/dev_printk.h:129:48: note: in definition of macro 'dev_printk'
> 129 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \
> | ^~~~~~~~~~~
> drivers/accel/ivpu/ivpu_drv.h:75:17: note: in expansion of macro 'dev_dbg'
> 75 | dev_dbg((vdev)->drm.dev, "[%s] " fmt, #type, ##args); \
> | ^~~~~~~
> drivers/accel/ivpu/ivpu_pm.c:253:9: note: in expansion of macro 'ivpu_dbg'
> 253 | ivpu_dbg(vdev, RPM, "rpm_get_if_active count %d\n",
> | ^~~~~~~~
>
> The print message does not seem essential, so the easiest workaround is
> to just remove it.
>
> Fixes: c39dc15191c4 ("accel/ivpu: Read clock rate only if device is up")
> Signed-off-by: Arnd Bergmann <[email protected]>
Applied to drm-misc-next

Thanks
Stanislaw