]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
staging: gpib: make port I/O code conditional
authorArnd Bergmann <arnd@arndb.de>
Wed, 16 Oct 2024 11:15:18 +0000 (11:15 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 19 Oct 2024 07:57:03 +0000 (09:57 +0200)
A few of the helper modules contain functions for both IORESOURCE_MEM
and IORESOURCE_IO type access, with the latter not being supported
on all architectures but also not used by all the drivers.

Add #ifdef checks around these to allow building the library code
and use it on MMIO-only configurations.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20241016111521.1143191-5-arnd@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/gpib/common/gpib_os.c
drivers/staging/gpib/nec7210/nec7210.c
drivers/staging/gpib/tms9914/tms9914.c

index e9dd7b2d1569a042a4d50fb88a24eccaeac43232..e93a45132a4098c18808d594af5b4b829b449783 100644 (file)
@@ -140,6 +140,7 @@ unsigned int readw_wrapper(void *address)
 };
 EXPORT_SYMBOL(readw_wrapper);
 
+#ifdef CONFIG_HAS_IOPORT
 void outb_wrapper(unsigned int value, void *address)
 {
        outb(value, (unsigned long)(address));
@@ -163,6 +164,7 @@ unsigned int inw_wrapper(void *address)
        return inw((unsigned long)(address));
 };
 EXPORT_SYMBOL(inw_wrapper);
+#endif
 
 /* this is a function instead of a constant because of Suse
  * defining HZ to be a function call to get_hz()
index 632322799ed239e30efb9ab92579f9bdf4070d35..1330743d05fd069a4e9a023164bf239d5baea72f 100644 (file)
@@ -1031,6 +1031,7 @@ void nec7210_board_online(struct nec7210_priv *priv, const gpib_board_t *board)
 }
 EXPORT_SYMBOL(nec7210_board_online);
 
+#ifdef CONFIG_HAS_IOPORT
 /* wrappers for io */
 uint8_t nec7210_ioport_read_byte(struct nec7210_priv *priv, unsigned int register_num)
 {
@@ -1050,24 +1051,6 @@ void nec7210_ioport_write_byte(struct nec7210_priv *priv, uint8_t data, unsigned
 }
 EXPORT_SYMBOL(nec7210_ioport_write_byte);
 
-uint8_t nec7210_iomem_read_byte(struct nec7210_priv *priv, unsigned int register_num)
-{
-       return readb(priv->iobase + register_num * priv->offset);
-}
-EXPORT_SYMBOL(nec7210_iomem_read_byte);
-
-void nec7210_iomem_write_byte(struct nec7210_priv *priv, uint8_t data, unsigned int register_num)
-{
-       if (register_num == AUXMR)
-               /* locking makes absolutely sure noone accesses the
-                * AUXMR register faster than once per microsecond
-                */
-               nec7210_locking_iomem_write_byte(priv, data, register_num);
-       else
-               writeb(data, priv->iobase + register_num * priv->offset);
-}
-EXPORT_SYMBOL(nec7210_iomem_write_byte);
-
 /* locking variants of io wrappers, for chips that page-in registers */
 uint8_t nec7210_locking_ioport_read_byte(struct nec7210_priv *priv, unsigned int register_num)
 {
@@ -1093,6 +1076,25 @@ void nec7210_locking_ioport_write_byte(struct nec7210_priv *priv, uint8_t data,
        spin_unlock_irqrestore(&priv->register_page_lock, flags);
 }
 EXPORT_SYMBOL(nec7210_locking_ioport_write_byte);
+#endif
+
+uint8_t nec7210_iomem_read_byte(struct nec7210_priv *priv, unsigned int register_num)
+{
+       return readb(priv->iobase + register_num * priv->offset);
+}
+EXPORT_SYMBOL(nec7210_iomem_read_byte);
+
+void nec7210_iomem_write_byte(struct nec7210_priv *priv, uint8_t data, unsigned int register_num)
+{
+       if (register_num == AUXMR)
+               /* locking makes absolutely sure noone accesses the
+                * AUXMR register faster than once per microsecond
+                */
+               nec7210_locking_iomem_write_byte(priv, data, register_num);
+       else
+               writeb(data, priv->iobase + register_num * priv->offset);
+}
+EXPORT_SYMBOL(nec7210_iomem_write_byte);
 
 uint8_t nec7210_locking_iomem_read_byte(struct nec7210_priv *priv, unsigned int register_num)
 {
index b55340ee25341edf09dcc7af464c5563dcfd0cdd..6452757f0a2aa6c01a0e68640d2536c3a19c72d1 100644 (file)
@@ -862,6 +862,7 @@ void tms9914_online(gpib_board_t *board, struct tms9914_priv *priv)
 }
 EXPORT_SYMBOL_GPL(tms9914_online);
 
+#ifdef CONFIG_HAS_IOPORT
 // wrapper for inb
 uint8_t tms9914_ioport_read_byte(struct tms9914_priv *priv, unsigned int register_num)
 {
@@ -877,6 +878,7 @@ void tms9914_ioport_write_byte(struct tms9914_priv *priv, uint8_t data, unsigned
                udelay(1);
 }
 EXPORT_SYMBOL_GPL(tms9914_ioport_write_byte);
+#endif
 
 // wrapper for readb
 uint8_t tms9914_iomem_read_byte(struct tms9914_priv *priv, unsigned int register_num)