Lines Matching +full:dual +full:- +full:link

1 // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
3 * Driver for Future Domain-compatible PCMCIA SCSI cards
20 MODULE_LICENSE("Dual MPL/GPL");
24 p_dev->io_lines = 10; in fdomain_config_check()
25 p_dev->resource[0]->end = FDOMAIN_REGION_SIZE; in fdomain_config_check()
26 p_dev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH; in fdomain_config_check()
27 p_dev->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; in fdomain_config_check()
31 static int fdomain_probe(struct pcmcia_device *link) in fdomain_probe() argument
36 link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO; in fdomain_probe()
37 link->config_regs = PRESENT_OPTION; in fdomain_probe()
39 ret = pcmcia_loop_config(link, fdomain_config_check, NULL); in fdomain_probe()
43 ret = pcmcia_enable_device(link); in fdomain_probe()
47 if (!request_region(link->resource[0]->start, FDOMAIN_REGION_SIZE, in fdomain_probe()
49 ret = -EBUSY; in fdomain_probe()
53 sh = fdomain_create(link->resource[0]->start, link->irq, 7, &link->dev); in fdomain_probe()
55 dev_err(&link->dev, "Controller initialization failed"); in fdomain_probe()
56 ret = -ENODEV; in fdomain_probe()
60 link->priv = sh; in fdomain_probe()
65 release_region(link->resource[0]->start, FDOMAIN_REGION_SIZE); in fdomain_probe()
67 pcmcia_disable_device(link); in fdomain_probe()
71 static void fdomain_remove(struct pcmcia_device *link) in fdomain_remove() argument
73 fdomain_destroy(link->priv); in fdomain_remove()
74 release_region(link->resource[0]->start, FDOMAIN_REGION_SIZE); in fdomain_remove()
75 pcmcia_disable_device(link); in fdomain_remove()