Pull serial driver fixes from Greg KH: "Here are some small serial driver fixes for 4.8-rc5. One fixes an oft-reported build issue with the fintek driver, another reverts a patch that was causing problems, one fixes a crash, and some new device ids were added. All of these have been in linux-next for a while" * tag 'tty-4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: serial: 8250: added acces i/o products quad and octal serial cards serial: 8250_mid: fix divide error bug if baud rate is 0 Revert "tty/serial/8250: use mctrl_gpio helpers" 8250/fintek: rename IRQ_MODE macro
Unified · Split
| @@ -42,9 +42,6 @@ Optional properties: · 41 unmodified lines | ||
| 42 | 42 | - auto-flow-control: one way to enable automatic flow control support. The |
| 43 | 43 | driver is allowed to detect support for the capability even without this |
| 44 | 44 | property. |
| 45 | −- {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD | |
| 46 | − line respectively. It will use specified GPIO instead of the peripheral | |
| 47 | − function pin for the UART feature. If unsure, don't specify this property. | |
| 48 | 45 | |
| 49 | 46 | Note: |
| 50 | 47 | * fsl,ns16550: |
| @@ -66,19 +63,3 @@ Example: · 15 unmodified lines | ||
| 66 | 63 | interrupts = <10>; |
| 67 | 64 | reg-shift = <2>; |
| 68 | 65 | }; |
| 69 | − | |
| 70 | −Example for OMAP UART using GPIO-based modem control signals: | |
| 71 | − | |
| 72 | − uart4: serial@49042000 { | |
| 73 | − compatible = "ti,omap3-uart"; | |
| 74 | − reg = <0x49042000 0x400>; | |
| 75 | − interrupts = <80>; | |
| 76 | − ti,hwmods = "uart4"; | |
| 77 | − clock-frequency = <48000000>; | |
| 78 | − cts-gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; | |
| 79 | − rts-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>; | |
| 80 | − dtr-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; | |
| 81 | − dsr-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; | |
| 82 | − dcd-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; | |
| 83 | − rng-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; | |
| 84 | − }; | |
| @@ -15,8 +15,6 @@ · 14 unmodified lines | ||
| 15 | 15 | #include <linux/serial_reg.h> |
| 16 | 16 | #include <linux/dmaengine.h> |
| 17 | 17 | |
| 18 | −#include "../serial_mctrl_gpio.h" | |
| 19 | − | |
| 20 | 18 | struct uart_8250_dma { |
| 21 | 19 | int (*tx_dma)(struct uart_8250_port *p); |
| 22 | 20 | int (*rx_dma)(struct uart_8250_port *p); |
| @@ -133,43 +131,12 @@ void serial8250_em485_destroy(struct uart_8250_port *p); · 110 unmodified lines | ||
| 133 | 131 | |
| 134 | 132 | static inline void serial8250_out_MCR(struct uart_8250_port *up, int value) |
| 135 | 133 | { |
| 136 | − int mctrl_gpio = 0; | |
| 137 | − | |
| 138 | 134 | serial_out(up, UART_MCR, value); |
| 139 | − | |
| 140 | − if (value & UART_MCR_RTS) | |
| 141 | − mctrl_gpio |= TIOCM_RTS; | |
| 142 | − if (value & UART_MCR_DTR) | |
| 143 | − mctrl_gpio |= TIOCM_DTR; | |
| 144 | − | |
| 145 | − mctrl_gpio_set(up->gpios, mctrl_gpio); | |
| 146 | 135 | } |
| 147 | 136 | |
| 148 | 137 | static inline int serial8250_in_MCR(struct uart_8250_port *up) |
| 149 | 138 | { |
| 150 | − int mctrl, mctrl_gpio = 0; | |
| 151 | − | |
| 152 | − mctrl = serial_in(up, UART_MCR); | |
| 153 | − | |
| 154 | − /* save current MCR values */ | |
| 155 | − if (mctrl & UART_MCR_RTS) | |
| 156 | − mctrl_gpio |= TIOCM_RTS; | |
| 157 | − if (mctrl & UART_MCR_DTR) | |
| 158 | − mctrl_gpio |= TIOCM_DTR; | |
| 159 | − | |
| 160 | − mctrl_gpio = mctrl_gpio_get_outputs(up->gpios, &mctrl_gpio); | |
| 161 | − | |
| 162 | − if (mctrl_gpio & TIOCM_RTS) | |
| 163 | − mctrl |= UART_MCR_RTS; | |
| 164 | − else | |
| 165 | − mctrl &= ~UART_MCR_RTS; | |
| 166 | − | |
| 167 | − if (mctrl_gpio & TIOCM_DTR) | |
| 168 | − mctrl |= UART_MCR_DTR; | |
| 169 | − else | |
| 170 | − mctrl &= ~UART_MCR_DTR; | |
| 171 | − | |
| 172 | − return mctrl; | |
| 139 | + return serial_in(up, UART_MCR); | |
| 173 | 140 | } |
| 174 | 141 | |
| 175 | 142 | #if defined(__alpha__) && !defined(CONFIG_PCI) |
| @@ -974,8 +974,6 @@ int serial8250_register_8250_port(struct uart_8250_port *up) · 973 unmodified lines | ||
| 974 | 974 | |
| 975 | 975 | uart = serial8250_find_match_or_unused(&up->port); |
| 976 | 976 | if (uart && uart->port.type != PORT_8250_CIR) { |
| 977 | − struct mctrl_gpios *gpios; | |
| 978 | − | |
| 979 | 977 | if (uart->port.dev) |
| 980 | 978 | uart_remove_one_port(&serial8250_reg, &uart->port); |
| 981 | 979 | |
| @@ -1013,13 +1011,6 @@ int serial8250_register_8250_port(struct uart_8250_port *up) · 31 unmodified lines | ||
| 1013 | 1011 | if (up->port.flags & UPF_FIXED_TYPE) |
| 1014 | 1012 | uart->port.type = up->port.type; |
| 1015 | 1013 | |
| 1016 | − gpios = mctrl_gpio_init(&uart->port, 0); | |
| 1017 | − if (IS_ERR(gpios)) { | |
| 1018 | − if (PTR_ERR(gpios) != -ENOSYS) | |
| 1019 | − return PTR_ERR(gpios); | |
| 1020 | − } else | |
| 1021 | − uart->gpios = gpios; | |
| 1022 | − | |
| 1023 | 1014 | serial8250_set_defaults(uart); |
| 1024 | 1015 | |
| 1025 | 1016 | /* Possibly override default I/O functions. */ |
| @@ -31,7 +31,7 @@ · 30 unmodified lines | ||
| 31 | 31 | #define IO_ADDR2 0x60 |
| 32 | 32 | #define LDN 0x7 |
| 33 | 33 | |
| 34 | −#define IRQ_MODE 0x70 | |
| 34 | +#define FINTEK_IRQ_MODE 0x70 | |
| 35 | 35 | #define IRQ_SHARE BIT(4) |
| 36 | 36 | #define IRQ_MODE_MASK (BIT(6) | BIT(5)) |
| 37 | 37 | #define IRQ_LEVEL_LOW 0 |
| @@ -195,7 +195,7 @@ static int fintek_8250_set_irq_mode(struct fintek_8250 *pdata, bool level_mode) · 157 unmodified lines | ||
| 195 | 195 | outb(LDN, pdata->base_port + ADDR_PORT); |
| 196 | 196 | outb(pdata->index, pdata->base_port + DATA_PORT); |
| 197 | 197 | |
| 198 | − outb(IRQ_MODE, pdata->base_port + ADDR_PORT); | |
| 198 | + outb(FINTEK_IRQ_MODE, pdata->base_port + ADDR_PORT); | |
| 199 | 199 | tmp = inb(pdata->base_port + DATA_PORT); |
| 200 | 200 | |
| 201 | 201 | tmp &= ~IRQ_MODE_MASK; |
| @@ -168,6 +168,9 @@ static void mid8250_set_termios(struct uart_port *p, · 167 unmodified lines | ||
| 168 | 168 | unsigned long w = BIT(24) - 1; |
| 169 | 169 | unsigned long mul, div; |
| 170 | 170 | |
| 171 | + /* Gracefully handle the B0 case: fall back to B9600 */ | |
| 172 | + fuart = fuart ? fuart : 9600 * 16; | |
| 173 | + | |
| 171 | 174 | if (mid->board->freq < fuart) { |
| 172 | 175 | /* Find prescaler value that satisfies Fuart < Fref */ |
| 173 | 176 | if (mid->board->freq > baud) |
| @@ -134,21 +134,18 @@ static void omap8250_set_mctrl(struct uart_port *port, unsigned int mctrl) · 133 unmodified lines | ||
| 134 | 134 | |
| 135 | 135 | serial8250_do_set_mctrl(port, mctrl); |
| 136 | 136 | |
| 137 | − if (IS_ERR_OR_NULL(mctrl_gpio_to_gpiod(up->gpios, | |
| 138 | − UART_GPIO_RTS))) { | |
| 139 | − /* | |
| 140 | − * Turn off autoRTS if RTS is lowered and restore autoRTS | |
| 141 | − * setting if RTS is raised | |
| 142 | − */ | |
| 143 | − lcr = serial_in(up, UART_LCR); | |
| 144 | − serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B); | |
| 145 | − if ((mctrl & TIOCM_RTS) && (port->status & UPSTAT_AUTORTS)) | |
| 146 | − priv->efr |= UART_EFR_RTS; | |
| 147 | − else | |
| 148 | − priv->efr &= ~UART_EFR_RTS; | |
| 149 | − serial_out(up, UART_EFR, priv->efr); | |
| 150 | − serial_out(up, UART_LCR, lcr); | |
| 151 | − } | |
| 137 | + /* | |
| 138 | + * Turn off autoRTS if RTS is lowered and restore autoRTS setting | |
| 139 | + * if RTS is raised | |
| 140 | + */ | |
| 141 | + lcr = serial_in(up, UART_LCR); | |
| 142 | + serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B); | |
| 143 | + if ((mctrl & TIOCM_RTS) && (port->status & UPSTAT_AUTORTS)) | |
| 144 | + priv->efr |= UART_EFR_RTS; | |
| 145 | + else | |
| 146 | + priv->efr &= ~UART_EFR_RTS; | |
| 147 | + serial_out(up, UART_EFR, priv->efr); | |
| 148 | + serial_out(up, UART_LCR, lcr); | |
| 152 | 149 | } |
| 153 | 150 | |
| 154 | 151 | /* |
| @@ -449,9 +446,7 @@ static void omap_8250_set_termios(struct uart_port *port, · 294 unmodified lines | ||
| 449 | 446 | priv->efr = 0; |
| 450 | 447 | up->port.status &= ~(UPSTAT_AUTOCTS | UPSTAT_AUTORTS | UPSTAT_AUTOXOFF); |
| 451 | 448 | |
| 452 | − if (termios->c_cflag & CRTSCTS && up->port.flags & UPF_HARD_FLOW | |
| 453 | − && IS_ERR_OR_NULL(mctrl_gpio_to_gpiod(up->gpios, | |
| 454 | − UART_GPIO_RTS))) { | |
| 449 | + if (termios->c_cflag & CRTSCTS && up->port.flags & UPF_HARD_FLOW) { | |
| 455 | 450 | /* Enable AUTOCTS (autoRTS is enabled when RTS is raised) */ |
| 456 | 451 | up->port.status |= UPSTAT_AUTOCTS | UPSTAT_AUTORTS; |
| 457 | 452 | priv->efr |= UART_EFR_CTS; |
| @@ -1950,6 +1950,43 @@ pci_wch_ch38x_setup(struct serial_private *priv, · 1949 unmodified lines | ||
| 1950 | 1950 | #define PCI_DEVICE_ID_PERICOM_PI7C9X7954 0x7954 |
| 1951 | 1951 | #define PCI_DEVICE_ID_PERICOM_PI7C9X7958 0x7958 |
| 1952 | 1952 | |
| 1953 | +#define PCI_VENDOR_ID_ACCESIO 0x494f | |
| 1954 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM_2SDB 0x1051 | |
| 1955 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_COM_2S 0x1053 | |
| 1956 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM_4SDB 0x105C | |
| 1957 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_COM_4S 0x105E | |
| 1958 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM232_2DB 0x1091 | |
| 1959 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_COM232_2 0x1093 | |
| 1960 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM232_4DB 0x1099 | |
| 1961 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_COM232_4 0x109B | |
| 1962 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM_2SMDB 0x10D1 | |
| 1963 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_COM_2SM 0x10D3 | |
| 1964 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM_4SMDB 0x10DA | |
| 1965 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_COM_4SM 0x10DC | |
| 1966 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_ICM485_1 0x1108 | |
| 1967 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_ICM422_2 0x1110 | |
| 1968 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_ICM485_2 0x1111 | |
| 1969 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_ICM422_4 0x1118 | |
| 1970 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_ICM485_4 0x1119 | |
| 1971 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_ICM_2S 0x1152 | |
| 1972 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_ICM_4S 0x115A | |
| 1973 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_ICM232_2 0x1190 | |
| 1974 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_ICM232_2 0x1191 | |
| 1975 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_ICM232_4 0x1198 | |
| 1976 | +#define PCI_DEVICE_ID_ACCESIO_MPCIE_ICM232_4 0x1199 | |
| 1977 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_ICM_2SM 0x11D0 | |
| 1978 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM422_4 0x105A | |
| 1979 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM485_4 0x105B | |
| 1980 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM422_8 0x106A | |
| 1981 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM485_8 0x106B | |
| 1982 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM232_4 0x1098 | |
| 1983 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM232_8 0x10A9 | |
| 1984 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM_4SM 0x10D9 | |
| 1985 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_COM_8SM 0x10E9 | |
| 1986 | +#define PCI_DEVICE_ID_ACCESIO_PCIE_ICM_4SM 0x11D8 | |
| 1987 | + | |
| 1988 | + | |
| 1989 | + | |
| 1953 | 1990 | /* Unknown vendors/cards - this should not be in linux/pci_ids.h */ |
| 1954 | 1991 | #define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584 |
| 1955 | 1992 | #define PCI_SUBDEVICE_ID_UNKNOWN_0x1588 0x1588 |
| @@ -5112,6 +5149,108 @@ static struct pci_device_id serial_pci_tbl[] = { · 3156 unmodified lines | ||
| 5112 | 5149 | PCI_ANY_ID, PCI_ANY_ID, |
| 5113 | 5150 | 0, |
| 5114 | 5151 | 0, pbn_pericom_PI7C9X7958 }, |
| 5152 | + /* | |
| 5153 | + * ACCES I/O Products quad | |
| 5154 | + */ | |
| 5155 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM_2SDB, | |
| 5156 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5157 | + pbn_pericom_PI7C9X7954 }, | |
| 5158 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_COM_2S, | |
| 5159 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5160 | + pbn_pericom_PI7C9X7954 }, | |
| 5161 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM_4SDB, | |
| 5162 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5163 | + pbn_pericom_PI7C9X7954 }, | |
| 5164 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_COM_4S, | |
| 5165 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5166 | + pbn_pericom_PI7C9X7954 }, | |
| 5167 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM232_2DB, | |
| 5168 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5169 | + pbn_pericom_PI7C9X7954 }, | |
| 5170 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_COM232_2, | |
| 5171 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5172 | + pbn_pericom_PI7C9X7954 }, | |
| 5173 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM232_4DB, | |
| 5174 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5175 | + pbn_pericom_PI7C9X7954 }, | |
| 5176 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_COM232_4, | |
| 5177 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5178 | + pbn_pericom_PI7C9X7954 }, | |
| 5179 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM_2SMDB, | |
| 5180 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5181 | + pbn_pericom_PI7C9X7954 }, | |
| 5182 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_COM_2SM, | |
| 5183 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5184 | + pbn_pericom_PI7C9X7954 }, | |
| 5185 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM_4SMDB, | |
| 5186 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5187 | + pbn_pericom_PI7C9X7954 }, | |
| 5188 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_COM_4SM, | |
| 5189 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5190 | + pbn_pericom_PI7C9X7954 }, | |
| 5191 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_ICM485_1, | |
| 5192 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5193 | + pbn_pericom_PI7C9X7954 }, | |
| 5194 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_ICM422_2, | |
| 5195 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5196 | + pbn_pericom_PI7C9X7954 }, | |
| 5197 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_ICM485_2, | |
| 5198 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5199 | + pbn_pericom_PI7C9X7954 }, | |
| 5200 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_ICM422_4, | |
| 5201 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5202 | + pbn_pericom_PI7C9X7954 }, | |
| 5203 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_ICM485_4, | |
| 5204 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5205 | + pbn_pericom_PI7C9X7954 }, | |
| 5206 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_ICM_2S, | |
| 5207 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5208 | + pbn_pericom_PI7C9X7954 }, | |
| 5209 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_ICM_4S, | |
| 5210 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5211 | + pbn_pericom_PI7C9X7954 }, | |
| 5212 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_ICM232_2, | |
| 5213 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5214 | + pbn_pericom_PI7C9X7954 }, | |
| 5215 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_ICM232_2, | |
| 5216 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5217 | + pbn_pericom_PI7C9X7954 }, | |
| 5218 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_ICM232_4, | |
| 5219 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5220 | + pbn_pericom_PI7C9X7954 }, | |
| 5221 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_MPCIE_ICM232_4, | |
| 5222 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5223 | + pbn_pericom_PI7C9X7954 }, | |
| 5224 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_ICM_2SM, | |
| 5225 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5226 | + pbn_pericom_PI7C9X7954 }, | |
| 5227 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM422_4, | |
| 5228 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5229 | + pbn_pericom_PI7C9X7958 }, | |
| 5230 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM485_4, | |
| 5231 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5232 | + pbn_pericom_PI7C9X7958 }, | |
| 5233 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM422_8, | |
| 5234 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5235 | + pbn_pericom_PI7C9X7958 }, | |
| 5236 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM485_8, | |
| 5237 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5238 | + pbn_pericom_PI7C9X7958 }, | |
| 5239 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM232_4, | |
| 5240 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5241 | + pbn_pericom_PI7C9X7958 }, | |
| 5242 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM232_8, | |
| 5243 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5244 | + pbn_pericom_PI7C9X7958 }, | |
| 5245 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM_4SM, | |
| 5246 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5247 | + pbn_pericom_PI7C9X7958 }, | |
| 5248 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_COM_8SM, | |
| 5249 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5250 | + pbn_pericom_PI7C9X7958 }, | |
| 5251 | + { PCI_VENDOR_ID_ACCESIO, PCI_DEVICE_ID_ACCESIO_PCIE_ICM_4SM, | |
| 5252 | + PCI_ANY_ID, PCI_ANY_ID, 0, 0, | |
| 5253 | + pbn_pericom_PI7C9X7958 }, | |
| 5115 | 5254 | /* |
| 5116 | 5255 | * Topic TP560 Data/Fax/Voice 56k modem (reported by Evan Clarke) |
| 5117 | 5256 | */ |
| @@ -1618,8 +1618,6 @@ static void serial8250_disable_ms(struct uart_port *port) · 1617 unmodified lines | ||
| 1618 | 1618 | if (up->bugs & UART_BUG_NOMSR) |
| 1619 | 1619 | return; |
| 1620 | 1620 | |
| 1621 | − mctrl_gpio_disable_ms(up->gpios); | |
| 1622 | − | |
| 1623 | 1621 | up->ier &= ~UART_IER_MSI; |
| 1624 | 1622 | serial_port_out(port, UART_IER, up->ier); |
| 1625 | 1623 | } |
| @@ -1632,8 +1630,6 @@ static void serial8250_enable_ms(struct uart_port *port) · 6 unmodified lines | ||
| 1632 | 1630 | if (up->bugs & UART_BUG_NOMSR) |
| 1633 | 1631 | return; |
| 1634 | 1632 | |
| 1635 | − mctrl_gpio_enable_ms(up->gpios); | |
| 1636 | − | |
| 1637 | 1633 | up->ier |= UART_IER_MSI; |
| 1638 | 1634 | |
| 1639 | 1635 | serial8250_rpm_get(up); |
| @@ -1917,8 +1913,7 @@ unsigned int serial8250_do_get_mctrl(struct uart_port *port) · 277 unmodified lines | ||
| 1917 | 1913 | ret |= TIOCM_DSR; |
| 1918 | 1914 | if (status & UART_MSR_CTS) |
| 1919 | 1915 | ret |= TIOCM_CTS; |
| 1920 | − | |
| 1921 | − return mctrl_gpio_get(up->gpios, &ret); | |
| 1916 | + return ret; | |
| 1922 | 1917 | } |
| 1923 | 1918 | EXPORT_SYMBOL_GPL(serial8250_do_get_mctrl); |
| 1924 | 1919 | |
| @@ -6,7 +6,6 @@ · 5 unmodified lines | ||
| 6 | 6 | config SERIAL_8250 |
| 7 | 7 | tristate "8250/16550 and compatible serial support" |
| 8 | 8 | select SERIAL_CORE |
| 9 | − select SERIAL_MCTRL_GPIO if GPIOLIB | |
| 10 | 9 | ---help--- |
| 11 | 10 | This selects whether you want to include the driver for the standard |
| 12 | 11 | serial ports. The standard answer is Y. People who might say N |
| @@ -111,7 +111,6 @@ struct uart_8250_port { · 110 unmodified lines | ||
| 111 | 111 | * if no_console_suspend |
| 112 | 112 | */ |
| 113 | 113 | unsigned char probe; |
| 114 | − struct mctrl_gpios *gpios; | |
| 115 | 114 | #define UART_PROBE_RSA (1 << 0) |
| 116 | 115 | |
| 117 | 116 | /* |