qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 08/13] Remove checks on MAX_SERIAL_PORTS that ar


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH 08/13] Remove checks on MAX_SERIAL_PORTS that are just bounds checks
Date: Wed, 25 Apr 2018 11:59:08 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0

On 04/20/2018 11:52 AM, Peter Maydell wrote:
> Remove checks on MAX_SERIAL_PORTS that were just checking whether
> they were within bounds for the serial_hds[] array and falling
> back to NULL if not. This isn't needed with the serial_hd()
> function, which returns NULL for all indexes beyond what the
> user set up.
> 
> Signed-off-by: Peter Maydell <address@hidden>
> ---
>  hw/arm/fsl-imx25.c     | 4 +---
>  hw/arm/fsl-imx31.c     | 4 +---
>  hw/arm/fsl-imx6.c      | 4 +---
>  hw/arm/fsl-imx7.c      | 4 +---
>  hw/arm/mps2-tz.c       | 3 +--
>  hw/arm/mps2.c          | 6 ++----
>  hw/arm/stm32f205_soc.c | 3 +--
>  7 files changed, 8 insertions(+), 20 deletions(-)
> 
> diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c
> index 9731833fa5..37056f9e34 100644
> --- a/hw/arm/fsl-imx25.c
> +++ b/hw/arm/fsl-imx25.c
> @@ -117,9 +117,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error 
> **errp)
>              { FSL_IMX25_UART5_ADDR, FSL_IMX25_UART5_IRQ }
>          };
>  
> -        if (i < MAX_SERIAL_PORTS) {
> -            qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
> -        }
> +        qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
>  
>          object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", 
> &err);
>          if (err) {
> diff --git a/hw/arm/fsl-imx31.c b/hw/arm/fsl-imx31.c
> index 8509915200..891850cf18 100644
> --- a/hw/arm/fsl-imx31.c
> +++ b/hw/arm/fsl-imx31.c
> @@ -106,9 +106,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error 
> **errp)
>              { FSL_IMX31_UART2_ADDR, FSL_IMX31_UART2_IRQ },
>          };
>  
> -        if (i < MAX_SERIAL_PORTS) {
> -            qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
> -        }
> +        qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
>  
>          object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", 
> &err);
>          if (err) {
> diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c
> index 535ad5888b..4f51bd9eb5 100644
> --- a/hw/arm/fsl-imx6.c
> +++ b/hw/arm/fsl-imx6.c
> @@ -188,9 +188,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error 
> **errp)
>              { FSL_IMX6_UART5_ADDR, FSL_IMX6_UART5_IRQ },
>          };
>  
> -        if (i < MAX_SERIAL_PORTS) {
> -            qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
> -        }
> +        qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
>  
>          object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", 
> &err);
>          if (err) {
> diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c
> index 2848d76d3c..26c1d27f7c 100644
> --- a/hw/arm/fsl-imx7.c
> +++ b/hw/arm/fsl-imx7.c
> @@ -390,9 +390,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error 
> **errp)
>          };
>  
>  
> -        if (i < MAX_SERIAL_PORTS) {
> -            qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
> -        }
> +        qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
>  
>          object_property_set_bool(OBJECT(&s->uart[i]), true, "realized",
>                                   &error_abort);
> diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
> index 4ae4a5cb2a..8dc8bfd4ab 100644
> --- a/hw/arm/mps2-tz.c
> +++ b/hw/arm/mps2-tz.c
> @@ -172,7 +172,6 @@ static MemoryRegion *make_uart(MPS2TZMachineState *mms, 
> void *opaque,
>  {
>      CMSDKAPBUART *uart = opaque;
>      int i = uart - &mms->uart[0];
> -    Chardev *uartchr = i < MAX_SERIAL_PORTS ? serial_hd(i) : NULL;

Oh you cleaned this :) So disregard my comment in patch 7/13 of this series.

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

>      int rxirqno = i * 2;
>      int txirqno = i * 2 + 1;
>      int combirqno = i + 10;
> @@ -182,7 +181,7 @@ static MemoryRegion *make_uart(MPS2TZMachineState *mms, 
> void *opaque,
>  
>      init_sysbus_child(OBJECT(mms), name, uart,
>                        sizeof(mms->uart[0]), TYPE_CMSDK_APB_UART);
> -    qdev_prop_set_chr(DEVICE(uart), "chardev", uartchr);
> +    qdev_prop_set_chr(DEVICE(uart), "chardev", serial_hd(i));
>      qdev_prop_set_uint32(DEVICE(uart), "pclk-frq", SYSCLK_FRQ);
>      object_property_set_bool(OBJECT(uart), true, "realized", &error_fatal);
>      s = SYS_BUS_DEVICE(uart);
> diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c
> index eb550fad34..c3946da317 100644
> --- a/hw/arm/mps2.c
> +++ b/hw/arm/mps2.c
> @@ -230,7 +230,6 @@ static void mps2_common_init(MachineState *machine)
>              static const hwaddr uartbase[] = {0x40004000, 0x40005000,
>                                                0x40006000, 0x40007000,
>                                                0x40009000};
> -            Chardev *uartchr = i < MAX_SERIAL_PORTS ? serial_hd(i) : NULL;
>              /* RX irq number; TX irq is always one greater */
>              static const int uartirq[] = {0, 2, 4, 18, 20};
>              qemu_irq txovrint = NULL, rxovrint = NULL;
> @@ -245,7 +244,7 @@ static void mps2_common_init(MachineState *machine)
>                                    qdev_get_gpio_in(armv7m, uartirq[i]),
>                                    txovrint, rxovrint,
>                                    NULL,
> -                                  uartchr, SYSCLK_FRQ);
> +                                  serial_hd(i), SYSCLK_FRQ);
>          }
>          break;
>      }
> @@ -270,7 +269,6 @@ static void mps2_common_init(MachineState *machine)
>              static const hwaddr uartbase[] = {0x40004000, 0x40005000,
>                                                0x4002c000, 0x4002d000,
>                                                0x4002e000};
> -            Chardev *uartchr = i < MAX_SERIAL_PORTS ? serial_hd(i) : NULL;
>              Object *txrx_orgate;
>              DeviceState *txrx_orgate_dev;
>  
> @@ -287,7 +285,7 @@ static void mps2_common_init(MachineState *machine)
>                                    qdev_get_gpio_in(orgate_dev, i * 2),
>                                    qdev_get_gpio_in(orgate_dev, i * 2 + 1),
>                                    NULL,
> -                                  uartchr, SYSCLK_FRQ);
> +                                  serial_hd(i), SYSCLK_FRQ);
>          }
>          break;
>      }
> diff --git a/hw/arm/stm32f205_soc.c b/hw/arm/stm32f205_soc.c
> index f59418e7d0..2b2135d382 100644
> --- a/hw/arm/stm32f205_soc.c
> +++ b/hw/arm/stm32f205_soc.c
> @@ -135,8 +135,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, 
> Error **errp)
>      /* Attach UART (uses USART registers) and USART controllers */
>      for (i = 0; i < STM_NUM_USARTS; i++) {
>          dev = DEVICE(&(s->usart[i]));
> -        qdev_prop_set_chr(dev, "chardev",
> -                          i < MAX_SERIAL_PORTS ? serial_hd(i) : NULL);
> +        qdev_prop_set_chr(dev, "chardev", serial_hd(i));
>          object_property_set_bool(OBJECT(&s->usart[i]), true, "realized", 
> &err);
>          if (err != NULL) {
>              error_propagate(errp, err);
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]