• Nicolas Iooss's avatar
    drm/i915/gvt: verify functions types in new_mmio_info() · 3e70c5d6
    Nicolas Iooss authored
    The current prototype of new_mmio_info() uses void* for parameters read
    and write, which are functions with precise calling conventions
    (argument types and return type). Write down these conventions in
    new_mmio_info() definition.
    
    This has been reported by the following warnings when clang is used to
    build the kernel:
    
        drivers/gpu/drm/i915/gvt/handlers.c:124:21: error: pointer type
        mismatch ('void *' and 'int (*)(struct intel_vgpu *, unsigned int,
        void *, unsigned int)') [-Werror,-Wpointer-type-mismatch]
                info->read = read ? read : intel_vgpu_default_mmio_read;
                                  ^ ~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        drivers/gpu/drm/i915/gvt/handlers.c:125:23: error: pointer type
        mismatch ('void *' and 'int (*)(struct intel_vgpu *, unsigned int,
        void *, unsigned int)') [-Werror,-Wpointer-type-mismatch]
                info->write = write ? write : intel_vgpu_default_mmio_write;
                                    ^ ~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    This allows the compiler to detect that sbi_ctl_mmio_write() returns a
    "bool" value instead of an expected "int" one. Fix this.
    Signed-off-by: default avatarNicolas Iooss <nicolas.iooss_linux@m4x.org>
    Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
    3e70c5d6
handlers.c 84.4 KB