| /* |
| * Definitions for PCI support. |
| */ |
| #define FL_BASE_MASK 0x0007 |
| #define FL_BASE0 0x0000 |
| #define FL_BASE1 0x0001 |
| #define FL_BASE2 0x0002 |
| #define FL_BASE3 0x0003 |
| #define FL_BASE4 0x0004 |
| #define FL_GET_BASE(x) (x & FL_BASE_MASK) |
| |
| /* Use successive BARs (PCI base address registers), |
| else use offset into some specified BAR */ |
| #define FL_BASE_BARS 0x0008 |
| |
| /* do not assign an irq */ |
| #define FL_NOIRQ 0x0080 |
| |
| /* Use the Base address register size to cap number of ports */ |
| #define FL_REGION_SZ_CAP 0x0100 |
| |
| struct pciserial_board { |
| unsigned int flags; |
| unsigned int num_ports; |
| unsigned int base_baud; |
| unsigned int uart_offset; |
| unsigned int reg_shift; |
| unsigned int first_offset; |
| }; |
| |
| struct serial_private; |
| |
| struct serial_private * |
| pciserial_init_ports(struct pci_dev *dev, const struct pciserial_board *board); |
| void pciserial_remove_ports(struct serial_private *priv); |
| void pciserial_suspend_ports(struct serial_private *priv); |
| void pciserial_resume_ports(struct serial_private *priv); |