From: Niklas Schnelle <schnelle@linux.ibm.com>
To: Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>
Cc: "Bjorn Helgaas" <bhelgaas@google.com>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Mauro Carvalho Chehab" <mchehab@kernel.org>,
"Alan Stern" <stern@rowland.harvard.edu>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Geert Uytterhoeven" <geert@linux-m68k.org>,
"Paul Walmsley" <paul.walmsley@sifive.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
linux-pci@vger.kernel.org, "Arnd Bergmann" <arnd@kernel.org>,
linux-serial@vger.kernel.org
Subject: [PATCH v3 33/38] tty: serial: handle HAS_IOPORT dependencies
Date: Tue, 14 Mar 2023 13:12:11 +0100 [thread overview]
Message-ID: <20230314121216.413434-34-schnelle@linux.ibm.com> (raw)
In-Reply-To: <20230314121216.413434-1-schnelle@linux.ibm.com>
In a future patch HAS_IOPORT=n will result in inb()/outb() and friends
not being declared. We thus need to add HAS_IOPORT as dependency for
those drivers using them unconditionally. For 8250 based drivers some
support MMIO only use so fence only the parts requiring I/O ports.
Co-developed-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
---
drivers/tty/Kconfig | 2 +-
drivers/tty/serial/8250/8250_early.c | 4 +++
drivers/tty/serial/8250/8250_pci.c | 14 +++++++++
drivers/tty/serial/8250/8250_port.c | 44 +++++++++++++++++++++++-----
drivers/tty/serial/8250/Kconfig | 5 ++--
drivers/tty/serial/Kconfig | 2 +-
6 files changed, 59 insertions(+), 12 deletions(-)
diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
index d35fc068da74..20ab18998420 100644
--- a/drivers/tty/Kconfig
+++ b/drivers/tty/Kconfig
@@ -222,7 +222,7 @@ config MOXA_INTELLIO
config MOXA_SMARTIO
tristate "Moxa SmartIO support v. 2.0"
- depends on SERIAL_NONSTANDARD && PCI
+ depends on SERIAL_NONSTANDARD && PCI && HAS_IOPORT
help
Say Y here if you have a Moxa SmartIO multiport serial card and/or
want to help develop a new version of this driver.
diff --git a/drivers/tty/serial/8250/8250_early.c b/drivers/tty/serial/8250/8250_early.c
index 0ebde0ab8167..4192b1ae2736 100644
--- a/drivers/tty/serial/8250/8250_early.c
+++ b/drivers/tty/serial/8250/8250_early.c
@@ -48,8 +48,10 @@ static unsigned int serial8250_early_in(struct uart_port *port, int offset)
return readl(port->membase + offset);
case UPIO_MEM32BE:
return ioread32be(port->membase + offset);
+#ifdef CONFIG_HAS_IOPORT
case UPIO_PORT:
return inb(port->iobase + offset);
+#endif
case UPIO_AU:
return port->serial_in(port, reg_offset);
default:
@@ -75,9 +77,11 @@ static void serial8250_early_out(struct uart_port *port, int offset, int value)
case UPIO_MEM32BE:
iowrite32be(value, port->membase + offset);
break;
+#ifdef CONFIG_HAS_IOPORT
case UPIO_PORT:
outb(value, port->iobase + offset);
break;
+#endif
case UPIO_AU:
port->serial_out(port, reg_offset, value);
break;
diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index c55be6fda0ca..70bd84a05da7 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -847,6 +847,7 @@ static int pci_netmos_init(struct pci_dev *dev)
return num_serial;
}
+#ifdef CONFIG_HAS_IOPORT
/*
* These chips are available with optionally one parallel port and up to
* two serial ports. Unfortunately they all have the same product id.
@@ -973,6 +974,7 @@ static void pci_ite887x_exit(struct pci_dev *dev)
ioport &= 0xffff;
release_region(ioport, ITE_887x_IOSIZE);
}
+#endif /* CONFIG_HAS_IOPORT */
/*
* Oxford Semiconductor Inc.
@@ -1255,6 +1257,7 @@ static int pci_asix_setup(struct serial_private *priv,
#define QOPR_CLOCK_X8 0x0003
#define QOPR_CLOCK_RATE_MASK 0x0003
+#ifdef CONFIG_HAS_IOPORT
/* Quatech devices have their own extra interface features */
static struct pci_device_id quatech_cards[] = {
{ PCI_DEVICE_DATA(QUATECH, QSC100, 1) },
@@ -1474,6 +1477,7 @@ static int pci_quatech_setup(struct serial_private *priv,
pci_warn(priv->dev, "software control of RS422 features not currently supported.\n");
return pci_default_setup(priv, board, port, idx);
}
+#endif /* CONFIG_HAS_IOPORT */
static int pci_default_setup(struct serial_private *priv,
const struct pciserial_board *board,
@@ -1753,6 +1757,7 @@ static int skip_tx_en_setup(struct serial_private *priv,
return pci_default_setup(priv, board, port, idx);
}
+#ifdef CONFIG_HAS_IOPORT
static void kt_handle_break(struct uart_port *p)
{
struct uart_8250_port *up = up_to_u8250p(p);
@@ -1796,6 +1801,7 @@ static int kt_serial_setup(struct serial_private *priv,
port->port.handle_break = kt_handle_break;
return skip_tx_en_setup(priv, board, port, idx);
}
+#endif /* CONFIG_HAS_IOPORT */
static int pci_eg20t_init(struct pci_dev *dev)
{
@@ -1840,6 +1846,7 @@ pci_wch_ch38x_setup(struct serial_private *priv,
#define CH384_XINT_ENABLE_REG 0xEB
#define CH384_XINT_ENABLE_BIT 0x02
+#ifdef CONFIG_HAS_IOPORT
static int pci_wch_ch38x_init(struct pci_dev *dev)
{
int max_port;
@@ -1867,6 +1874,7 @@ static void pci_wch_ch38x_exit(struct pci_dev *dev)
iobase = pci_resource_start(dev, 0);
outb(0x0, iobase + CH384_XINT_ENABLE_REG);
}
+#endif /* CONFIG_HAS_IOPORT */
static int
@@ -2070,6 +2078,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
.subdevice = PCI_ANY_ID,
.setup = ce4100_serial_setup,
},
+#ifdef CONFIG_HAS_IOPORT
{
.vendor = PCI_VENDOR_ID_INTEL,
.device = PCI_DEVICE_ID_INTEL_PATSBURG_KT,
@@ -2089,6 +2098,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
.setup = pci_default_setup,
.exit = pci_ite887x_exit,
},
+#endif
/*
* National Instruments
*/
@@ -2210,6 +2220,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
.exit = pci_ni8430_exit,
},
/* Quatech */
+#ifdef CONFIG_HAS_IOPORT
{
.vendor = PCI_VENDOR_ID_QUATECH,
.device = PCI_ANY_ID,
@@ -2218,6 +2229,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
.init = pci_quatech_init,
.setup = pci_quatech_setup,
},
+#endif
/*
* Panacom
*/
@@ -2588,6 +2600,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
.subdevice = PCI_ANY_ID,
.setup = pci_wch_ch38x_setup,
},
+#ifdef CONFIG_HAS_IOPORT
/* WCH CH384 8S card (16850 clone) */
{
.vendor = PCIE_VENDOR_ID_WCH,
@@ -2598,6 +2611,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
.exit = pci_wch_ch38x_exit,
.setup = pci_wch_ch38x_setup,
},
+#endif
/*
* ASIX devices with FIFO bug
*/
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
index fa43df05342b..f57441e31c41 100644
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
@@ -400,6 +400,7 @@ static void au_serial_dl_write(struct uart_8250_port *up, int value)
#endif
+#ifdef CONFIG_HAS_IOPORT
static unsigned int hub6_serial_in(struct uart_port *p, int offset)
{
offset = offset << p->regshift;
@@ -413,6 +414,7 @@ static void hub6_serial_out(struct uart_port *p, int offset, int value)
outb(p->hub6 - 1 + offset, p->iobase);
outb(value, p->iobase + 1);
}
+#endif /* CONFIG_HAS_IOPORT */
static unsigned int mem_serial_in(struct uart_port *p, int offset)
{
@@ -462,6 +464,7 @@ static unsigned int mem32be_serial_in(struct uart_port *p, int offset)
return ioread32be(p->membase + offset);
}
+#ifdef CONFIG_HAS_IOPORT
static unsigned int io_serial_in(struct uart_port *p, int offset)
{
offset = offset << p->regshift;
@@ -473,6 +476,24 @@ static void io_serial_out(struct uart_port *p, int offset, int value)
offset = offset << p->regshift;
outb(value, p->iobase + offset);
}
+#endif
+static unsigned int no_serial_in(struct uart_port *p, int offset)
+{
+ return (unsigned int)-1;
+}
+
+static void no_serial_out(struct uart_port *p, int offset, int value)
+{
+}
+
+#ifdef CONFIG_HAS_IOPORT
+static inline bool is_upf_fourport(struct uart_port *port)
+{
+ return port->flags & UPF_FOURPORT;
+}
+#else
+#define is_upf_fourport(x) false
+#endif
static int serial8250_default_handle_irq(struct uart_port *port);
@@ -484,10 +505,12 @@ static void set_io_from_upio(struct uart_port *p)
up->dl_write = default_serial_dl_write;
switch (p->iotype) {
+#ifdef CONFIG_HAS_IOPORT
case UPIO_HUB6:
p->serial_in = hub6_serial_in;
p->serial_out = hub6_serial_out;
break;
+#endif
case UPIO_MEM:
p->serial_in = mem_serial_in;
@@ -518,10 +541,17 @@ static void set_io_from_upio(struct uart_port *p)
break;
#endif
- default:
+#ifdef CONFIG_HAS_IOPORT
+ case UPIO_PORT:
p->serial_in = io_serial_in;
p->serial_out = io_serial_out;
break;
+#endif
+
+ default:
+ WARN(1, "Unsupported UART type %x\n", p->iotype);
+ p->serial_in = no_serial_in;
+ p->serial_out = no_serial_out;
}
/* Remember loaded iotype */
up->cur_iotype = p->iotype;
@@ -1378,7 +1408,7 @@ static void autoconfig_irq(struct uart_8250_port *up)
unsigned long irqs;
int irq;
- if (port->flags & UPF_FOURPORT) {
+ if (is_upf_fourport(port)) {
ICP = (port->iobase & 0xfe0) | 0x1f;
save_ICP = inb_p(ICP);
outb_p(0x80, ICP);
@@ -1397,7 +1427,7 @@ static void autoconfig_irq(struct uart_8250_port *up)
irqs = probe_irq_on();
serial8250_out_MCR(up, 0);
udelay(10);
- if (port->flags & UPF_FOURPORT) {
+ if (is_upf_fourport(port)) {
serial8250_out_MCR(up, UART_MCR_DTR | UART_MCR_RTS);
} else {
serial8250_out_MCR(up,
@@ -1415,7 +1445,7 @@ static void autoconfig_irq(struct uart_8250_port *up)
serial8250_out_MCR(up, save_mcr);
serial_out(up, UART_IER, save_ier);
- if (port->flags & UPF_FOURPORT)
+ if (is_upf_fourport(port))
outb_p(save_ICP, ICP);
if (uart_console(port))
@@ -2365,7 +2395,7 @@ int serial8250_do_startup(struct uart_port *port)
serial_port_out(port, UART_LCR, UART_LCR_WLEN8);
spin_lock_irqsave(&port->lock, flags);
- if (up->port.flags & UPF_FOURPORT) {
+ if (is_upf_fourport(&up->port)) {
if (!up->port.irq)
up->port.mctrl |= TIOCM_OUT1;
} else
@@ -2447,7 +2477,7 @@ int serial8250_do_startup(struct uart_port *port)
*/
up->ier = UART_IER_RLSI | UART_IER_RDI;
- if (port->flags & UPF_FOURPORT) {
+ if (is_upf_fourport(port)) {
unsigned int icp;
/*
* Enable interrupts on the AST Fourport board
@@ -2490,7 +2520,7 @@ void serial8250_do_shutdown(struct uart_port *port)
serial8250_release_dma(up);
spin_lock_irqsave(&port->lock, flags);
- if (port->flags & UPF_FOURPORT) {
+ if (is_upf_fourport(port)) {
/* reset interrupts on the AST Fourport board */
inb((port->iobase & 0xfe0) | 0x1f);
port->mctrl |= TIOCM_OUT1;
diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
index 978dc196c29b..c80a45e8bd03 100644
--- a/drivers/tty/serial/8250/Kconfig
+++ b/drivers/tty/serial/8250/Kconfig
@@ -6,7 +6,6 @@
config SERIAL_8250
tristate "8250/16550 and compatible serial support"
- depends on !S390
select SERIAL_CORE
select SERIAL_MCTRL_GPIO if GPIOLIB
help
@@ -72,7 +71,7 @@ config SERIAL_8250_16550A_VARIANTS
config SERIAL_8250_FINTEK
bool "Support for Fintek F81216A LPC to 4 UART RS485 API"
- depends on SERIAL_8250
+ depends on SERIAL_8250 && HAS_IOPORT
help
Selecting this option will add support for the RS485 capabilities
of the Fintek F81216A LPC to 4 UART.
@@ -160,7 +159,7 @@ config SERIAL_8250_HP300
config SERIAL_8250_CS
tristate "8250/16550 PCMCIA device support"
- depends on PCMCIA && SERIAL_8250
+ depends on PCMCIA && SERIAL_8250 && HAS_IOPORT
help
Say Y here to enable support for 16-bit PCMCIA serial devices,
including serial port cards, modems, and the modem functions of
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 625358f44419..c3d69074b6d6 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -878,7 +878,7 @@ config SERIAL_TXX9_STDSERIAL
config SERIAL_JSM
tristate "Digi International NEO and Classic PCI Support"
- depends on PCI
+ depends on PCI && HAS_IOPORT
select SERIAL_CORE
help
This is a driver for Digi International's Neo and Classic series
--
2.37.2
next prev parent reply other threads:[~2023-03-14 12:16 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-14 12:11 [PATCH v3 00/38] Kconfig: Introduce HAS_IOPORT config option Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary Niklas Schnelle
2023-03-14 12:37 ` Johannes Berg
2023-03-23 13:23 ` Niklas Schnelle
2023-03-14 12:48 ` Geert Uytterhoeven
2023-03-14 13:29 ` Arnd Bergmann
2023-03-14 16:11 ` Niklas Schnelle
2023-03-14 16:37 ` Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 02/38] ata: add HAS_IOPORT dependencies Niklas Schnelle
2023-03-15 1:23 ` Damien Le Moal
2023-03-15 6:46 ` Arnd Bergmann
2023-03-15 7:15 ` Damien Le Moal
2023-03-15 7:15 ` Damien Le Moal
2023-03-15 8:39 ` Geert Uytterhoeven
2023-03-15 9:12 ` Damien Le Moal
2023-03-15 11:36 ` Geert Uytterhoeven
2023-03-15 23:57 ` Damien Le Moal
2023-03-16 15:21 ` Arnd Bergmann
2023-04-28 13:32 ` Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 03/38] char: impi, tpm: depend on HAS_IOPORT Niklas Schnelle
2023-03-14 12:20 ` Jarkko Sakkinen
2023-03-14 14:01 ` Arnd Bergmann
2023-03-14 13:52 ` Corey Minyard
2023-03-14 14:17 ` Geert Uytterhoeven
2023-03-14 15:08 ` Arnd Bergmann
2023-03-21 14:33 ` Jason Gunthorpe
2023-03-14 12:11 ` [PATCH v3 04/38] comedi: add HAS_IOPORT dependencies Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 05/38] counter: " Niklas Schnelle
2023-03-14 12:41 ` William Breathitt Gray
2023-04-28 13:27 ` Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 06/38] /dev/port: don't compile file operations without CONFIG_DEVPORT Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 07/38] drm: handle HAS_IOPORT dependencies Niklas Schnelle
2023-03-15 11:54 ` Jani Nikula
2023-03-23 15:05 ` Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 08/38] firmware: dmi-sysfs: handle HAS_IOPORT=n Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 09/38] gpio: add HAS_IOPORT dependencies Niklas Schnelle
2023-03-15 8:42 ` Linus Walleij
2023-04-28 14:41 ` Niklas Schnelle
2023-05-01 12:29 ` Linus Walleij
2023-03-14 12:11 ` [PATCH v3 10/38] hwmon: " Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 11/38] i2c: " Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 12/38] iio: ad7606: Kconfig: " Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 13/38] Input: " Niklas Schnelle
2023-03-15 8:22 ` Geert Uytterhoeven
2023-04-28 14:50 ` Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 14/38] Input: gameport: add ISA and " Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 15/38] leds: add " Niklas Schnelle
2023-03-16 16:14 ` Lee Jones
2023-03-23 12:42 ` Niklas Schnelle
2023-03-23 13:32 ` Arnd Bergmann
2023-03-23 14:02 ` Niklas Schnelle
2023-03-23 14:05 ` Arnd Bergmann
2023-03-23 16:11 ` Geert Uytterhoeven
2023-03-23 16:25 ` Arnd Bergmann
2023-03-23 14:53 ` Lee Jones
2023-03-23 15:33 ` Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 16/38] media: " Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 17/38] misc: " Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 18/38] mISDN: " Niklas Schnelle
2023-03-15 5:41 ` Jakub Kicinski
2023-03-14 12:11 ` [PATCH v3 19/38] mpt fusion: " Niklas Schnelle
2023-03-14 12:11 ` [PATCH v3 20/38] net: handle " Niklas Schnelle
2023-03-15 5:41 ` Jakub Kicinski
2023-03-15 9:47 ` Maciej W. Rozycki
2023-03-14 12:11 ` [PATCH v3 21/38] parport: PC style parport depends on HAS_IOPORT Niklas Schnelle
2023-03-14 14:12 ` Arnd Bergmann
2023-05-02 13:40 ` Niklas Schnelle
2023-05-02 15:30 ` Bjorn Helgaas
2023-03-14 12:12 ` [PATCH v3 22/38] PCI: Make quirk using inw() depend " Niklas Schnelle
2023-03-14 12:12 ` [PATCH v3 23/38] PCI/sysfs: Make I/O resource " Niklas Schnelle
2023-03-14 16:05 ` Bjorn Helgaas
2023-03-14 12:12 ` [PATCH v3 24/38] pcmcia: add HAS_IOPORT dependencies Niklas Schnelle
2023-03-14 12:12 ` [PATCH v3 25/38] platform: " Niklas Schnelle
2023-03-15 2:21 ` Tzung-Bi Shih
2023-03-14 12:12 ` [PATCH v3 26/38] pnp: " Niklas Schnelle
2023-03-20 17:37 ` Rafael J. Wysocki
2023-03-21 13:56 ` Rafael J. Wysocki
2023-03-23 12:55 ` Niklas Schnelle
2023-03-24 18:45 ` Wysocki, Rafael J
2023-03-14 12:12 ` [PATCH v3 27/38] power: " Niklas Schnelle
2023-03-29 23:01 ` Sebastian Reichel
2023-03-14 12:12 ` [PATCH v3 28/38] rtc: " Niklas Schnelle
2023-03-14 12:52 ` Alexandre Belloni
2023-05-08 15:36 ` Niklas Schnelle
2023-05-08 20:01 ` Arnd Bergmann
2023-05-09 6:38 ` Geert Uytterhoeven
2023-05-09 8:22 ` Arnd Bergmann
2023-05-09 8:51 ` Geert Uytterhoeven
2023-05-09 9:46 ` Arnd Bergmann
2023-03-14 12:12 ` [PATCH v3 29/38] scsi: " Niklas Schnelle
2023-03-14 12:12 ` [PATCH v3 30/38] sound: " Niklas Schnelle
2023-03-14 12:33 ` Takashi Iwai
2023-05-08 16:41 ` Niklas Schnelle
2023-03-14 12:12 ` [PATCH v3 31/38] speakup: add HAS_IOPORT dependency for SPEAKUP_SERIALIO Niklas Schnelle
2023-03-14 12:12 ` [PATCH v3 32/38] staging: add HAS_IOPORT dependencies Niklas Schnelle
2023-03-14 12:12 ` Niklas Schnelle [this message]
2023-03-14 12:12 ` [PATCH v3 34/38] usb: handle " Niklas Schnelle
2023-03-14 14:56 ` Arnd Bergmann
2023-03-14 12:12 ` [PATCH v3 35/38] video: " Niklas Schnelle
2023-03-15 8:16 ` Geert Uytterhoeven
2023-03-15 10:19 ` Ville Syrjälä
2023-03-23 14:17 ` Niklas Schnelle
2023-03-23 16:08 ` Ville Syrjälä
2023-05-08 17:09 ` Niklas Schnelle
2023-03-14 12:12 ` [PATCH v3 36/38] watchdog: add " Niklas Schnelle
2023-03-14 14:21 ` Guenter Roeck
2023-03-14 12:12 ` [PATCH v3 37/38] wireless: " Niklas Schnelle
2023-03-15 5:26 ` Kalle Valo
2023-03-14 12:12 ` [PATCH v3 38/38] asm-generic/io.h: drop inb() etc for HAS_IOPORT=n Niklas Schnelle
2023-03-14 14:05 ` [PATCH v3 00/38] Kconfig: Introduce HAS_IOPORT config option Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230314121216.413434-34-schnelle@linux.ibm.com \
--to=schnelle@linux.ibm.com \
--cc=aou@eecs.berkeley.edu \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--cc=bhelgaas@google.com \
--cc=geert@linux-m68k.org \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=rafael@kernel.org \
--cc=stern@rowland.harvard.edu \
--cc=u.kleine-koenig@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).