linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init()
@ 2021-10-22 13:51 Andy Shevchenko
  2021-10-22 13:51 ` [PATCH v2 2/3] serial: 8250_pci: Get rid of redundant 'else' keyword Andy Shevchenko
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Andy Shevchenko @ 2021-10-22 13:51 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-serial, linux-kernel
  Cc: Jiri Slaby, Andy Shevchenko

The loop can be refactored by using ARRAY_SIZE() instead of NULL terminator.
This reduces code base and makes it easier to read and understand.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: fixed OOB access (Jiri, Dan), dropped irrelevant changes (Jiri, Joe)
 drivers/tty/serial/8250/8250_pci.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index 93159557a2fb..8a2f42507c18 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -897,18 +897,16 @@ static int pci_netmos_init(struct pci_dev *dev)
 /* enable IO_Space bit */
 #define ITE_887x_POSIO_ENABLE		(1 << 31)
 
+/* inta_addr are the configuration addresses of the ITE */
+static const short inta_addr[] = { 0x2a0, 0x2c0, 0x220, 0x240, 0x1e0, 0x200, 0x280 };
 static int pci_ite887x_init(struct pci_dev *dev)
 {
-	/* inta_addr are the configuration addresses of the ITE */
-	static const short inta_addr[] = { 0x2a0, 0x2c0, 0x220, 0x240, 0x1e0,
-							0x200, 0x280, 0 };
 	int ret, i, type;
 	struct resource *iobase = NULL;
 	u32 miscr, uartbar, ioport;
 
 	/* search for the base-ioport */
-	i = 0;
-	while (inta_addr[i] && iobase == NULL) {
+	for (i = 0; i < ARRAY_SIZE(inta_addr); i++) {
 		iobase = request_region(inta_addr[i], ITE_887x_IOSIZE,
 								"ite887x");
 		if (iobase != NULL) {
@@ -925,12 +923,10 @@ static int pci_ite887x_init(struct pci_dev *dev)
 				break;
 			}
 			release_region(iobase->start, ITE_887x_IOSIZE);
-			iobase = NULL;
 		}
-		i++;
 	}
 
-	if (!inta_addr[i]) {
+	if (i == ARRAY_SIZE(inta_addr)) {
 		dev_err(&dev->dev, "ite887x: could not find iobase\n");
 		return -ENODEV;
 	}
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 2/3] serial: 8250_pci: Get rid of redundant 'else' keyword
  2021-10-22 13:51 [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init() Andy Shevchenko
@ 2021-10-22 13:51 ` Andy Shevchenko
  2021-10-26  5:21   ` Jiri Slaby
  2021-10-22 13:51 ` [PATCH v2 3/3] serial: 8250_pci: Replace dev_*() by pci_*() macros Andy Shevchenko
  2021-10-26  5:26 ` [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init() Jiri Slaby
  2 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2021-10-22 13:51 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-serial, linux-kernel
  Cc: Jiri Slaby, Andy Shevchenko

The 'else' keyword is not needed when previous conditional branch returns
to the upper layer. Get rid of redundant 'else' keyword in such cases.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: avoided changes in Pericom code for now (it makes sense to split support
    to a separate driver)
 drivers/tty/serial/8250/8250_pci.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index 8a2f42507c18..463b2c71da6f 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -515,7 +515,7 @@ static int pci_siig_init(struct pci_dev *dev)
 
 	if (type == 0x1000)
 		return pci_siig10x_init(dev);
-	else if (type == 0x2000)
+	if (type == 0x2000)
 		return pci_siig20x_init(dev);
 
 	moan_device("Unknown SIIG card", dev);
@@ -792,9 +792,9 @@ static int pci_netmos_9900_setup(struct serial_private *priv,
 		bar = 3 * idx;
 
 		return setup_port(priv, port, bar, 0, board->reg_shift);
-	} else {
-		return pci_default_setup(priv, board, port, idx);
 	}
+
+	return pci_default_setup(priv, board, port, idx);
 }
 
 /* the 99xx series comes with a range of device IDs and a variety
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v2 3/3] serial: 8250_pci: Replace dev_*() by pci_*() macros
  2021-10-22 13:51 [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init() Andy Shevchenko
  2021-10-22 13:51 ` [PATCH v2 2/3] serial: 8250_pci: Get rid of redundant 'else' keyword Andy Shevchenko
@ 2021-10-22 13:51 ` Andy Shevchenko
  2021-10-26  5:20   ` Jiri Slaby
  2021-10-26  5:26 ` [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init() Jiri Slaby
  2 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2021-10-22 13:51 UTC (permalink / raw)
  To: Greg Kroah-Hartman, linux-serial, linux-kernel
  Cc: Jiri Slaby, Andy Shevchenko

PCI subsystem provides convenient shortcut macros for message printing.
Use those macros instead of dev_*().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: dropped unrelated change (Joe)
 drivers/tty/serial/8250/8250_pci.c | 52 +++++++++++++-----------------
 1 file changed, 22 insertions(+), 30 deletions(-)

diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index 463b2c71da6f..aea12263a1ff 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -75,13 +75,12 @@ static int pci_default_setup(struct serial_private*,
 
 static void moan_device(const char *str, struct pci_dev *dev)
 {
-	dev_err(&dev->dev,
-	       "%s: %s\n"
+	pci_err(dev, "%s\n"
 	       "Please send the output of lspci -vv, this\n"
 	       "message (0x%04x,0x%04x,0x%04x,0x%04x), the\n"
 	       "manufacturer and name of serial board or\n"
 	       "modem board to <linux-serial@vger.kernel.org>.\n",
-	       pci_name(dev), str, dev->vendor, dev->device,
+	       str, dev->vendor, dev->device,
 	       dev->subsystem_vendor, dev->subsystem_device);
 }
 
@@ -238,7 +237,7 @@ static int pci_inteli960ni_init(struct pci_dev *dev)
 	/* is firmware started? */
 	pci_read_config_dword(dev, 0x44, &oldval);
 	if (oldval == 0x00001000L) { /* RESET value */
-		dev_dbg(&dev->dev, "Local i960 firmware missing\n");
+		pci_dbg(dev, "Local i960 firmware missing\n");
 		return -ENODEV;
 	}
 	return 0;
@@ -588,9 +587,8 @@ static int pci_timedia_probe(struct pci_dev *dev)
 	 * (0,2,3,5,6: serial only -- 7,8,9: serial + parallel)
 	 */
 	if ((dev->subsystem_device & 0x00f0) >= 0x70) {
-		dev_info(&dev->dev,
-			"ignoring Timedia subdevice %04x for parport_serial\n",
-			dev->subsystem_device);
+		pci_info(dev, "ignoring Timedia subdevice %04x for parport_serial\n",
+			 dev->subsystem_device);
 		return -ENODEV;
 	}
 
@@ -827,8 +825,7 @@ static int pci_netmos_9900_numports(struct pci_dev *dev)
 		if (sub_serports > 0)
 			return sub_serports;
 
-		dev_err(&dev->dev,
-			"NetMos/Mostech serial driver ignoring port on ambiguous config.\n");
+		pci_err(dev, "NetMos/Mostech serial driver ignoring port on ambiguous config.\n");
 		return 0;
 	}
 
@@ -927,7 +924,7 @@ static int pci_ite887x_init(struct pci_dev *dev)
 	}
 
 	if (i == ARRAY_SIZE(inta_addr)) {
-		dev_err(&dev->dev, "ite887x: could not find iobase\n");
+		pci_err(dev, "could not find iobase\n");
 		return -ENODEV;
 	}
 
@@ -1022,9 +1019,7 @@ static int pci_endrun_init(struct pci_dev *dev)
 	/* EndRun device */
 	if (deviceID == 0x07000200) {
 		number_uarts = ioread8(p + 4);
-		dev_dbg(&dev->dev,
-			"%d ports detected on EndRun PCI Express device\n",
-			number_uarts);
+		pci_dbg(dev, "%d ports detected on EndRun PCI Express device\n", number_uarts);
 	}
 	pci_iounmap(dev, p);
 	return number_uarts;
@@ -1054,9 +1049,7 @@ static int pci_oxsemi_tornado_init(struct pci_dev *dev)
 	/* Tornado device */
 	if (deviceID == 0x07000200) {
 		number_uarts = ioread8(p + 4);
-		dev_dbg(&dev->dev,
-			"%d ports detected on Oxford PCI Express device\n",
-			number_uarts);
+		pci_dbg(dev, "%d ports detected on Oxford PCI Express device\n", number_uarts);
 	}
 	pci_iounmap(dev, p);
 	return number_uarts;
@@ -1116,15 +1109,15 @@ static struct quatech_feature quatech_cards[] = {
 	{ 0, }
 };
 
-static int pci_quatech_amcc(u16 devid)
+static int pci_quatech_amcc(struct pci_dev *dev)
 {
 	struct quatech_feature *qf = &quatech_cards[0];
 	while (qf->devid) {
-		if (qf->devid == devid)
+		if (qf->devid == dev->device)
 			return qf->amcc;
 		qf++;
 	}
-	pr_err("quatech: unknown port type '0x%04X'.\n", devid);
+	pci_err(dev, "unknown port type '0x%04X'.\n", dev->device);
 	return 0;
 };
 
@@ -1287,7 +1280,7 @@ static int pci_quatech_rs422(struct uart_8250_port *port)
 
 static int pci_quatech_init(struct pci_dev *dev)
 {
-	if (pci_quatech_amcc(dev->device)) {
+	if (pci_quatech_amcc(dev)) {
 		unsigned long base = pci_resource_start(dev, 0);
 		if (base) {
 			u32 tmp;
@@ -1311,7 +1304,7 @@ static int pci_quatech_setup(struct serial_private *priv,
 	port->port.uartclk = pci_quatech_clock(port);
 	/* For now just warn about RS422 */
 	if (pci_quatech_rs422(port))
-		pr_warn("quatech: software control of RS422 features not currently supported.\n");
+		pci_warn(priv->dev, "software control of RS422 features not currently supported.\n");
 	return pci_default_setup(priv, board, port, idx);
 }
 
@@ -1521,7 +1514,7 @@ static int pci_fintek_setup(struct serial_private *priv,
 	/* Get the io address from configuration space */
 	pci_read_config_word(pdev, config_base + 4, &iobase);
 
-	dev_dbg(&pdev->dev, "%s: idx=%d iobase=0x%x", __func__, idx, iobase);
+	pci_dbg(pdev, "idx=%d iobase=0x%x", idx, iobase);
 
 	port->port.iotype = UPIO_PORT;
 	port->port.iobase = iobase;
@@ -1685,7 +1678,7 @@ static int skip_tx_en_setup(struct serial_private *priv,
 			struct uart_8250_port *port, int idx)
 {
 	port->port.quirks |= UPQ_NO_TXEN_TEST;
-	dev_dbg(&priv->dev->dev,
+	pci_dbg(priv->dev,
 		"serial8250: skipping TxEn test for device [%04x:%04x] subsystem [%04x:%04x]\n",
 		priv->dev->vendor, priv->dev->device,
 		priv->dev->subsystem_vendor, priv->dev->subsystem_device);
@@ -3994,12 +3987,12 @@ pciserial_init_ports(struct pci_dev *dev, const struct pciserial_board *board)
 		uart.port.irq = 0;
 	} else {
 		if (pci_match_id(pci_use_msi, dev)) {
-			dev_dbg(&dev->dev, "Using MSI(-X) interrupts\n");
+			pci_dbg(dev, "Using MSI(-X) interrupts\n");
 			pci_set_master(dev);
 			uart.port.flags &= ~UPF_SHARE_IRQ;
 			rc = pci_alloc_irq_vectors(dev, 1, 1, PCI_IRQ_ALL_TYPES);
 		} else {
-			dev_dbg(&dev->dev, "Using legacy interrupts\n");
+			pci_dbg(dev, "Using legacy interrupts\n");
 			rc = pci_alloc_irq_vectors(dev, 1, 1, PCI_IRQ_LEGACY);
 		}
 		if (rc < 0) {
@@ -4017,12 +4010,12 @@ pciserial_init_ports(struct pci_dev *dev, const struct pciserial_board *board)
 		if (quirk->setup(priv, board, &uart, i))
 			break;
 
-		dev_dbg(&dev->dev, "Setup PCI port: port %lx, irq %d, type %d\n",
+		pci_dbg(dev, "Setup PCI port: port %lx, irq %d, type %d\n",
 			uart.port.iobase, uart.port.irq, uart.port.iotype);
 
 		priv->line[i] = serial8250_register_8250_port(&uart);
 		if (priv->line[i] < 0) {
-			dev_err(&dev->dev,
+			pci_err(dev,
 				"Couldn't register serial port %lx, irq %d, type %d, error %d\n",
 				uart.port.iobase, uart.port.irq,
 				uart.port.iotype, priv->line[i]);
@@ -4118,8 +4111,7 @@ pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent)
 	}
 
 	if (ent->driver_data >= ARRAY_SIZE(pci_boards)) {
-		dev_err(&dev->dev, "invalid driver_data: %ld\n",
-			ent->driver_data);
+		pci_err(dev, "invalid driver_data: %ld\n", ent->driver_data);
 		return -EINVAL;
 	}
 
@@ -4202,7 +4194,7 @@ static int pciserial_resume_one(struct device *dev)
 		err = pci_enable_device(pdev);
 		/* FIXME: We cannot simply error out here */
 		if (err)
-			dev_err(dev, "Unable to re-enable ports, trying to continue.\n");
+			pci_err(pdev, "Unable to re-enable ports, trying to continue.\n");
 		pciserial_resume_ports(priv);
 	}
 	return 0;
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 3/3] serial: 8250_pci: Replace dev_*() by pci_*() macros
  2021-10-22 13:51 ` [PATCH v2 3/3] serial: 8250_pci: Replace dev_*() by pci_*() macros Andy Shevchenko
@ 2021-10-26  5:20   ` Jiri Slaby
  0 siblings, 0 replies; 8+ messages in thread
From: Jiri Slaby @ 2021-10-26  5:20 UTC (permalink / raw)
  To: Andy Shevchenko, Greg Kroah-Hartman, linux-serial, linux-kernel

On 22. 10. 21, 15:51, Andy Shevchenko wrote:
> PCI subsystem provides convenient shortcut macros for message printing.
> Use those macros instead of dev_*().

Hopefully they are preferred by the PCI maintainer too :)...

> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Jiri Slaby <jslaby@kernel.org>

> ---
> v2: dropped unrelated change (Joe)
>   drivers/tty/serial/8250/8250_pci.c | 52 +++++++++++++-----------------
>   1 file changed, 22 insertions(+), 30 deletions(-)
> 
> diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
> index 463b2c71da6f..aea12263a1ff 100644
> --- a/drivers/tty/serial/8250/8250_pci.c
> +++ b/drivers/tty/serial/8250/8250_pci.c
> @@ -75,13 +75,12 @@ static int pci_default_setup(struct serial_private*,
>   
>   static void moan_device(const char *str, struct pci_dev *dev)
>   {
> -	dev_err(&dev->dev,
> -	       "%s: %s\n"
> +	pci_err(dev, "%s\n"
>   	       "Please send the output of lspci -vv, this\n"
>   	       "message (0x%04x,0x%04x,0x%04x,0x%04x), the\n"
>   	       "manufacturer and name of serial board or\n"
>   	       "modem board to <linux-serial@vger.kernel.org>.\n",
> -	       pci_name(dev), str, dev->vendor, dev->device,
> +	       str, dev->vendor, dev->device,
>   	       dev->subsystem_vendor, dev->subsystem_device);
>   }
>   
...

-- 
js
suse labs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 2/3] serial: 8250_pci: Get rid of redundant 'else' keyword
  2021-10-22 13:51 ` [PATCH v2 2/3] serial: 8250_pci: Get rid of redundant 'else' keyword Andy Shevchenko
@ 2021-10-26  5:21   ` Jiri Slaby
  0 siblings, 0 replies; 8+ messages in thread
From: Jiri Slaby @ 2021-10-26  5:21 UTC (permalink / raw)
  To: Andy Shevchenko, Greg Kroah-Hartman, linux-serial, linux-kernel

On 22. 10. 21, 15:51, Andy Shevchenko wrote:
> The 'else' keyword is not needed when previous conditional branch returns
> to the upper layer. Get rid of redundant 'else' keyword in such cases.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Jiri Slaby <jslaby@kernel.org>

> ---
> v2: avoided changes in Pericom code for now (it makes sense to split support
>      to a separate driver)
>   drivers/tty/serial/8250/8250_pci.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
> index 8a2f42507c18..463b2c71da6f 100644
> --- a/drivers/tty/serial/8250/8250_pci.c
> +++ b/drivers/tty/serial/8250/8250_pci.c
> @@ -515,7 +515,7 @@ static int pci_siig_init(struct pci_dev *dev)
>   
>   	if (type == 0x1000)
>   		return pci_siig10x_init(dev);
> -	else if (type == 0x2000)
> +	if (type == 0x2000)
>   		return pci_siig20x_init(dev);
>   
>   	moan_device("Unknown SIIG card", dev);
> @@ -792,9 +792,9 @@ static int pci_netmos_9900_setup(struct serial_private *priv,
>   		bar = 3 * idx;
>   
>   		return setup_port(priv, port, bar, 0, board->reg_shift);
> -	} else {
> -		return pci_default_setup(priv, board, port, idx);
>   	}
> +
> +	return pci_default_setup(priv, board, port, idx);
>   }
>   
>   /* the 99xx series comes with a range of device IDs and a variety
> 


-- 
js
suse labs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init()
  2021-10-22 13:51 [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init() Andy Shevchenko
  2021-10-22 13:51 ` [PATCH v2 2/3] serial: 8250_pci: Get rid of redundant 'else' keyword Andy Shevchenko
  2021-10-22 13:51 ` [PATCH v2 3/3] serial: 8250_pci: Replace dev_*() by pci_*() macros Andy Shevchenko
@ 2021-10-26  5:26 ` Jiri Slaby
  2021-10-26  6:44   ` Greg Kroah-Hartman
  2 siblings, 1 reply; 8+ messages in thread
From: Jiri Slaby @ 2021-10-26  5:26 UTC (permalink / raw)
  To: Andy Shevchenko, Greg Kroah-Hartman, linux-serial, linux-kernel

On 22. 10. 21, 15:51, Andy Shevchenko wrote:
> The loop can be refactored by using ARRAY_SIZE() instead of NULL terminator.
> This reduces code base and makes it easier to read and understand.

Why don't we have array_for_each() BTW?

> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Jiri Slaby <jslaby@kernel.org>

> --- a/drivers/tty/serial/8250/8250_pci.c
> +++ b/drivers/tty/serial/8250/8250_pci.c
> @@ -897,18 +897,16 @@ static int pci_netmos_init(struct pci_dev *dev)
>   /* enable IO_Space bit */
>   #define ITE_887x_POSIO_ENABLE		(1 << 31)
>   
> +/* inta_addr are the configuration addresses of the ITE */
> +static const short inta_addr[] = { 0x2a0, 0x2c0, 0x220, 0x240, 0x1e0, 0x200, 0x280 };

/me thinks about 'unsigned'.

-- 
js
suse labs

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init()
  2021-10-26  5:26 ` [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init() Jiri Slaby
@ 2021-10-26  6:44   ` Greg Kroah-Hartman
  2021-10-26  6:51     ` Jiri Slaby
  0 siblings, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2021-10-26  6:44 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: Andy Shevchenko, linux-serial, linux-kernel

On Tue, Oct 26, 2021 at 07:26:18AM +0200, Jiri Slaby wrote:
> On 22. 10. 21, 15:51, Andy Shevchenko wrote:
> > The loop can be refactored by using ARRAY_SIZE() instead of NULL terminator.
> > This reduces code base and makes it easier to read and understand.
> 
> Why don't we have array_for_each() BTW?
> 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> 
> Reviewed-by: Jiri Slaby <jslaby@kernel.org>

And now my emails are bouncing as you typed your address incorrectly :(


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init()
  2021-10-26  6:44   ` Greg Kroah-Hartman
@ 2021-10-26  6:51     ` Jiri Slaby
  0 siblings, 0 replies; 8+ messages in thread
From: Jiri Slaby @ 2021-10-26  6:51 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: Andy Shevchenko, linux-serial, linux-kernel

On 26. 10. 21, 8:44, Greg Kroah-Hartman wrote:
> On Tue, Oct 26, 2021 at 07:26:18AM +0200, Jiri Slaby wrote:
>> On 22. 10. 21, 15:51, Andy Shevchenko wrote:
>>> The loop can be refactored by using ARRAY_SIZE() instead of NULL terminator.
>>> This reduces code base and makes it easier to read and understand.
>>
>> Why don't we have array_for_each() BTW?
>>
>>> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>>
>> Reviewed-by: Jiri Slaby <jslaby@kernel.org>
> 
> And now my emails are bouncing as you typed your address incorrectly :(

Sorry for that. My WM currently crashes when I use key shortcuts (key 
input in plasma is not implemented under wayland). So I had to write 
those manually and screwed up. Let me improve my workflow now.

thanks,
-- 
js
suse labs

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-10-26  6:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-22 13:51 [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init() Andy Shevchenko
2021-10-22 13:51 ` [PATCH v2 2/3] serial: 8250_pci: Get rid of redundant 'else' keyword Andy Shevchenko
2021-10-26  5:21   ` Jiri Slaby
2021-10-22 13:51 ` [PATCH v2 3/3] serial: 8250_pci: Replace dev_*() by pci_*() macros Andy Shevchenko
2021-10-26  5:20   ` Jiri Slaby
2021-10-26  5:26 ` [PATCH v2 1/3] serial: 8250_pci: Refactor the loop in pci_ite887x_init() Jiri Slaby
2021-10-26  6:44   ` Greg Kroah-Hartman
2021-10-26  6:51     ` Jiri Slaby

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).