patch-2.0.37 linux/include/linux/serial.h
Next file: linux/include/linux/tasks.h
Previous file: linux/include/linux/proc_fs.h
Back to the patch index
Back to the overall index
- Lines: 51
- Date:
Sun Jun 13 10:21:04 1999
- Orig file:
v2.0.36/linux/include/linux/serial.h
- Orig date:
Sun Nov 15 21:51:47 1998
diff -u --recursive --new-file v2.0.36/linux/include/linux/serial.h linux/include/linux/serial.h
@@ -81,6 +81,7 @@
#define ASYNC_CTS_FLOW 0x04000000 /* Do CTS flow control */
#define ASYNC_CHECK_CD 0x02000000 /* i.e., CLOCAL */
#define ASYNC_SHARE_IRQ 0x01000000 /* for multifunction cards */
+#define ASYNC_PCI 0x00800000 /* this port is on a PCI board */
/*
* Multiport serial configuration structure --- external structure
@@ -200,6 +201,42 @@
unsigned char mask4, match4;
int port_monitor;
};
+
+/*
+ * PCI board base -- internal structure
+ */
+
+/*
+ * There are four config spaces on a PCI board. Which ones house the
+ * serial chips?
+ */
+
+enum pci_spc {
+ pci_space_0 = 1,
+ pci_space_1 = 2,
+ pci_space_2 = 4,
+ pci_space_3 = 8
+};
+
+struct pci_struct {
+ int start; /* IO Base for this chip */
+ struct pci_serial_boards *type; /* Pointer to the board type */
+};
+
+struct pci_serial_boards {
+ int vendor_id; /* Vendor of the Board */
+ int device_id; /* Device ID */
+ char *board_name; /* Name of the Board */
+ int board_type; /* Which chip is on the board */
+ enum pci_spc pci_space; /* How many PCI spaces should be mapped in? */
+ int dev_per_space; /* How many chips are in every PCI space */
+ int dev_spacing; /* What spacing are they located? */
+ int io_size; /* Size of the Register IO Space */
+ int baud_base; /* What crystal is on the board */
+};
+
+
+
/* Export to allow PCMCIA to use this - Dave Hinds */
extern int register_serial(struct serial_struct *req);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov