summaryrefslogtreecommitdiff
path: root/drivers/char/sx.c
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2006-12-13 00:34:20 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-13 09:05:49 -0800
commit3468a33e98524a7661a158251b10cea7c9fafece (patch)
tree4ba528780a725ef10285ce274c692402afa896f1 /drivers/char/sx.c
parentfb0c9295b81f5c7f51058aabfadd13d8e70b48f4 (diff)
downloadlinux-3.10-3468a33e98524a7661a158251b10cea7c9fafece.tar.gz
linux-3.10-3468a33e98524a7661a158251b10cea7c9fafece.tar.bz2
linux-3.10-3468a33e98524a7661a158251b10cea7c9fafece.zip
[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: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/sx.c')
-rw-r--r--drivers/char/sx.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/char/sx.c b/drivers/char/sx.c
index a3008ce1301..1da92a689ae 100644
--- a/drivers/char/sx.c
+++ b/drivers/char/sx.c
@@ -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 */
del_timer(&board->timer);
if (pdev) {
+#ifdef CONFIG_PCI
pci_iounmap(pdev, board->base);
pci_release_region(pdev, IS_CF_BOARD(board) ? 3 : 2);
+#endif
} else {
iounmap(board->base);
release_region(board->hw_base, board->hw_len);
@@ -2601,6 +2603,7 @@ static struct eisa_driver sx_eisadriver = {
#endif
+#ifdef CONFIG_PCI
/********************************************************
* Setting bit 17 in the CNTRL register of the PLX 9050 *
* 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)
}
iounmap(rebase);
}
+#endif
static int __devinit sx_pci_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
+#ifdef CONFIG_PCI
struct sx_board *board;
unsigned int i, reg;
int retval = -EIO;
@@ -2700,6 +2705,9 @@ err_flag:
board->flags &= ~SX_BOARD_PRESENT;
err:
return retval;
+#else
+ return -ENODEV;
+#endif
}
static void __devexit sx_pci_remove(struct pci_dev *pdev)