lkml.org 
[lkml]   [2015]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.16.y-ckt 86/94] serial: 8250_pci: Add support for 12 port Exar boards
    Date
    3.16.7-ckt20 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Soeren Grunewald <soeren.grunewald@desy.de>

    commit be32c0cf0462c36f482b5ddcff1d8371be1e183c upstream.

    The Exar XR17V358 can also be combined with a XR17V354 chip to act as a
    single 12 port chip. This works the same way as the combining two XR17V358
    chips. But the reported device id then is 0x4358.

    Signed-off-by: Soeren Grunewald <soeren.grunewald@desy.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
    ---
    drivers/tty/serial/8250/8250_pci.c | 21 +++++++++++++++++++++
    1 file changed, 21 insertions(+)

    diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
    index f01eec579695..a264aa900dfd 100644
    --- a/drivers/tty/serial/8250/8250_pci.c
    +++ b/drivers/tty/serial/8250/8250_pci.c
    @@ -1802,6 +1802,7 @@ pci_wch_ch353_setup(struct serial_private *priv,
    #define PCI_DEVICE_ID_PERICOM_PI7C9X7954 0x7954
    #define PCI_DEVICE_ID_PERICOM_PI7C9X7958 0x7958

    +#define PCI_DEVICE_ID_EXAR_XR17V4358 0x4358
    #define PCI_DEVICE_ID_EXAR_XR17V8358 0x8358

    /* Unknown vendors/cards - this should not be in linux/pci_ids.h */
    @@ -2285,6 +2286,13 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
    },
    {
    .vendor = PCI_VENDOR_ID_EXAR,
    + .device = PCI_DEVICE_ID_EXAR_XR17V4358,
    + .subvendor = PCI_ANY_ID,
    + .subdevice = PCI_ANY_ID,
    + .setup = pci_xr17v35x_setup,
    + },
    + {
    + .vendor = PCI_VENDOR_ID_EXAR,
    .device = PCI_DEVICE_ID_EXAR_XR17V8358,
    .subvendor = PCI_ANY_ID,
    .subdevice = PCI_ANY_ID,
    @@ -2738,6 +2746,7 @@ enum pci_board_num_t {
    pbn_exar_XR17V352,
    pbn_exar_XR17V354,
    pbn_exar_XR17V358,
    + pbn_exar_XR17V4358,
    pbn_exar_XR17V8358,
    pbn_exar_ibm_saturn,
    pbn_pasemi_1682M,
    @@ -3412,6 +3421,14 @@ static struct pciserial_board pci_boards[] = {
    .reg_shift = 0,
    .first_offset = 0,
    },
    + [pbn_exar_XR17V4358] = {
    + .flags = FL_BASE0,
    + .num_ports = 12,
    + .base_baud = 7812500,
    + .uart_offset = 0x400,
    + .reg_shift = 0,
    + .first_offset = 0,
    + },
    [pbn_exar_XR17V8358] = {
    .flags = FL_BASE0,
    .num_ports = 16,
    @@ -4829,6 +4846,10 @@ static struct pci_device_id serial_pci_tbl[] = {
    PCI_ANY_ID, PCI_ANY_ID,
    0,
    0, pbn_exar_XR17V358 },
    + { PCI_VENDOR_ID_EXAR, PCI_DEVICE_ID_EXAR_XR17V4358,
    + PCI_ANY_ID, PCI_ANY_ID,
    + 0,
    + 0, pbn_exar_XR17V4358 },
    { PCI_VENDOR_ID_EXAR, PCI_DEVICE_ID_EXAR_XR17V8358,
    PCI_ANY_ID, PCI_ANY_ID,
    0,

    \
     
     \ /
      Last update: 2015-11-13 11:41    [W:3.621 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site