On 9/10/20 1:54 PM, Philippe Mathieu-Daudé wrote: > Some devices expose GPIO lines. > > Add a GPIO qdev input to our LED device, so we can > connect a GPIO output using qdev_connect_gpio_out(). > > When used with GPIOs, the intensity can only be either > minium or maximum. This depends of the polarity of the > GPIO (which can be inverted). > Declare the GpioPolarity type to model the polarity. > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > include/hw/misc/led.h | 8 ++++++++ > include/hw/qdev-core.h | 8 ++++++++ > hw/misc/led.c | 17 ++++++++++++++++- > 3 files changed, 32 insertions(+), 1 deletion(-) > > diff --git a/include/hw/misc/led.h b/include/hw/misc/led.h > index f5afaa34bfb..71c9b8c59bf 100644 > --- a/include/hw/misc/led.h > +++ b/include/hw/misc/led.h > @@ -38,10 +38,16 @@ typedef struct LEDState { > /* Public */ > > uint8_t intensity_percent; > + qemu_irq irq; > > /* Properties */ > char *description; > char *color; > + /* > + * When used with GPIO, the intensity at reset is related > + * to the GPIO polarity. > + */ > + bool inverted_polarity;
Why are you not using the GpioPolarity enum that you added? r~