The return type of ARRAY_SIZE() is size_t, so we have to use
%zu instead of %lu to avoid this warning:

drivers/gpu/drm/msm/msm_gpu.c: In function 'msm_gpu_init':
drivers/gpu/drm/msm/msm_gpu.c:742:31: error: format '%lu' expects argument of 
type 'long unsigned int', but argument 7 has type 'unsigned int' 

The warning it otherwise harmless as size_t is always the
same size as unsigned long in all supported architectures,
but gcc doesn't know that.

Fixes: c2fceabca6d5 ("drm/msm: Support multiple ringbuffers")
Signed-off-by: Arnd Bergmann <>
 drivers/gpu/drm/msm/msm_gpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c
index 1e44f8893490..66af5ac334ba 100644
--- a/drivers/gpu/drm/msm/msm_gpu.c
+++ b/drivers/gpu/drm/msm/msm_gpu.c
@@ -739,7 +739,7 @@ int msm_gpu_init(struct drm_device *drm, struct 
platform_device *pdev,
        if (nr_rings > ARRAY_SIZE(gpu->rb)) {
-               DRM_DEV_INFO_ONCE(drm->dev, "Only creating %lu ringbuffers\n",
+               DRM_DEV_INFO_ONCE(drm->dev, "Only creating %zu ringbuffers\n",
                nr_rings = ARRAY_SIZE(gpu->rb);

Freedreno mailing list

Reply via email to