History

Merge tag 'tty-4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty

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

Linus Torvalds committed 10 years ago

Commit 39da9792 parents 70dad49 c8d192410 files · +159 −90Browse files

Unified · Split

10 files
  1. Documentation/devicetree/bindings/serial/8250.txt +0 −19
  2. drivers/tty/serial/8250/8250.h +1 −34
  3. drivers/tty/serial/8250/8250_core.c +0 −9
  4. drivers/tty/serial/8250/8250_fintek.c +2 −2
  5. drivers/tty/serial/8250/8250_mid.c +3 −0
  6. drivers/tty/serial/8250/8250_omap.c +13 −18
  7. drivers/tty/serial/8250/8250_pci.c +139 −0
  8. drivers/tty/serial/8250/8250_port.c +1 −6
  9. drivers/tty/serial/8250/Kconfig +0 −1
  10. include/linux/serial_8250.h +0 −1
Documentation/devicetree/bindings/serial/8250.txt+0−19
@@ -42,9 +42,6 @@ Optional properties: · 41 unmodified lines
4242 - auto-flow-control: one way to enable automatic flow control support. The
4343 driver is allowed to detect support for the capability even without this
4444 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.
4845
4946 Note:
5047 * fsl,ns16550:
@@ -66,19 +63,3 @@ Example: · 15 unmodified lines
6663 interrupts = <10>;
6764 reg-shift = <2>;
6865 };
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− };
drivers/tty/serial/8250/8250.h+1−34
@@ -15,8 +15,6 @@ · 14 unmodified lines
1515 #include <linux/serial_reg.h>
1616 #include <linux/dmaengine.h>
1717
18−#include "../serial_mctrl_gpio.h"
19−
2018 struct uart_8250_dma {
2119 int (*tx_dma)(struct uart_8250_port *p);
2220 int (*rx_dma)(struct uart_8250_port *p);
@@ -133,43 +131,12 @@ void serial8250_em485_destroy(struct uart_8250_port *p); · 110 unmodified lines
133131
134132 static inline void serial8250_out_MCR(struct uart_8250_port *up, int value)
135133 {
136− int mctrl_gpio = 0;
137−
138134 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);
146135 }
147136
148137 static inline int serial8250_in_MCR(struct uart_8250_port *up)
149138 {
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);
173140 }
174141
175142 #if defined(__alpha__) && !defined(CONFIG_PCI)
drivers/tty/serial/8250/8250_core.c+0−9
@@ -974,8 +974,6 @@ int serial8250_register_8250_port(struct uart_8250_port *up) · 973 unmodified lines
974974
975975 uart = serial8250_find_match_or_unused(&up->port);
976976 if (uart && uart->port.type != PORT_8250_CIR) {
977− struct mctrl_gpios *gpios;
978−
979977 if (uart->port.dev)
980978 uart_remove_one_port(&serial8250_reg, &uart->port);
981979
@@ -1013,13 +1011,6 @@ int serial8250_register_8250_port(struct uart_8250_port *up) · 31 unmodified lines
10131011 if (up->port.flags & UPF_FIXED_TYPE)
10141012 uart->port.type = up->port.type;
10151013
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−
10231014 serial8250_set_defaults(uart);
10241015
10251016 /* Possibly override default I/O functions. */
drivers/tty/serial/8250/8250_fintek.c+2−2
@@ -31,7 +31,7 @@ · 30 unmodified lines
3131 #define IO_ADDR2 0x60
3232 #define LDN 0x7
3333
34−#define IRQ_MODE 0x70
34+#define FINTEK_IRQ_MODE 0x70
3535 #define IRQ_SHARE BIT(4)
3636 #define IRQ_MODE_MASK (BIT(6) | BIT(5))
3737 #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
195195 outb(LDN, pdata->base_port + ADDR_PORT);
196196 outb(pdata->index, pdata->base_port + DATA_PORT);
197197
198− outb(IRQ_MODE, pdata->base_port + ADDR_PORT);
198+ outb(FINTEK_IRQ_MODE, pdata->base_port + ADDR_PORT);
199199 tmp = inb(pdata->base_port + DATA_PORT);
200200
201201 tmp &= ~IRQ_MODE_MASK;
drivers/tty/serial/8250/8250_mid.c+3−0
@@ -168,6 +168,9 @@ static void mid8250_set_termios(struct uart_port *p, · 167 unmodified lines
168168 unsigned long w = BIT(24) - 1;
169169 unsigned long mul, div;
170170
171+ /* Gracefully handle the B0 case: fall back to B9600 */
172+ fuart = fuart ? fuart : 9600 * 16;
173+
171174 if (mid->board->freq < fuart) {
172175 /* Find prescaler value that satisfies Fuart < Fref */
173176 if (mid->board->freq > baud)
drivers/tty/serial/8250/8250_omap.c+13−18
@@ -134,21 +134,18 @@ static void omap8250_set_mctrl(struct uart_port *port, unsigned int mctrl) · 133 unmodified lines
134134
135135 serial8250_do_set_mctrl(port, mctrl);
136136
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);
152149 }
153150
154151 /*
@@ -449,9 +446,7 @@ static void omap_8250_set_termios(struct uart_port *port, · 294 unmodified lines
449446 priv->efr = 0;
450447 up->port.status &= ~(UPSTAT_AUTOCTS | UPSTAT_AUTORTS | UPSTAT_AUTOXOFF);
451448
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) {
455450 /* Enable AUTOCTS (autoRTS is enabled when RTS is raised) */
456451 up->port.status |= UPSTAT_AUTOCTS | UPSTAT_AUTORTS;
457452 priv->efr |= UART_EFR_CTS;
drivers/tty/serial/8250/8250_pci.c+139−0
@@ -1950,6 +1950,43 @@ pci_wch_ch38x_setup(struct serial_private *priv, · 1949 unmodified lines
19501950 #define PCI_DEVICE_ID_PERICOM_PI7C9X7954 0x7954
19511951 #define PCI_DEVICE_ID_PERICOM_PI7C9X7958 0x7958
19521952
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+
19531990 /* Unknown vendors/cards - this should not be in linux/pci_ids.h */
19541991 #define PCI_SUBDEVICE_ID_UNKNOWN_0x1584 0x1584
19551992 #define PCI_SUBDEVICE_ID_UNKNOWN_0x1588 0x1588
@@ -5112,6 +5149,108 @@ static struct pci_device_id serial_pci_tbl[] = { · 3156 unmodified lines
51125149 PCI_ANY_ID, PCI_ANY_ID,
51135150 0,
51145151 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 },
51155254 /*
51165255 * Topic TP560 Data/Fax/Voice 56k modem (reported by Evan Clarke)
51175256 */
drivers/tty/serial/8250/8250_port.c+1−6
@@ -1618,8 +1618,6 @@ static void serial8250_disable_ms(struct uart_port *port) · 1617 unmodified lines
16181618 if (up->bugs & UART_BUG_NOMSR)
16191619 return;
16201620
1621− mctrl_gpio_disable_ms(up->gpios);
1622−
16231621 up->ier &= ~UART_IER_MSI;
16241622 serial_port_out(port, UART_IER, up->ier);
16251623 }
@@ -1632,8 +1630,6 @@ static void serial8250_enable_ms(struct uart_port *port) · 6 unmodified lines
16321630 if (up->bugs & UART_BUG_NOMSR)
16331631 return;
16341632
1635− mctrl_gpio_enable_ms(up->gpios);
1636−
16371633 up->ier |= UART_IER_MSI;
16381634
16391635 serial8250_rpm_get(up);
@@ -1917,8 +1913,7 @@ unsigned int serial8250_do_get_mctrl(struct uart_port *port) · 277 unmodified lines
19171913 ret |= TIOCM_DSR;
19181914 if (status & UART_MSR_CTS)
19191915 ret |= TIOCM_CTS;
1920−
1921− return mctrl_gpio_get(up->gpios, &ret);
1916+ return ret;
19221917 }
19231918 EXPORT_SYMBOL_GPL(serial8250_do_get_mctrl);
19241919
drivers/tty/serial/8250/Kconfig+0−1
@@ -6,7 +6,6 @@ · 5 unmodified lines
66 config SERIAL_8250
77 tristate "8250/16550 and compatible serial support"
88 select SERIAL_CORE
9− select SERIAL_MCTRL_GPIO if GPIOLIB
109 ---help---
1110 This selects whether you want to include the driver for the standard
1211 serial ports. The standard answer is Y. People who might say N
include/linux/serial_8250.h+0−1
@@ -111,7 +111,6 @@ struct uart_8250_port { · 110 unmodified lines
111111 * if no_console_suspend
112112 */
113113 unsigned char probe;
114− struct mctrl_gpios *gpios;
115114 #define UART_PROBE_RSA (1 << 0)
116115
117116 /*