lkml.org 
[lkml]   [2008]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] Add support for a no-name 4 ports multiserial card
Russell King wrote:
> On Fri, Jun 06, 2008 at 11:14:00AM +0100, 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
>>
>>
>>> .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
>>
>>
>>> + pbn_plx_pdr,
>> _unknown1
>>
>>> 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.
>
> And there's no need for half the patch either - which I tried to explain
> in a previous reply to Catalin but I just got repeated "My email address
> has changed to ..." responses... so I gave up.

Rusell, I am very sorry about: sending e-mail without patch,
sending from an old mail address and calling you "Rusty".

The last version of the patch is attached. Please Ack it if it is OK
for you. If not, please let me know.

Andrew, please hold on a little bit to get the Ack from Russel.

Thank you all for your support and patience!

--
Catalin(ux) M BOIE
http://kernel.embedromix.ro/
From fa0fceda773f553c2691f69ad989e81a3c5cc031 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 | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
index 788c355..b64a17c 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,
@@ -2199,6 +2211,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_b0_4_115200 },
{ PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
PCI_SUBVENDOR_ID_KEYSPAN,
PCI_SUBDEVICE_ID_KEYSPAN_SX2, 0, 0,
--
1.5.5.1
\
 
 \ /
  Last update: 2008-06-09 22:11    [W:0.064 / U:1.644 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site