config MOXA_SMARTIO_NEW
        tristate "Moxa SmartIO support v. 2.0 (EXPERIMENTAL)"
-       depends on SERIAL_NONSTANDARD
+       depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA)
        help
          Say Y here if you have a Moxa SmartIO multiport serial card and/or
          want to help develop a new version of this driver.
 
 static int mxser_set_baud_method[MXSER_PORTS + 1];
 static spinlock_t gm_lock;
 
+#ifdef CONFIG_PCI
 static int CheckIsMoxaMust(int io)
 {
        u8 oldmcr, hwid;
        }
        return MOXA_OTHER_UART;
 }
+#endif
 
 static void process_txrx_fifo(struct mxser_port *info)
 {
        if (irq)
                free_irq(brd->irq, brd);
        if (pdev != NULL) {     /* PCI */
+#ifdef CONFIG_PCI
                pci_release_region(pdev, 2);
                pci_release_region(pdev, 3);
                pci_dev_put(pdev);
+#endif
        } else {
                release_region(brd->ports[0].ioaddr, 8 * brd->info->nports);
                release_region(brd->vector, 1);
 static int __devinit mxser_probe(struct pci_dev *pdev,
                const struct pci_device_id *ent)
 {
+#ifdef CONFIG_PCI
        struct mxser_board *brd;
        unsigned int i, j;
        unsigned long ioaddress;
        brd->info = NULL;
 err:
        return retval;
+#else
+       return -ENODEV;
+#endif
 }
 
 static void __devexit mxser_remove(struct pci_dev *pdev)