icom_adapter 52 drivers/tty/serial/icom.c #define to_icom_adapter(d) container_of(d, struct icom_adapter, kref) icom_adapter 854 drivers/tty/serial/icom.c struct icom_adapter *icom_adapter; icom_adapter 858 drivers/tty/serial/icom.c icom_adapter = (struct icom_adapter *) dev_id; icom_adapter 860 drivers/tty/serial/icom.c if (icom_adapter->version == ADAPTER_V2) { icom_adapter 861 drivers/tty/serial/icom.c int_reg = icom_adapter->base_addr + 0x8024; icom_adapter 867 drivers/tty/serial/icom.c icom_port = &icom_adapter->port_info[2]; icom_adapter 874 drivers/tty/serial/icom.c icom_port = &icom_adapter->port_info[3]; icom_adapter 886 drivers/tty/serial/icom.c int_reg = icom_adapter->base_addr + 0x8004; icom_adapter 888 drivers/tty/serial/icom.c int_reg = icom_adapter->base_addr + 0x4004; icom_adapter 895 drivers/tty/serial/icom.c icom_port = &icom_adapter->port_info[0]; icom_adapter 902 drivers/tty/serial/icom.c icom_port = &icom_adapter->port_info[1]; icom_adapter 1303 drivers/tty/serial/icom.c static int icom_init_ports(struct icom_adapter *icom_adapter) icom_adapter 1305 drivers/tty/serial/icom.c u32 subsystem_id = icom_adapter->subsystem_id; icom_adapter 1309 drivers/tty/serial/icom.c if (icom_adapter->version == ADAPTER_V1) { icom_adapter 1310 drivers/tty/serial/icom.c icom_adapter->numb_ports = 2; icom_adapter 1313 drivers/tty/serial/icom.c icom_port = &icom_adapter->port_info[i]; icom_adapter 1320 drivers/tty/serial/icom.c icom_adapter->numb_ports = 4; icom_adapter 1323 drivers/tty/serial/icom.c icom_port = &icom_adapter->port_info[i]; icom_adapter 1330 drivers/tty/serial/icom.c icom_adapter->numb_ports = 4; icom_adapter 1332 drivers/tty/serial/icom.c icom_adapter->port_info[0].port = 0; icom_adapter 1333 drivers/tty/serial/icom.c icom_adapter->port_info[0].status = ICOM_PORT_ACTIVE; icom_adapter 1337 drivers/tty/serial/icom.c icom_adapter->port_info[0].imbed_modem = ICOM_IMBED_MODEM; icom_adapter 1339 drivers/tty/serial/icom.c icom_adapter->port_info[0].imbed_modem = ICOM_RVX; icom_adapter 1342 drivers/tty/serial/icom.c icom_adapter->port_info[1].status = ICOM_PORT_OFF; icom_adapter 1344 drivers/tty/serial/icom.c icom_adapter->port_info[2].port = 2; icom_adapter 1345 drivers/tty/serial/icom.c icom_adapter->port_info[2].status = ICOM_PORT_ACTIVE; icom_adapter 1346 drivers/tty/serial/icom.c icom_adapter->port_info[2].imbed_modem = ICOM_RVX; icom_adapter 1347 drivers/tty/serial/icom.c icom_adapter->port_info[3].status = ICOM_PORT_OFF; icom_adapter 1354 drivers/tty/serial/icom.c static void icom_port_active(struct icom_port *icom_port, struct icom_adapter *icom_adapter, int port_num) icom_adapter 1356 drivers/tty/serial/icom.c if (icom_adapter->version == ADAPTER_V1) { icom_adapter 1357 drivers/tty/serial/icom.c icom_port->global_reg = icom_adapter->base_addr + 0x4000; icom_adapter 1358 drivers/tty/serial/icom.c icom_port->int_reg = icom_adapter->base_addr + icom_adapter 1361 drivers/tty/serial/icom.c icom_port->global_reg = icom_adapter->base_addr + 0x8000; icom_adapter 1363 drivers/tty/serial/icom.c icom_port->int_reg = icom_adapter->base_addr + icom_adapter 1366 drivers/tty/serial/icom.c icom_port->int_reg = icom_adapter->base_addr + icom_adapter 1370 drivers/tty/serial/icom.c static int icom_load_ports(struct icom_adapter *icom_adapter) icom_adapter 1375 drivers/tty/serial/icom.c for (port_num = 0; port_num < icom_adapter->numb_ports; port_num++) { icom_adapter 1377 drivers/tty/serial/icom.c icom_port = &icom_adapter->port_info[port_num]; icom_adapter 1380 drivers/tty/serial/icom.c icom_port_active(icom_port, icom_adapter, port_num); icom_adapter 1381 drivers/tty/serial/icom.c icom_port->dram = icom_adapter->base_addr + icom_adapter 1384 drivers/tty/serial/icom.c icom_port->adapter = icom_adapter; icom_adapter 1396 drivers/tty/serial/icom.c static int icom_alloc_adapter(struct icom_adapter icom_adapter 1400 drivers/tty/serial/icom.c struct icom_adapter *icom_adapter; icom_adapter 1401 drivers/tty/serial/icom.c struct icom_adapter *cur_adapter_entry; icom_adapter 1404 drivers/tty/serial/icom.c icom_adapter = kzalloc(sizeof(struct icom_adapter), GFP_KERNEL); icom_adapter 1406 drivers/tty/serial/icom.c if (!icom_adapter) { icom_adapter 1412 drivers/tty/serial/icom.c list_entry(tmp, struct icom_adapter, icom_adapter 1420 drivers/tty/serial/icom.c icom_adapter->index = adapter_count; icom_adapter 1421 drivers/tty/serial/icom.c list_add_tail(&icom_adapter->icom_adapter_entry, tmp); icom_adapter 1423 drivers/tty/serial/icom.c *icom_adapter_ref = icom_adapter; icom_adapter 1427 drivers/tty/serial/icom.c static void icom_free_adapter(struct icom_adapter *icom_adapter) icom_adapter 1429 drivers/tty/serial/icom.c list_del(&icom_adapter->icom_adapter_entry); icom_adapter 1430 drivers/tty/serial/icom.c kfree(icom_adapter); icom_adapter 1433 drivers/tty/serial/icom.c static void icom_remove_adapter(struct icom_adapter *icom_adapter) icom_adapter 1438 drivers/tty/serial/icom.c for (index = 0; index < icom_adapter->numb_ports; index++) { icom_adapter 1439 drivers/tty/serial/icom.c icom_port = &icom_adapter->port_info[index]; icom_adapter 1442 drivers/tty/serial/icom.c dev_info(&icom_adapter->pci_dev->dev, icom_adapter 1461 drivers/tty/serial/icom.c free_irq(icom_adapter->pci_dev->irq, (void *) icom_adapter); icom_adapter 1462 drivers/tty/serial/icom.c iounmap(icom_adapter->base_addr); icom_adapter 1463 drivers/tty/serial/icom.c pci_release_regions(icom_adapter->pci_dev); icom_adapter 1464 drivers/tty/serial/icom.c icom_free_adapter(icom_adapter); icom_adapter 1469 drivers/tty/serial/icom.c struct icom_adapter *icom_adapter; icom_adapter 1471 drivers/tty/serial/icom.c icom_adapter = to_icom_adapter(kref); icom_adapter 1472 drivers/tty/serial/icom.c icom_remove_adapter(icom_adapter); icom_adapter 1481 drivers/tty/serial/icom.c struct icom_adapter *icom_adapter; icom_adapter 1517 drivers/tty/serial/icom.c retval = icom_alloc_adapter(&icom_adapter); icom_adapter 1524 drivers/tty/serial/icom.c icom_adapter->base_addr_pci = pci_resource_start(dev, 0); icom_adapter 1525 drivers/tty/serial/icom.c icom_adapter->pci_dev = dev; icom_adapter 1526 drivers/tty/serial/icom.c icom_adapter->version = ent->driver_data; icom_adapter 1527 drivers/tty/serial/icom.c icom_adapter->subsystem_id = ent->subdevice; icom_adapter 1530 drivers/tty/serial/icom.c retval = icom_init_ports(icom_adapter); icom_adapter 1536 drivers/tty/serial/icom.c icom_adapter->base_addr = pci_ioremap_bar(dev, 0); icom_adapter 1538 drivers/tty/serial/icom.c if (!icom_adapter->base_addr) { icom_adapter 1544 drivers/tty/serial/icom.c retval = request_irq(dev->irq, icom_interrupt, IRQF_SHARED, ICOM_DRIVER_NAME, (void *)icom_adapter); icom_adapter 1549 drivers/tty/serial/icom.c retval = icom_load_ports(icom_adapter); icom_adapter 1551 drivers/tty/serial/icom.c for (index = 0; index < icom_adapter->numb_ports; index++) { icom_adapter 1552 drivers/tty/serial/icom.c icom_port = &icom_adapter->port_info[index]; icom_adapter 1559 drivers/tty/serial/icom.c (unsigned char __iomem *)icom_adapter->base_addr_pci; icom_adapter 1563 drivers/tty/serial/icom.c icom_port->port + icom_adapter->index * 4; icom_adapter 1572 drivers/tty/serial/icom.c kref_init(&icom_adapter->kref); icom_adapter 1576 drivers/tty/serial/icom.c iounmap(icom_adapter->base_addr); icom_adapter 1578 drivers/tty/serial/icom.c icom_free_adapter(icom_adapter); icom_adapter 1589 drivers/tty/serial/icom.c struct icom_adapter *icom_adapter; icom_adapter 1593 drivers/tty/serial/icom.c icom_adapter = list_entry(tmp, struct icom_adapter, icom_adapter 1595 drivers/tty/serial/icom.c if (icom_adapter->pci_dev == dev) { icom_adapter 1596 drivers/tty/serial/icom.c kref_put(&icom_adapter->kref, icom_kref_release); icom_adapter 209 drivers/tty/serial/icom.h struct icom_adapter; icom_adapter 242 drivers/tty/serial/icom.h struct icom_adapter *adapter;