drm/vblank: Fix -Wformat compile warnings on some arches
authorLyude Paul <lyude@redhat.com>
Thu, 21 May 2020 20:46:47 +0000 (16:46 -0400)
committerLyude Paul <lyude@redhat.com>
Fri, 22 May 2020 18:22:00 +0000 (14:22 -0400)
On some architectures like ppc64le and aarch64, compiling with
-Wformat=1 will throw the following warnings:

  In file included from drivers/gpu/drm/drm_vblank.c:33:
  drivers/gpu/drm/drm_vblank.c: In function 'drm_update_vblank_count':
  drivers/gpu/drm/drm_vblank.c:273:16: warning: format '%llu' expects
  argument of type 'long long unsigned int', but argument 4 has type
  'long int' [-Wformat=]
    DRM_DEBUG_VBL("updating vblank count on crtc %u:"
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ./include/drm/drm_print.h:407:22: note: in definition of macro
  'DRM_DEBUG_VBL'
    drm_dbg(DRM_UT_VBL, fmt, ##__VA_ARGS__)
                        ^~~
  drivers/gpu/drm/drm_vblank.c:274:22: note: format string is defined here
           " current=%llu, diff=%u, hw=%u hw_last=%u\n",
                     ~~~^
                     %lu

So, fix that with a typecast.

Co-developed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20200521204647.2578479-1-lyude@redhat.com
drivers/gpu/drm/drm_vblank.c

index da7b0b0..a3766bf 100644 (file)
@@ -278,8 +278,8 @@ static void drm_update_vblank_count(struct drm_device *dev, unsigned int pipe,
 
        DRM_DEBUG_VBL("updating vblank count on crtc %u:"
                      " current=%llu, diff=%u, hw=%u hw_last=%u\n",
-                     pipe, atomic64_read(&vblank->count), diff,
-                     cur_vblank, vblank->last);
+                     pipe, (unsigned long long)atomic64_read(&vblank->count),
+                     diff, cur_vblank, vblank->last);
 
        if (diff == 0) {
                WARN_ON_ONCE(cur_vblank != vblank->last);