diff options
-rw-r--r-- | drivers/char/Kconfig | 2 | ||||
-rw-r--r-- | drivers/char/mxser_new.c | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig index 91133bea8ca0..b1c07ed3cb93 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig | |||
@@ -203,7 +203,7 @@ config MOXA_SMARTIO | |||
203 | 203 | ||
204 | config MOXA_SMARTIO_NEW | 204 | config MOXA_SMARTIO_NEW |
205 | tristate "Moxa SmartIO support v. 2.0 (EXPERIMENTAL)" | 205 | tristate "Moxa SmartIO support v. 2.0 (EXPERIMENTAL)" |
206 | depends on SERIAL_NONSTANDARD | 206 | depends on SERIAL_NONSTANDARD && (PCI || EISA || ISA) |
207 | help | 207 | help |
208 | Say Y here if you have a Moxa SmartIO multiport serial card and/or | 208 | Say Y here if you have a Moxa SmartIO multiport serial card and/or |
209 | want to help develop a new version of this driver. | 209 | want to help develop a new version of this driver. |
diff --git a/drivers/char/mxser_new.c b/drivers/char/mxser_new.c index efa8076c33e0..cd989dce7c53 100644 --- a/drivers/char/mxser_new.c +++ b/drivers/char/mxser_new.c | |||
@@ -315,6 +315,7 @@ static struct mxser_mon_ext mon_data_ext; | |||
315 | static int mxser_set_baud_method[MXSER_PORTS + 1]; | 315 | static int mxser_set_baud_method[MXSER_PORTS + 1]; |
316 | static spinlock_t gm_lock; | 316 | static spinlock_t gm_lock; |
317 | 317 | ||
318 | #ifdef CONFIG_PCI | ||
318 | static int CheckIsMoxaMust(int io) | 319 | static int CheckIsMoxaMust(int io) |
319 | { | 320 | { |
320 | u8 oldmcr, hwid; | 321 | u8 oldmcr, hwid; |
@@ -337,6 +338,7 @@ static int CheckIsMoxaMust(int io) | |||
337 | } | 338 | } |
338 | return MOXA_OTHER_UART; | 339 | return MOXA_OTHER_UART; |
339 | } | 340 | } |
341 | #endif | ||
340 | 342 | ||
341 | static void process_txrx_fifo(struct mxser_port *info) | 343 | static void process_txrx_fifo(struct mxser_port *info) |
342 | { | 344 | { |
@@ -2380,9 +2382,11 @@ static void mxser_release_res(struct mxser_board *brd, struct pci_dev *pdev, | |||
2380 | if (irq) | 2382 | if (irq) |
2381 | free_irq(brd->irq, brd); | 2383 | free_irq(brd->irq, brd); |
2382 | if (pdev != NULL) { /* PCI */ | 2384 | if (pdev != NULL) { /* PCI */ |
2385 | #ifdef CONFIG_PCI | ||
2383 | pci_release_region(pdev, 2); | 2386 | pci_release_region(pdev, 2); |
2384 | pci_release_region(pdev, 3); | 2387 | pci_release_region(pdev, 3); |
2385 | pci_dev_put(pdev); | 2388 | pci_dev_put(pdev); |
2389 | #endif | ||
2386 | } else { | 2390 | } else { |
2387 | release_region(brd->ports[0].ioaddr, 8 * brd->info->nports); | 2391 | release_region(brd->ports[0].ioaddr, 8 * brd->info->nports); |
2388 | release_region(brd->vector, 1); | 2392 | release_region(brd->vector, 1); |
@@ -2546,6 +2550,7 @@ static int __init mxser_get_ISA_conf(int cap, struct mxser_board *brd) | |||
2546 | static int __devinit mxser_probe(struct pci_dev *pdev, | 2550 | static int __devinit mxser_probe(struct pci_dev *pdev, |
2547 | const struct pci_device_id *ent) | 2551 | const struct pci_device_id *ent) |
2548 | { | 2552 | { |
2553 | #ifdef CONFIG_PCI | ||
2549 | struct mxser_board *brd; | 2554 | struct mxser_board *brd; |
2550 | unsigned int i, j; | 2555 | unsigned int i, j; |
2551 | unsigned long ioaddress; | 2556 | unsigned long ioaddress; |
@@ -2644,6 +2649,9 @@ err_relio: | |||
2644 | brd->info = NULL; | 2649 | brd->info = NULL; |
2645 | err: | 2650 | err: |
2646 | return retval; | 2651 | return retval; |
2652 | #else | ||
2653 | return -ENODEV; | ||
2654 | #endif | ||
2647 | } | 2655 | } |
2648 | 2656 | ||
2649 | static void __devexit mxser_remove(struct pci_dev *pdev) | 2657 | static void __devexit mxser_remove(struct pci_dev *pdev) |