From: Andrey Panin <pazke@donpac.ru>
To: Russell King <rmk+lkml@arm.linux.org.uk>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] SIIG 8-port serial boards support
Date: Thu, 2 Feb 2006 16:27:26 +0300 [thread overview]
Message-ID: <20060202132726.GD24903@pazke> (raw)
In-Reply-To: <20060202102644.GC5034@flint.arm.linux.org.uk>
[-- Attachment #1.1: Type: text/plain, Size: 1143 bytes --]
n 033, 02 02, 2006 at 10:26:44AM +0000, Russell King wrote:
> On Tue, Jan 24, 2006 at 09:01:41PM +0000, Russell King wrote:
> > On Tue, Jan 24, 2006 at 11:25:38AM +0300, Andrey Panin wrote:
> > > This patch (against 2.6.16-rc1) adds support for SIIG 8 port serial boards.
> > > Please consider applying.
> >
> > Could you supply a sign-off (and a description) for this patch please -
> > see Documentation/SubmittingPatches for more information.
>
> Ping?
Pong :) Please see below. Does it look better now ?
BTW I have a question for you. I'm trying to add support for Advantech serial
cards into 8250_pci.c. These cards are based on Oxford Semiconductor 16C950
UARTs and some of then can work in RS485 mode. They use DTR to automatically
control direction of the RS485 transiever buffer and so need to set bits
3 and 4 in the ACR register. Unfortunately there is currently no way to set
different ACR value. Is it okay to use unused[] array in the struct uart_port
to pass ACR value from 8250_pci.c to 8250.c ?
--
Andrey Panin | Linux and UNIX system administrator
pazke@donpac.ru | PGP key: wwwkeys.pgp.net
[-- Attachment #1.2: patch-siig-8port-board.diff --]
[-- Type: text/plain, Size: 2957 bytes --]
This patch adds support for SIIG 8-port boards. These boards have 4 ports in
separate bars and another 4 ports in the single bar. Because of this strange
port arrangement these cards need special setup function. Fortunately no other
SIIG cards have more than 4 port, so this setup function could be used for them
too.
Signed-off-by: Andrey Panin <pazke@donpac.ru>
drivers/serial/8250_pci.c | 25 ++++++++++++++++++++++++-
include/linux/pci_ids.h | 3 +++
2 files changed, 27 insertions(+), 1 deletion(-)
diff -urdpNX /usr/share/dontdiff linux-2.6.16-rc1.vanilla/drivers/serial/8250_pci.c linux-2.6.16-rc1/drivers/serial/8250_pci.c
--- linux-2.6.16-rc1.vanilla/drivers/serial/8250_pci.c 2006-01-24 10:14:24.000000000 +0300
+++ linux-2.6.16-rc1/drivers/serial/8250_pci.c 2006-01-24 10:16:56.000000000 +0300
@@ -439,6 +439,20 @@ static int pci_siig_init(struct pci_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_seria
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.init = pci_siig_init,
- .setup = pci_default_setup,
+ .setup = pci_siig_setup,
},
/*
* Titan cards
@@ -2134,6 +2148,15 @@ static struct pci_device_id serial_pci_t
{ 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
diff -urdpNX /usr/share/dontdiff linux-2.6.16-rc1.vanilla/include/linux/pci_ids.h linux-2.6.16-rc1/include/linux/pci_ids.h
--- linux-2.6.16-rc1.vanilla/include/linux/pci_ids.h 2006-01-24 10:14:51.000000000 +0300
+++ linux-2.6.16-rc1/include/linux/pci_ids.h 2006-01-24 10:16:56.000000000 +0300
@@ -1677,6 +1677,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
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2006-02-02 13:27 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-24 8:25 [PATCH] SIIG 8-port serial boards support Andrey Panin
2006-01-24 21:01 ` Russell King
2006-02-02 10:26 ` Russell King
2006-02-02 13:27 ` Andrey Panin [this message]
[not found] ` <20060202201734.GA17329@flint.arm.linux.org.uk>
2006-02-03 9:13 ` Andrey Panin
2006-02-03 9:24 ` Russell King
2006-02-17 11:39 ` Andrey Panin
2006-02-17 20:02 ` Russell King
2006-02-17 20:14 ` Russell King
2006-02-17 21:27 ` Paul Fulghum
2006-02-17 21:39 ` Russell King
2006-02-17 21:52 ` Paul Fulghum
-- strict thread matches above, loose matches on Subject: below --
2006-02-17 20:32 Kilau, Scott
2006-02-17 21:26 ` Russell King
2006-02-17 22:25 linux
2006-02-17 22:39 ` Russell King
2006-02-17 23:11 ` Paul Fulghum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060202132726.GD24903@pazke \
--to=pazke@donpac.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk+lkml@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox