History

drm/virtio: use %llu format string form atomic64_t

The virtgpu driver prints the last_seq variable using the %ld or %lu format string, which does not work correctly on all architectures and causes this compiler warning on ARM: drivers/gpu/drm/virtio/virtgpu_fence.c: In function 'virtio_timeline_value_str': drivers/gpu/drm/virtio/virtgpu_fence.c:64:22: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'long long int' [-Wformat=] snprintf(str, size, "%lu", atomic64_read(&fence->drv->last_seq)); ^ drivers/gpu/drm/virtio/virtgpu_debugfs.c: In function 'virtio_gpu_debugfs_irq_info': drivers/gpu/drm/virtio/virtgpu_debugfs.c:37:16: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'long long int' [-Wformat=] seq_printf(m, "fence %ld %lld\n", ^ In order to avoid the warnings, this changes the format strings to %llu and adds a cast to u64, which makes it work the same way everywhere.

Arnd Bergmann committed 11 years ago

Commit d549f541 parent ba2199a2 files · +3 −3Browse files

Unified · Split

2 files
  1. drivers/gpu/drm/virtio/virtgpu_debugfs.c +2 −2
  2. drivers/gpu/drm/virtio/virtgpu_fence.c +1 −1
drivers/gpu/drm/virtio/virtgpu_debugfs.c+2−2
@@ -34,8 +34,8 @@ virtio_gpu_debugfs_irq_info(struct seq_file *m, void *data) · 33 unmodified lines
3434 struct drm_info_node *node = (struct drm_info_node *) m->private;
3535 struct virtio_gpu_device *vgdev = node->minor->dev->dev_private;
3636
37− seq_printf(m, "fence %ld %lld\n",
38− atomic64_read(&vgdev->fence_drv.last_seq),
37+ seq_printf(m, "fence %llu %lld\n",
38+ (u64)atomic64_read(&vgdev->fence_drv.last_seq),
3939 vgdev->fence_drv.sync_seq);
4040 return 0;
4141 }
drivers/gpu/drm/virtio/virtgpu_fence.c+1−1
@@ -61,7 +61,7 @@ static void virtio_timeline_value_str(struct fence *f, char *str, int size) · 60 unmodified lines
6161 {
6262 struct virtio_gpu_fence *fence = to_virtio_fence(f);
6363
64− snprintf(str, size, "%lu", atomic64_read(&fence->drv->last_seq));
64+ snprintf(str, size, "%llu", (u64)atomic64_read(&fence->drv->last_seq));
6565 }
6666
6767 static const struct fence_ops virtio_fence_ops = {