Commit 3468a33e authored by Jiri Slaby's avatar Jiri Slaby Committed by Linus Torvalds

[PATCH] sx: fix non-PCI build

When CONFIG_PCI is not defined (i.e.  PCI bus is disabled), the sx driver
fails to link, since some pci functions are not available.  Fix this
behaviour to be able to compile this driver on machines with no PCI bus
(but with ISA bus support).
Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent fb0c9295
...@@ -312,7 +312,7 @@ config SPECIALIX_RTSCTS ...@@ -312,7 +312,7 @@ config SPECIALIX_RTSCTS
config SX config SX
tristate "Specialix SX (and SI) card support" tristate "Specialix SX (and SI) card support"
depends on SERIAL_NONSTANDARD depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
help help
This is a driver for the SX and SI multiport serial cards. This is a driver for the SX and SI multiport serial cards.
Please read the file <file:Documentation/sx.txt> for details. Please read the file <file:Documentation/sx.txt> for details.
......
...@@ -2498,8 +2498,10 @@ static void __devexit sx_remove_card(struct sx_board *board, ...@@ -2498,8 +2498,10 @@ static void __devexit sx_remove_card(struct sx_board *board,
/* It is safe/allowed to del_timer a non-active timer */ /* It is safe/allowed to del_timer a non-active timer */
del_timer(&board->timer); del_timer(&board->timer);
if (pdev) { if (pdev) {
#ifdef CONFIG_PCI
pci_iounmap(pdev, board->base); pci_iounmap(pdev, board->base);
pci_release_region(pdev, IS_CF_BOARD(board) ? 3 : 2); pci_release_region(pdev, IS_CF_BOARD(board) ? 3 : 2);
#endif
} else { } else {
iounmap(board->base); iounmap(board->base);
release_region(board->hw_base, board->hw_len); release_region(board->hw_base, board->hw_len);
...@@ -2601,6 +2603,7 @@ static struct eisa_driver sx_eisadriver = { ...@@ -2601,6 +2603,7 @@ static struct eisa_driver sx_eisadriver = {
#endif #endif
#ifdef CONFIG_PCI
/******************************************************** /********************************************************
* Setting bit 17 in the CNTRL register of the PLX 9050 * * Setting bit 17 in the CNTRL register of the PLX 9050 *
* chip forces a retry on writes while a read is pending.* * chip forces a retry on writes while a read is pending.*
...@@ -2632,10 +2635,12 @@ static void __devinit fix_sx_pci(struct pci_dev *pdev, struct sx_board *board) ...@@ -2632,10 +2635,12 @@ static void __devinit fix_sx_pci(struct pci_dev *pdev, struct sx_board *board)
} }
iounmap(rebase); iounmap(rebase);
} }
#endif
static int __devinit sx_pci_probe(struct pci_dev *pdev, static int __devinit sx_pci_probe(struct pci_dev *pdev,
const struct pci_device_id *ent) const struct pci_device_id *ent)
{ {
#ifdef CONFIG_PCI
struct sx_board *board; struct sx_board *board;
unsigned int i, reg; unsigned int i, reg;
int retval = -EIO; int retval = -EIO;
...@@ -2700,6 +2705,9 @@ static int __devinit sx_pci_probe(struct pci_dev *pdev, ...@@ -2700,6 +2705,9 @@ static int __devinit sx_pci_probe(struct pci_dev *pdev,
board->flags &= ~SX_BOARD_PRESENT; board->flags &= ~SX_BOARD_PRESENT;
err: err:
return retval; return retval;
#else
return -ENODEV;
#endif
} }
static void __devexit sx_pci_remove(struct pci_dev *pdev) static void __devexit sx_pci_remove(struct pci_dev *pdev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment