[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH v2 1/5] hw/misc: Add a LED device
From: |
Stefan Weil |
Subject: |
Re: [RFC PATCH v2 1/5] hw/misc: Add a LED device |
Date: |
Fri, 12 Jun 2020 20:44:17 +0200 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 |
Am 12.06.20 um 19:54 schrieb Philippe Mathieu-Daudé:
> A LED device can be connected to a GPIO output.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> include/hw/misc/led.h | 30 ++++++++++++++++
> hw/misc/led.c | 84 +++++++++++++++++++++++++++++++++++++++++++
> MAINTAINERS | 6 ++++
> hw/misc/Kconfig | 3 ++
> hw/misc/Makefile.objs | 1 +
> hw/misc/trace-events | 3 ++
> 6 files changed, 127 insertions(+)
> create mode 100644 include/hw/misc/led.h
> create mode 100644 hw/misc/led.c
>
> diff --git a/include/hw/misc/led.h b/include/hw/misc/led.h
> new file mode 100644
> index 0000000000..427ca1418e
> --- /dev/null
> +++ b/include/hw/misc/led.h
> @@ -0,0 +1,30 @@
> +/*
> + * QEMU single LED device
> + *
> + * Copyright (C) 2020 Philippe Mathieu-Daudé <f4bug@amsat.org>
> + *
> + * SPDX-License-Identifier: GPL-2.0-or-later
> + */
> +#ifndef HW_MISC_LED_H
> +#define HW_MISC_LED_H
> +
> +#include "hw/qdev-core.h"
> +#include "hw/sysbus.h" /* FIXME remove */
> +
> +#define TYPE_LED "led"
> +#define LED(obj) OBJECT_CHECK(LEDState, (obj), TYPE_LED)
> +
> +typedef struct LEDState {
> + /* Private */
> + SysBusDevice parent_obj; /* FIXME DeviceState */
> + /* Public */
> +
> + qemu_irq irq;
> + uint8_t current_state;
> +
> + /* Properties */
> + char *name;
> + uint8_t reset_state; /* TODO [GPIO_ACTIVE_LOW, GPIO_ACTIVE_HIGH] */
> +} LEDState;
> +
> +#endif /* HW_MISC_LED_H */
LEDSTate could be made smaller (less holes) by simply re-ordering the
elements: irq, name, current_state, reset_state
Kind regards
Stefan
- [RFC PATCH v2 0/5] hw/misc: Add LED device, Philippe Mathieu-Daudé, 2020/06/12
- [RFC PATCH v2 2/5] hw/misc/led: Add LED_STATUS_CHANGED QAPI event, Philippe Mathieu-Daudé, 2020/06/12
- [RFC PATCH v2 3/5] hw/misc/led: Add create_led_by_gpio_id() helper, Philippe Mathieu-Daudé, 2020/06/12
- [RFC PATCH v2 4/5] hw/arm/microbit: Add a fake LED to use as proof-of-concept with Zephyr, Philippe Mathieu-Daudé, 2020/06/12
- [RFC PATCH v2 5/5] hw/arm/tosa: Use LED device for the Bluetooth led, Philippe Mathieu-Daudé, 2020/06/12