Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3468a33e98524a7661a158251b10cea7c9fafece
Commit:     3468a33e98524a7661a158251b10cea7c9fafece
Parent:     fb0c9295b81f5c7f51058aabfadd13d8e70b48f4
Author:     Jiri Slaby <[EMAIL PROTECTED]>
AuthorDate: Wed Dec 13 00:34:20 2006 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Wed Dec 13 09:05:49 2006 -0800

    [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 <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 drivers/char/Kconfig |    2 +-
 drivers/char/sx.c    |    8 ++++++++
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index b1c07ed..0876199 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -312,7 +312,7 @@ config SPECIALIX_RTSCTS
 
 config SX
        tristate "Specialix SX (and SI) card support"
-       depends on SERIAL_NONSTANDARD
+       depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
        help
          This is a driver for the SX and SI multiport serial cards.
          Please read the file <file:Documentation/sx.txt> for details.
diff --git a/drivers/char/sx.c b/drivers/char/sx.c
index a3008ce..1da92a6 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)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to