lkml.org 
[lkml]   [2021]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v1 1/4] serial: 8250_pci: Refactor the loop in pci_ite887x_init()
From
Date
On Tue, 2021-07-13 at 13:40 +0300, 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.
[]
> diff --git 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, };

Why move this outside the only function it's used in?
The trailing comma isn't necessary/useful and possibly confusing too.

>  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");
>   if (iobase != NULL) {

continue and unindent the block below?

>   /* 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]);
>   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]) {


\
 
 \ /
  Last update: 2021-07-14 12:45    [W:0.093 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site