• Thomas Zimmermann's avatar
    fbdev/hitfb: Cast I/O offset to address · bb47f218
    Thomas Zimmermann authored
    Cast I/O offsets to pointers to use them with I/O functions. The I/O
    functions expect pointers of type 'volatile void __iomem *', but the
    offsets are plain integers. Build warnings are
    
      ../drivers/video/fbdev/hitfb.c: In function 'hitfb_accel_wait':
      ../arch/x86/include/asm/hd64461.h:18:33: warning: passing argument 1 of 'fb_readw' makes pointer from integer without a cast [-Wint-conversion]
       18 | #define HD64461_IO_OFFSET(x)    (HD64461_IOBASE + (x))
          |                                 ^~~~~~~~~~~~~~~~~~~~~~
          |                                 |
          |                                 unsigned int
      ../arch/x86/include/asm/hd64461.h:93:33: note: in expansion of macro 'HD64461_IO_OFFSET'
       93 | #define HD64461_GRCFGR          HD64461_IO_OFFSET(0x1044)       /* Accelerator Configuration Register */
          |                                 ^~~~~~~~~~~~~~~~~
      ../drivers/video/fbdev/hitfb.c:47:25: note: in expansion of macro 'HD64461_GRCFGR'
       47 |         while (fb_readw(HD64461_GRCFGR) & HD64461_GRCFGR_ACCSTATUS) ;
          |                         ^~~~~~~~~~~~~~
      In file included from ../arch/x86/include/asm/fb.h:15,
      from ../include/linux/fb.h:19,
      from ../drivers/video/fbdev/hitfb.c:22:
      ../include/asm-generic/fb.h:52:57: note: expected 'const volatile void *' but argument is of type 'unsigned int'
       52 | static inline u16 fb_readw(const volatile void __iomem *addr)
          |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
    
    This patch only fixes the build warnings. It's not clear if the I/O
    offsets can legally be passed to the I/O helpers. It was apparently
    broken in 2007 when custom inw()/outw() helpers got removed by
    commit 34a780a0 ("sh: hp6xx pata_platform support."). Fixing the
    driver would require setting the I/O base address.
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202305102136.eMjTSPwH-lkp@intel.com/Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
    Cc: Artur Rojek <contact@artur-rojek.eu>
    Acked-by: default avatarHelge Deller <deller@gmx.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230512102444.5438-2-tzimmermann@suse.de
    bb47f218
hitfb.c 11.3 KB