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.
 
                /* 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);
 
 #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.*
        }
        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;
        board->flags &= ~SX_BOARD_PRESENT;
 err:
        return retval;
+#else
+       return -ENODEV;
+#endif
 }
 
 static void __devexit sx_pci_remove(struct pci_dev *pdev)