Messages in this thread Patch in this message | | | Date | Fri, 06 Jun 2008 15:42:11 +0300 | From | "Catalin(ux) M BOIE" <> | Subject | Re: [PATCH] Add support for a no-name 4 ports multiserial card |
| |
Alan Cox wrote: > On Fri, 6 Jun 2008 10:13:13 +0300 > "Catalin(ux) M BOIE" <catab@embedromix.ro> wrote: > >> It is a no-name PCI card. I found no reference to a producer so I >> used the fake name "PDR". > > We don't really want to get fake names into pci_ids. I'd rather
Thanks Alan for review!
> >> .vendor = PCI_VENDOR_ID_PLX, >> + .device = PCI_DEVICE_ID_PLX_9050, >> + .subvendor = PCI_VENDOR_ID_PLX, >> + .subdevice = PCI_SUBDEVICE_ID_PDR, > > Either the hex or a local and obviously unknown name like ID_UNKNOWN_1
Do you agree to use ID_UNKNOWN_0x1584?
> >> + pbn_plx_pdr, > > _unknown1
And here pbn_plx_unknown_0x1584?
>> 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] = { > > Ditto > >> + /* PDR */ > > Ditto > >> + { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, >> + PCI_VENDOR_ID_PLX, >> + PCI_SUBDEVICE_ID_PDR, 0, 0, > > Ditto > > >> +#define PCI_SUBDEVICE_ID_PDR 0x1584 >> + > > And not in here at all. > > Alan
If you agree, the patch is attached. If not, let me know and I will correct it.
Thank you!
-- Catalin(ux) M BOIE http://kernel.embedromix.ro/ From 5beb2583b6f69a8ea3ad0d8e033cf4e55f5d530d Mon Sep 17 00:00:00 2001 From: Catalin(ux) M BOIE <catab@embedromix.ro> Date: Tue, 8 Apr 2008 00:59:20 +0300 Subject: [PATCH] Add support for a no-name 4 ports multiserial card
It is a no-name PCI card. I found no reference to a producer so I used "UNKNOWN_0x1584" as the name.
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@embedromix.ro> --- drivers/serial/8250_pci.c | 25 +++++++++++++++++++++++++ 1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c index 788c355..3ad5941 100644 --- a/drivers/serial/8250_pci.c +++ b/drivers/serial/8250_pci.c @@ -769,6 +769,9 @@ pci_default_setup(struct serial_private *priv, struct pciserial_board *board, #define PCI_SUBDEVICE_ID_POCTAL232 0x0308 #define PCI_SUBDEVICE_ID_POCTAL422 0x0408 +/* Unknown vendors/cards - this should not be in linux/pci_ids.h */ +#define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584 + /* * Master list of serial port init/setup/exit quirks. * This does not describe the general nature of the port. @@ -884,6 +887,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_UNKNOWN_0x1584, + .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 +1168,7 @@ enum pci_board_num_t { pbn_panacom4, pbn_exsys_4055, pbn_plx_romulus, + pbn_plx_unknown_0x1584, pbn_oxsemi, pbn_intel_i960, pbn_sgi_ioc3, @@ -1186,6 +1199,13 @@ static struct pciserial_board pci_boards[] __devinitdata = { .base_baud = 115200, .uart_offset = 8, }, + /* Unknow card - subdevice 0x1584 */ + [pbn_plx_unknown_0x1584] = { + .flags = FL_BASE0, + .num_ports = 4, + .base_baud = 115200, + .uart_offset = 8, + }, [pbn_b0_1_115200] = { .flags = FL_BASE0, .num_ports = 1, @@ -2199,6 +2219,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 }, + /* Unknown card - subdevice 0x1584 */ + { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, + PCI_VENDOR_ID_PLX, + PCI_SUBDEVICE_ID_UNKNOWN_0x1584, 0, 0, + pbn_plx_unknown_0x1584 }, { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, PCI_SUBVENDOR_ID_KEYSPAN, PCI_SUBDEVICE_ID_KEYSPAN_SX2, 0, 0, -- 1.5.5.1
| |