Thread (20 messages) 20 messages, 7 authors, 2021-07-16

Re: [PATCH v1 1/4] serial: 8250_pci: Refactor the loop in pci_ite887x_init()

From: Jiri Slaby <jirislaby@kernel.org>
Date: 2021-07-14 06:57:10
Also in: lkml

On 13. 07. 21, 12:40, Andy Shevchenko wrote:
quoted hunk ↗ jump to hunk
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>
---
  drivers/tty/serial/8250/8250_pci.c | 16 +++++-----------
  1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index 02985cf90ef2..b9138bd08b7f 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -897,37 +897,31 @@ 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) {
-		iobase = request_region(inta_addr[i], ITE_887x_IOSIZE,
-								"ite887x");
+	for (i = 0; i < ARRAY_SIZE(inta_addr); i++) {
+		iobase = request_region(inta_addr[i], ITE_887x_IOSIZE, "ite887x");
Irrelevant whitespace change.
  		if (iobase != NULL) {
  			/* write POSIO0R - speed | size | ioport */
  			pci_write_config_dword(dev, ITE_887x_POSIO0,
  				ITE_887x_POSIO_ENABLE | ITE_887x_POSIO_SPEED |
  				ITE_887x_POSIO_IOSIZE_32 | inta_addr[i]);
  			/* write INTCBAR - ioport */
-			pci_write_config_dword(dev, ITE_887x_INTCBAR,
-								inta_addr[i]);
+			pci_write_config_dword(dev, ITE_887x_INTCBAR, inta_addr[i]);
detto
  			ret = inb(inta_addr[i]);
  			if (ret != 0xff) {
  				/* ioport connected */
  				break;
  			}
  			release_region(iobase->start, ITE_887x_IOSIZE);
-			iobase = NULL;
  		}
-		i++;
  	}
  
  	if (!inta_addr[i]) {
OOB access?

regards,
-- 
js
suse labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help