}
        }
 
-       QXL_INFO(qdev, "%s: %lld\n", __func__, i);
+       QXL_INFO(qdev, "%s: %d\n", __func__, i);
 
        return i;
 }
 
        crc = crc32(0, (const uint8_t *)&qdev->rom->client_monitors_config,
                  sizeof(qdev->rom->client_monitors_config));
        if (crc != qdev->rom->client_monitors_config_crc) {
-               qxl_io_log(qdev, "crc mismatch: have %X (%d) != %X\n", crc,
+               qxl_io_log(qdev, "crc mismatch: have %X (%zd) != %X\n", crc,
                           sizeof(qdev->rom->client_monitors_config),
                           qdev->rom->client_monitors_config_crc);
                return 1;
 
 };
 
 /* forward declaration for QXL_INFO_IO */
-void qxl_io_log(struct qxl_device *qdev, const char *fmt, ...);
+__printf(2,3) void qxl_io_log(struct qxl_device *qdev, const char *fmt, ...);
 
 extern const struct drm_ioctl_desc qxl_ioctls[];
 extern int qxl_max_ioctl;
 
                return handle;
        }
        *ret = release;
-       QXL_INFO(qdev, "allocated release %lld\n", handle);
+       QXL_INFO(qdev, "allocated release %d\n", handle);
        release->id = handle;
        return handle;
 }