qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3 7/7] hw/arm/tosa: Replace fprintf() calls by LED devices


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v3 7/7] hw/arm/tosa: Replace fprintf() calls by LED devices
Date: Sun, 21 Jun 2020 18:52:39 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

On 6/21/20 1:07 AM, Philippe Mathieu-Daudé wrote:
> The recently added LED device reports LED status changes with
> the 'led_set_intensity' trace event. It is less invasive than
> the fprintf() calls. We need however to have a binary built
> with tracing support.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  hw/arm/tosa.c  | 40 +++++++++++++---------------------------
>  hw/arm/Kconfig |  1 +
>  2 files changed, 14 insertions(+), 27 deletions(-)
> 
> diff --git a/hw/arm/tosa.c b/hw/arm/tosa.c
> index 5dee2d76c6..74b5fd1049 100644
> --- a/hw/arm/tosa.c
> +++ b/hw/arm/tosa.c
> @@ -24,6 +24,7 @@
>  #include "hw/irq.h"
>  #include "hw/ssi/ssi.h"
>  #include "hw/sysbus.h"
> +#include "hw/misc/led.h"
>  #include "exec/address-spaces.h"
>  
>  #define TOSA_RAM    0x04000000
> @@ -65,27 +66,6 @@ static void tosa_microdrive_attach(PXA2xxState *cpu)
>      pxa2xx_pcmcia_attach(cpu->pcmcia[0], md);
>  }
>  
> -static void tosa_out_switch(void *opaque, int line, int level)
> -{
> -    switch (line) {
> -        case 0:
> -            fprintf(stderr, "blue LED %s.\n", level ? "on" : "off");
> -            break;
> -        case 1:
> -            fprintf(stderr, "green LED %s.\n", level ? "on" : "off");
> -            break;
> -        case 2:
> -            fprintf(stderr, "amber LED %s.\n", level ? "on" : "off");
> -            break;
> -        case 3:
> -            fprintf(stderr, "wlan LED %s.\n", level ? "on" : "off");
> -            break;
> -        default:
> -            fprintf(stderr, "Uhandled out event: %d = %d\n", line, level);
> -            break;
> -    }
> -}
> -
>  static void tosa_reset(void *opaque, int line, int level)
>  {
>      if (level) {
> @@ -98,7 +78,6 @@ static void tosa_gpio_setup(PXA2xxState *cpu,
>                  DeviceState *scp1,
>                  TC6393xbState *tmio)
>  {
> -    qemu_irq *outsignals = qemu_allocate_irqs(tosa_out_switch, cpu, 4);
>      qemu_irq reset;
>  
>      /* MMC/SD host */
> @@ -119,11 +98,6 @@ static void tosa_gpio_setup(PXA2xxState *cpu,
>                          qdev_get_gpio_in(cpu->gpio, TOSA_GPIO_JC_CF_IRQ),
>                          NULL);
>  
> -    qdev_connect_gpio_out(scp1, TOSA_GPIO_BT_LED, outsignals[0]);
> -    qdev_connect_gpio_out(scp1, TOSA_GPIO_NOTE_LED, outsignals[1]);
> -    qdev_connect_gpio_out(scp1, TOSA_GPIO_CHRG_ERR_LED, outsignals[2]);
> -    qdev_connect_gpio_out(scp1, TOSA_GPIO_WLAN_LED, outsignals[3]);
> -
>      qdev_connect_gpio_out(scp1, TOSA_GPIO_TC6393XB_L3V_ON, 
> tc6393xb_l3v_get(tmio));
>  
>      /* UDC Vbus */
> @@ -234,6 +208,18 @@ static void tosa_init(MachineState *machine)
>  
>      scp0 = sysbus_create_simple("scoop", 0x08800000, NULL);
>      scp1 = sysbus_create_simple("scoop", 0x14800040, NULL);
> +    create_led_by_gpio_id(OBJECT(machine), DEVICE(scp1),
> +                          TOSA_GPIO_BT_LED,
> +                          LED_COLOR_BLUE, "bluetooth", 0);
> +    create_led_by_gpio_id(OBJECT(machine), DEVICE(scp1),
> +                          TOSA_GPIO_NOTE_LED,
> +                          LED_COLOR_GREEN, "note", 1);
> +    create_led_by_gpio_id(OBJECT(machine), DEVICE(scp1),
> +                          TOSA_GPIO_CHRG_ERR_LED,
> +                          LED_COLOR_AMBER, "charger-error", 2);
> +    create_led_by_gpio_id(OBJECT(machine), DEVICE(scp1),
> +                          TOSA_GPIO_WLAN_LED,
> +                          LED_COLOR_GREEN, "wlan", 3);

Oops, wrong last argument...

>  
>      tosa_gpio_setup(mpu, scp0, scp1, tmio);
>  
> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> index 1a57a861ac..057c869d65 100644
> --- a/hw/arm/Kconfig
> +++ b/hw/arm/Kconfig
> @@ -150,6 +150,7 @@ config TOSA
>      select ZAURUS  # scoop
>      select MICRODRIVE
>      select PXA2XX
> +    select LED
>  
>  config SPITZ
>      bool
> 




reply via email to

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