27 #include <linux/module.h>
28 #include <linux/pci.h>
29 #include <linux/slab.h>
35 "Neo PCI based product line");
39 #define JSM_DRIVER_NAME "jsm"
41 #define JSM_MINOR_START 0
55 static void jsm_io_resume(
struct pci_dev *pdev);
58 .error_detected = jsm_io_error_detected,
59 .slot_reset = jsm_io_slot_reset,
60 .resume = jsm_io_resume,
71 static int adapter_count = 0;
81 dev_err(&pdev->
dev,
"pci_request_region FAILED\n");
82 goto out_disable_device;
88 "memory allocation for board structure failed\n");
90 goto out_release_regions;
111 "jsm_found_board - NEO adapter\n");
131 "card has no PCI Memory resources, "
146 dev_err(&pdev->
dev,
"Can't init tty devices (%d)\n", rc);
154 dev_err(&pdev->
dev,
"Can't init uart port (%d)\n", rc);
160 dev_info(&pdev->
dev,
"board %d: Digi Neo (rev %d), irq %d\n",
161 adapter_count, brd->
rev, brd->
irq);
163 pci_set_drvdata(pdev, brd);
184 struct jsm_board *brd = pci_get_drvdata(pdev);
193 for (i = 0; i < brd->
maxports; i++) {
219 .id_table = jsm_pci_tbl,
220 .probe = jsm_probe_one,
222 .err_handler = &jsm_err_handler,
228 struct jsm_board *brd = pci_get_drvdata(pdev);
249 static void jsm_io_resume(
struct pci_dev *pdev)
251 struct jsm_board *brd = pci_get_drvdata(pdev);
259 static int __init jsm_init_module(
void)
265 rc = pci_register_driver(&jsm_driver);
272 static void __exit jsm_exit_module(
void)