On 158, 06 06, 2008 at 10:13:13AM +0300, Catalin(ux) M BOIE wrote: > It is a no-name PCI card. I found no reference to a producer so I > used the fake name "PDR". > > Full lspci: > 01:07.0 0780: 10b5:9050 (rev 01) > Subsystem: 10b5:1584 > Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- \ > ParErr- Stepping- SERR+ FastB2B- > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- \ > DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- > Interrupt: pin A routed to IRQ 10 > Region 1: I/O ports at ec00 [size=128] > Region 2: I/O ports at e480 [size=32] > Region 3: I/O ports at e400 [size=8] > Capabilities: [40] Power Management version 1 > Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA \ > PME(D0+,D1-,D2-,D3hot+,D3cold-) > Status: D0 PME-Enable- DSel=0 DScale=0 PME- > Capabilities: [48] #06 [0080] > Capabilities: [4c] Vital Product Data > > After: > 0000:01:07.0: ttyS4 at I/O 0xe480 (irq = 10) is a 16550A > 0000:01:07.0: ttyS5 at I/O 0xe488 (irq = 10) is a 16550A > 0000:01:07.0: ttyS6 at I/O 0xe490 (irq = 10) is a 16550A > 0000:01:07.0: ttyS7 at I/O 0xe498 (irq = 10) is a 16550A > > Signed-off-by: Catalin(ux) M BOIE <catab@xxxxxxxxxxxxx> > --- > drivers/serial/8250_pci.c | 22 ++++++++++++++++++++++ > include/linux/pci_ids.h | 2 ++ > 2 files changed, 24 insertions(+), 0 deletions(-) > > diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c > index 788c355..77d9f77 100644 > --- a/drivers/serial/8250_pci.c > +++ b/drivers/serial/8250_pci.c > @@ -884,6 +884,15 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = { > }, > { > .vendor = PCI_VENDOR_ID_PLX, > + .device = PCI_DEVICE_ID_PLX_9050, > + .subvendor = PCI_VENDOR_ID_PLX, > + .subdevice = PCI_SUBDEVICE_ID_PDR, > + .init = pci_plx9050_init, > + .setup = pci_default_setup, > + .exit = __devexit_p(pci_plx9050_exit), > + }, > + { > + .vendor = PCI_VENDOR_ID_PLX, > .device = PCI_DEVICE_ID_PLX_ROMULUS, > .subvendor = PCI_VENDOR_ID_PLX, > .subdevice = PCI_DEVICE_ID_PLX_ROMULUS, > @@ -1156,6 +1165,7 @@ enum pci_board_num_t { > pbn_panacom4, > pbn_exsys_4055, > pbn_plx_romulus, > + pbn_plx_pdr, > pbn_oxsemi, > pbn_intel_i960, > pbn_sgi_ioc3, > @@ -1186,6 +1196,13 @@ static struct pciserial_board pci_boards[] __devinitdata = { > .base_baud = 115200, > .uart_offset = 8, > }, > + /* PDR */ > + [pbn_plx_pdr] = { > + .flags = FL_BASE0, > + .num_ports = 4, > + .base_baud = 115200, > + .uart_offset = 8, > + }, This definition is not needed, just use pbn_b0_4_115200. > [pbn_b0_1_115200] = { > .flags = FL_BASE0, > .num_ports = 1, > @@ -2199,6 +2216,11 @@ static struct pci_device_id serial_pci_tbl[] = { > { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_1077, > PCI_ANY_ID, PCI_ANY_ID, 0, 0, > pbn_b2_4_921600 }, > + /* PDR */ > + { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, > + PCI_VENDOR_ID_PLX, > + PCI_SUBDEVICE_ID_PDR, 0, 0, > + pbn_plx_pdr }, > { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, > PCI_SUBVENDOR_ID_KEYSPAN, > PCI_SUBDEVICE_ID_KEYSPAN_SX2, 0, 0, > diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h > index 9b940e6..17a01b1 100644 > --- a/include/linux/pci_ids.h > +++ b/include/linux/pci_ids.h > @@ -966,6 +966,8 @@ > #define PCI_DEVICE_ID_PLX_9080 0x9080 > #define PCI_DEVICE_ID_PLX_GTEK_SERIAL2 0xa001 > > +#define PCI_SUBDEVICE_ID_PDR 0x1584 > + > #define PCI_VENDOR_ID_MADGE 0x10b6 > #define PCI_DEVICE_ID_MADGE_MK2 0x0002 > > -- > 1.5.5.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- Andrey Panin | Linux and UNIX system administrator pazke@xxxxxxxxx | PGP key: wwwkeys.pgp.net
Attachment:
signature.asc
Description: Digital signature