On 7/23/21 6:36 AM, Andrew Jeffery wrote: > There was a bit of a thinko in the state calculation where every odd pin > in was reported in e.g. "pwm0" mode rather than "off". This was the > result of an incorrect bit shift for the 2-bit field representing each > LED state. > > Fixes: a90d8f84674d ("misc/pca9552: Add qom set and get") > Signed-off-by: Andrew Jeffery <and...@aj.id.au>
Reviewed-by: Cédric Le Goater <c...@kaod.org> I don't think we need this fix for 6.1 since it has been there since January 2020. Tell me otherwise. Thanks, C. > --- > hw/misc/pca9552.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c > index b7686e27d7fa..fff19e369a39 100644 > --- a/hw/misc/pca9552.c > +++ b/hw/misc/pca9552.c > @@ -272,7 +272,7 @@ static void pca955x_get_led(Object *obj, Visitor *v, > const char *name, > * reading the INPUTx reg > */ > reg = PCA9552_LS0 + led / 4; > - state = (pca955x_read(s, reg) >> (led % 8)) & 0x3; > + state = (pca955x_read(s, reg) >> ((led % 4) * 2)) & 0x3; > visit_type_str(v, name, (char **)&led_state[state], errp); > } > >