lkml.org 
[lkml]   [2022]   [Apr]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 25/37] video: handle HAS_IOPORT dependencies
    Date
    In a future patch HAS_IOPORT=n will result in inb()/outb() and friends
    not being declared. We thus need to add HAS_IOPORT as dependency for
    those drivers using them and guard inline code in headers.

    Co-developed-by: Arnd Bergmann <arnd@kernel.org>
    Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
    ---
    drivers/video/fbdev/Kconfig | 25 +++++++++++++------------
    include/video/vga.h | 8 ++++++++
    2 files changed, 21 insertions(+), 12 deletions(-)

    diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
    index 93b8d84c34cf..e7d27c0602d5 100644
    --- a/drivers/video/fbdev/Kconfig
    +++ b/drivers/video/fbdev/Kconfig
    @@ -343,7 +343,7 @@ config FB_IMX

    config FB_CYBER2000
    tristate "CyberPro 2000/2010/5000 support"
    - depends on FB && PCI && (BROKEN || !SPARC64)
    + depends on FB && PCI && HAS_IOPORT && (BROKEN || !SPARC64)
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    select FB_CFB_IMAGEBLIT
    @@ -436,6 +436,7 @@ config FB_FM2
    config FB_ARC
    tristate "Arc Monochrome LCD board support"
    depends on FB && (X86 || COMPILE_TEST)
    + depends on HAS_IOPORT
    select FB_SYS_FILLRECT
    select FB_SYS_COPYAREA
    select FB_SYS_IMAGEBLIT
    @@ -1242,7 +1243,7 @@ config FB_RADEON_DEBUG

    config FB_ATY128
    tristate "ATI Rage128 display support"
    - depends on FB && PCI
    + depends on FB && PCI && HAS_IOPORT
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    select FB_CFB_IMAGEBLIT
    @@ -1265,7 +1266,7 @@ config FB_ATY128_BACKLIGHT

    config FB_ATY
    tristate "ATI Mach64 display support" if PCI || ATARI
    - depends on FB && !SPARC32
    + depends on FB && HAS_IOPORT && !SPARC32
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    select FB_CFB_IMAGEBLIT
    @@ -1315,7 +1316,7 @@ config FB_ATY_BACKLIGHT

    config FB_S3
    tristate "S3 Trio/Virge support"
    - depends on FB && PCI
    + depends on FB && PCI && HAS_IOPORT
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    select FB_CFB_IMAGEBLIT
    @@ -1374,7 +1375,7 @@ config FB_SAVAGE_ACCEL

    config FB_SIS
    tristate "SiS/XGI display support"
    - depends on FB && PCI
    + depends on FB && PCI && HAS_IOPORT
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    select FB_CFB_IMAGEBLIT
    @@ -1404,7 +1405,7 @@ config FB_SIS_315

    config FB_VIA
    tristate "VIA UniChrome (Pro) and Chrome9 display support"
    - depends on FB && PCI && GPIOLIB && I2C && (X86 || COMPILE_TEST)
    + depends on FB && PCI && GPIOLIB && I2C && HAS_IOPORT && (X86 || COMPILE_TEST)
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    select FB_CFB_IMAGEBLIT
    @@ -1442,7 +1443,7 @@ endif

    config FB_NEOMAGIC
    tristate "NeoMagic display support"
    - depends on FB && PCI
    + depends on FB && PCI && HAS_IOPORT
    select FB_MODE_HELPERS
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    @@ -1470,7 +1471,7 @@ config FB_KYRO

    config FB_3DFX
    tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
    - depends on FB && PCI
    + depends on FB && PCI && HAS_IOPORT
    select FB_CFB_IMAGEBLIT
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    @@ -1518,7 +1519,7 @@ config FB_VOODOO1

    config FB_VT8623
    tristate "VIA VT8623 support"
    - depends on FB && PCI
    + depends on FB && PCI && HAS_IOPORT
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    select FB_CFB_IMAGEBLIT
    @@ -1532,7 +1533,7 @@ config FB_VT8623

    config FB_TRIDENT
    tristate "Trident/CyberXXX/CyberBlade support"
    - depends on FB && PCI
    + depends on FB && PCI && HAS_IOPORT
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    select FB_CFB_IMAGEBLIT
    @@ -1554,7 +1555,7 @@ config FB_TRIDENT

    config FB_ARK
    tristate "ARK 2000PV support"
    - depends on FB && PCI
    + depends on FB && PCI && HAS_IOPORT
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    select FB_CFB_IMAGEBLIT
    @@ -2226,7 +2227,7 @@ config FB_SSD1307

    config FB_SM712
    tristate "Silicon Motion SM712 framebuffer support"
    - depends on FB && PCI
    + depends on FB && PCI && HAS_IOPORT
    select FB_CFB_FILLRECT
    select FB_CFB_COPYAREA
    select FB_CFB_IMAGEBLIT
    diff --git a/include/video/vga.h b/include/video/vga.h
    index d334e64c1c19..53cb52c0fddb 100644
    --- a/include/video/vga.h
    +++ b/include/video/vga.h
    @@ -201,18 +201,26 @@ extern int restore_vga(struct vgastate *state);

    static inline unsigned char vga_io_r (unsigned short port)
    {
    +#ifdef CONFIG_HAS_IOPORT
    return inb_p(port);
    +#else
    + return 0xff;
    +#endif
    }

    static inline void vga_io_w (unsigned short port, unsigned char val)
    {
    +#ifdef CONFIG_HAS_IOPORT
    outb_p(val, port);
    +#endif
    }

    static inline void vga_io_w_fast (unsigned short port, unsigned char reg,
    unsigned char val)
    {
    +#ifdef CONFIG_HAS_IOPORT
    outw(VGA_OUT16VAL (val, reg), port);
    +#endif
    }

    static inline unsigned char vga_mm_r (void __iomem *regbase, unsigned short port)
    --
    2.32.0
    \
     
     \ /
      Last update: 2022-04-29 15:54    [W:4.144 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site