mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
staging: gpib: make port I/O code conditional
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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e282c89bea
commit
78ecb03756
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user