diff options
Diffstat (limited to 'drivers/tty/serial/8250_pci.c')
-rw-r--r-- | drivers/tty/serial/8250_pci.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/drivers/tty/serial/8250_pci.c b/drivers/tty/serial/8250_pci.c index 3abeca2a2a1b..825937a5f210 100644 --- a/drivers/tty/serial/8250_pci.c +++ b/drivers/tty/serial/8250_pci.c | |||
@@ -1101,6 +1101,15 @@ static int pci_eg20t_init(struct pci_dev *dev) | |||
1101 | #endif | 1101 | #endif |
1102 | } | 1102 | } |
1103 | 1103 | ||
1104 | static int | ||
1105 | pci_xr17c154_setup(struct serial_private *priv, | ||
1106 | const struct pciserial_board *board, | ||
1107 | struct uart_port *port, int idx) | ||
1108 | { | ||
1109 | port->flags |= UPF_EXAR_EFR; | ||
1110 | return pci_default_setup(priv, board, port, idx); | ||
1111 | } | ||
1112 | |||
1104 | /* This should be in linux/pci_ids.h */ | 1113 | /* This should be in linux/pci_ids.h */ |
1105 | #define PCI_VENDOR_ID_SBSMODULARIO 0x124B | 1114 | #define PCI_VENDOR_ID_SBSMODULARIO 0x124B |
1106 | #define PCI_SUBVENDOR_ID_SBSMODULARIO 0x124B | 1115 | #define PCI_SUBVENDOR_ID_SBSMODULARIO 0x124B |
@@ -1506,6 +1515,30 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = { | |||
1506 | .setup = pci_timedia_setup, | 1515 | .setup = pci_timedia_setup, |
1507 | }, | 1516 | }, |
1508 | /* | 1517 | /* |
1518 | * Exar cards | ||
1519 | */ | ||
1520 | { | ||
1521 | .vendor = PCI_VENDOR_ID_EXAR, | ||
1522 | .device = PCI_DEVICE_ID_EXAR_XR17C152, | ||
1523 | .subvendor = PCI_ANY_ID, | ||
1524 | .subdevice = PCI_ANY_ID, | ||
1525 | .setup = pci_xr17c154_setup, | ||
1526 | }, | ||
1527 | { | ||
1528 | .vendor = PCI_VENDOR_ID_EXAR, | ||
1529 | .device = PCI_DEVICE_ID_EXAR_XR17C154, | ||
1530 | .subvendor = PCI_ANY_ID, | ||
1531 | .subdevice = PCI_ANY_ID, | ||
1532 | .setup = pci_xr17c154_setup, | ||
1533 | }, | ||
1534 | { | ||
1535 | .vendor = PCI_VENDOR_ID_EXAR, | ||
1536 | .device = PCI_DEVICE_ID_EXAR_XR17C158, | ||
1537 | .subvendor = PCI_ANY_ID, | ||
1538 | .subdevice = PCI_ANY_ID, | ||
1539 | .setup = pci_xr17c154_setup, | ||
1540 | }, | ||
1541 | /* | ||
1509 | * Xircom cards | 1542 | * Xircom cards |
1510 | */ | 1543 | */ |
1511 | { | 1544 | { |
@@ -1558,46 +1591,55 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = { | |||
1558 | .vendor = PCI_VENDOR_ID_INTEL, | 1591 | .vendor = PCI_VENDOR_ID_INTEL, |
1559 | .device = 0x8811, | 1592 | .device = 0x8811, |
1560 | .init = pci_eg20t_init, | 1593 | .init = pci_eg20t_init, |
1594 | .setup = pci_default_setup, | ||
1561 | }, | 1595 | }, |
1562 | { | 1596 | { |
1563 | .vendor = PCI_VENDOR_ID_INTEL, | 1597 | .vendor = PCI_VENDOR_ID_INTEL, |
1564 | .device = 0x8812, | 1598 | .device = 0x8812, |
1565 | .init = pci_eg20t_init, | 1599 | .init = pci_eg20t_init, |
1600 | .setup = pci_default_setup, | ||
1566 | }, | 1601 | }, |
1567 | { | 1602 | { |
1568 | .vendor = PCI_VENDOR_ID_INTEL, | 1603 | .vendor = PCI_VENDOR_ID_INTEL, |
1569 | .device = 0x8813, | 1604 | .device = 0x8813, |
1570 | .init = pci_eg20t_init, | 1605 | .init = pci_eg20t_init, |
1606 | .setup = pci_default_setup, | ||
1571 | }, | 1607 | }, |
1572 | { | 1608 | { |
1573 | .vendor = PCI_VENDOR_ID_INTEL, | 1609 | .vendor = PCI_VENDOR_ID_INTEL, |
1574 | .device = 0x8814, | 1610 | .device = 0x8814, |
1575 | .init = pci_eg20t_init, | 1611 | .init = pci_eg20t_init, |
1612 | .setup = pci_default_setup, | ||
1576 | }, | 1613 | }, |
1577 | { | 1614 | { |
1578 | .vendor = 0x10DB, | 1615 | .vendor = 0x10DB, |
1579 | .device = 0x8027, | 1616 | .device = 0x8027, |
1580 | .init = pci_eg20t_init, | 1617 | .init = pci_eg20t_init, |
1618 | .setup = pci_default_setup, | ||
1581 | }, | 1619 | }, |
1582 | { | 1620 | { |
1583 | .vendor = 0x10DB, | 1621 | .vendor = 0x10DB, |
1584 | .device = 0x8028, | 1622 | .device = 0x8028, |
1585 | .init = pci_eg20t_init, | 1623 | .init = pci_eg20t_init, |
1624 | .setup = pci_default_setup, | ||
1586 | }, | 1625 | }, |
1587 | { | 1626 | { |
1588 | .vendor = 0x10DB, | 1627 | .vendor = 0x10DB, |
1589 | .device = 0x8029, | 1628 | .device = 0x8029, |
1590 | .init = pci_eg20t_init, | 1629 | .init = pci_eg20t_init, |
1630 | .setup = pci_default_setup, | ||
1591 | }, | 1631 | }, |
1592 | { | 1632 | { |
1593 | .vendor = 0x10DB, | 1633 | .vendor = 0x10DB, |
1594 | .device = 0x800C, | 1634 | .device = 0x800C, |
1595 | .init = pci_eg20t_init, | 1635 | .init = pci_eg20t_init, |
1636 | .setup = pci_default_setup, | ||
1596 | }, | 1637 | }, |
1597 | { | 1638 | { |
1598 | .vendor = 0x10DB, | 1639 | .vendor = 0x10DB, |
1599 | .device = 0x800D, | 1640 | .device = 0x800D, |
1600 | .init = pci_eg20t_init, | 1641 | .init = pci_eg20t_init, |
1642 | .setup = pci_default_setup, | ||
1601 | }, | 1643 | }, |
1602 | /* | 1644 | /* |
1603 | * Cronyx Omega PCI (PLX-chip based) | 1645 | * Cronyx Omega PCI (PLX-chip based) |