Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 27266a18 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-serial

parents f3e39e67 9a8ffccf
Loading
Loading
Loading
Loading
+24 −1
Original line number Diff line number Diff line
@@ -439,6 +439,20 @@ static int pci_siig_init(struct pci_dev *dev)
	return -ENODEV;
}

static int pci_siig_setup(struct serial_private *priv,
			  struct pciserial_board *board,
			  struct uart_port *port, int idx)
{
	unsigned int bar = FL_GET_BASE(board->flags) + idx, offset = 0;

	if (idx > 3) {
		bar = 4;
		offset = (idx - 4) * 8;
	}

	return setup_port(priv, port, bar, offset, 0);
}

/*
 * Timedia has an explosion of boards, and to avoid the PCI table from
 * growing *huge*, we use this function to collapse some 70 entries
@@ -748,7 +762,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
		.subvendor	= PCI_ANY_ID,
		.subdevice	= PCI_ANY_ID,
		.init		= pci_siig_init,
		.setup		= pci_default_setup,
		.setup		= pci_siig_setup,
	},
	/*
	 * Titan cards
@@ -2141,6 +2155,15 @@ static struct pci_device_id serial_pci_tbl[] = {
	{	PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_4S_20x_850,
		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
		pbn_b0_bt_4_921600 },
	{	PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_8S_20x_550,
		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
		pbn_b0_bt_8_921600 },
	{	PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_8S_20x_650,
		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
		pbn_b0_bt_8_921600 },
	{	PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_8S_20x_850,
		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
		pbn_b0_bt_8_921600 },

	/*
	 * Computone devices submitted by Doug McNash dmcnash@computone.com
+1 −0
Original line number Diff line number Diff line
@@ -98,6 +98,7 @@ config SERIAL_8250_NR_UARTS
config SERIAL_8250_RUNTIME_UARTS
	int "Number of 8250/16550 serial ports to register at runtime"
	depends on SERIAL_8250
	range 0 SERIAL_8250_NR_UARTS
	default "4"
	help
	  Set this to the maximum number of serial ports you want
+1 −1
Original line number Diff line number Diff line
@@ -2237,7 +2237,7 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *port)
	 * If this port is a console, then the spinlock is already
	 * initialised.
	 */
	if (!uart_console(port))
	if (!(uart_console(port) && (port->cons->flags & CON_ENABLED)))
		spin_lock_init(&port->lock);

	uart_configure_port(drv, state, port);
+3 −0
Original line number Diff line number Diff line
@@ -1670,6 +1670,9 @@
#define PCI_DEVICE_ID_SIIG_2S1P_20x_550	0x2060
#define PCI_DEVICE_ID_SIIG_2S1P_20x_650	0x2061
#define PCI_DEVICE_ID_SIIG_2S1P_20x_850	0x2062
#define PCI_DEVICE_ID_SIIG_8S_20x_550	0x2080
#define PCI_DEVICE_ID_SIIG_8S_20x_650	0x2081
#define PCI_DEVICE_ID_SIIG_8S_20x_850	0x2082
#define PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL	0x2050

#define PCI_VENDOR_ID_RADISYS		0x1331