-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SERIAL] Expose 8250_pci setup/removal/suspend/resume functions
Re-jig the setup/removal/suspend/resume of 8250 pci ports so that they know slightly less about how they're attached to a PCI device. Expose this as the new interface for registering PCI serial ports, as well as the pciserial_board structure and associated flag definitions. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
- Loading branch information
Russell King
authored and
Russell King
committed
Jul 27, 2005
1 parent
70db3d9
commit 241fc43
Showing
2 changed files
with
159 additions
and
112 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,40 @@ | ||
/* | ||
* 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, 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); | ||
|
||
int pci_siig10x_fn(struct pci_dev *dev, int enable); | ||
int pci_siig20x_fn(struct pci_dev *dev, int enable); |