Commit a22e48cf authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull tty/serial updates from Greg KH:
 "Here is the big tty/serial driver update for 4.18-rc1.

  There's nothing major here, just lots of serial driver updates. Full
  details are in the shortlog, nothing anything specific to call out
  here.

  All have been in linux-next for a while with no reported issues"

* tag 'tty-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (55 commits)
  vt: Perform safe console erase only once
  serial: imx: disable UCR4_OREN on shutdown
  serial: imx: drop CTS/RTS handling from shutdown
  tty: fix typo in ASYNCB_FOURPORT comment
  serial: samsung: check DMA engine capabilities before using DMA mode
  tty: Fix data race in tty_insert_flip_string_fixed_flag
  tty: serial: msm_geni_serial: Fix TX infinite loop
  serial: 8250_dw: Fix runtime PM handling
  serial: 8250: omap: Fix idling of clocks for unused uarts
  tty: serial: drop ATH79 specific SoC symbols
  serial: 8250: Add missing rxtrig_bytes on Altera 16550 UART
  serial/aspeed-vuart: fix a couple mod_timer() calls
  serial: sh-sci: Use spin_{try}lock_irqsave instead of open coding version
  serial: 8250_of: Add IO space support
  tty/serial: atmel: use port->name as name in request_irq()
  serial: imx: dma_unmap_sg buffers on shutdown
  serial: imx: cleanup imx_uart_disable_dma()
  tty: serial: qcom_geni_serial: Add early console support
  tty: serial: qcom_geni_serial: Return IRQ_NONE for spurious interrupts
  tty: serial: qcom_geni_serial: Use iowrite32_rep to write to FIFO
  ...
parents ec064d3c 4b4ecd9c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1020,6 +1020,12 @@
			address. The serial port must already be setup
			and configured. Options are not yet supported.

		qcom_geni,<addr>
			Start an early, polled-mode console on a Qualcomm
			Generic Interface (GENI) based serial port at the
			specified address. The serial port must already be
			setup and configured. Options are not yet supported.

	earlyprintk=	[X86,SH,ARM,M68k,S390]
			earlyprintk=vga
			earlyprintk=efi
+2 −2
Original line number Diff line number Diff line
@@ -163,7 +163,7 @@
			};

			uart0: serial@12000 {
				compatible = "snps,dw-apb-uart";
				compatible = "marvell,armada-38x-uart";
				reg = <0x12000 0x100>;
				reg-shift = <2>;
				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
@@ -173,7 +173,7 @@
			};

			uart1: serial@12100 {
				compatible = "snps,dw-apb-uart";
				compatible = "marvell,armada-38x-uart";
				reg = <0x12100 0x100>;
				reg-shift = <2>;
				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+1 −1
Original line number Diff line number Diff line
@@ -416,7 +416,7 @@ void ipwireless_network_packet_received(struct ipw_network *network,
struct ipw_network *ipwireless_network_create(struct ipw_hardware *hw)
{
	struct ipw_network *network =
		kzalloc(sizeof(struct ipw_network), GFP_ATOMIC);
		kzalloc(sizeof(struct ipw_network), GFP_KERNEL);

	if (!network)
		return NULL;
+1 −1
Original line number Diff line number Diff line
@@ -2675,7 +2675,7 @@ static inline void muxnet_put(struct gsm_mux_net *mux_net)
	kref_put(&mux_net->ref, net_free);
}

static int gsm_mux_net_start_xmit(struct sk_buff *skb,
static netdev_tx_t gsm_mux_net_start_xmit(struct sk_buff *skb,
				      struct net_device *net)
{
	struct gsm_mux_net *mux_net = netdev_priv(net);
+52 −52
Original line number Diff line number Diff line
@@ -76,10 +76,10 @@ do { \
	do {								\
		char tbuf[TMP_BUF_MAX] = {0};				\
		if (len__ > 1) {					\
	snprintf(tbuf, len__ > TMP_BUF_MAX ? TMP_BUF_MAX : len__, "%s", buf__);\
	if (tbuf[len__-2] == '\r') {\
		tbuf[len__-2] = 'r';\
	} \
			u32 data_len = min_t(u32, len__, TMP_BUF_MAX);	\
			strscpy(tbuf, buf__, data_len);			\
			if (tbuf[data_len - 2] == '\r')			\
				tbuf[data_len - 2] = 'r';		\
			DBG1("SENDING: '%s' (%d+n)", tbuf, len__);	\
		} else {						\
			DBG1("SENDING: '%s' (%d)", tbuf, len__);	\
@@ -155,7 +155,7 @@ enum card_type {

/* Initialization states a card can be in */
enum card_state {
	NOZOMI_STATE_UKNOWN	= 0,
	NOZOMI_STATE_UNKNOWN	= 0,
	NOZOMI_STATE_ENABLED	= 1,	/* pci device enabled */
	NOZOMI_STATE_ALLOCATED	= 2,	/* config setup done */
	NOZOMI_STATE_READY	= 3,	/* flowcontrols received */
@@ -1686,12 +1686,12 @@ static int ntty_tiocmget(struct tty_struct *tty)

	/* Note: these could change under us but it is not clear this
	   matters if so */
	return	(ctrl_ul->RTS ? TIOCM_RTS : 0) |
		(ctrl_ul->DTR ? TIOCM_DTR : 0) |
		(ctrl_dl->DCD ? TIOCM_CAR : 0) |
		(ctrl_dl->RI  ? TIOCM_RNG : 0) |
		(ctrl_dl->DSR ? TIOCM_DSR : 0) |
		(ctrl_dl->CTS ? TIOCM_CTS : 0);
	return (ctrl_ul->RTS ? TIOCM_RTS : 0)
		| (ctrl_ul->DTR ? TIOCM_DTR : 0)
		| (ctrl_dl->DCD ? TIOCM_CAR : 0)
		| (ctrl_dl->RI  ? TIOCM_RNG : 0)
		| (ctrl_dl->DSR ? TIOCM_DSR : 0)
		| (ctrl_dl->CTS ? TIOCM_CTS : 0);
}

/* Sets io controls parameters */
@@ -1722,10 +1722,10 @@ static int ntty_cflags_changed(struct port *port, unsigned long flags,
	const struct async_icount cnow = port->tty_icount;
	int ret;

	ret =	((flags & TIOCM_RNG) && (cnow.rng != cprev->rng)) ||
		((flags & TIOCM_DSR) && (cnow.dsr != cprev->dsr)) ||
		((flags & TIOCM_CD)  && (cnow.dcd != cprev->dcd)) ||
		((flags & TIOCM_CTS) && (cnow.cts != cprev->cts));
	ret = ((flags & TIOCM_RNG) && (cnow.rng != cprev->rng))
		|| ((flags & TIOCM_DSR) && (cnow.dsr != cprev->dsr))
		|| ((flags & TIOCM_CD)  && (cnow.dcd != cprev->dcd))
		|| ((flags & TIOCM_CTS) && (cnow.cts != cprev->cts));

	*cprev = cnow;

Loading