On 6/28/20 4:24 PM, Peter Maydell wrote: > Use the new max111x qdev properties to set the initial input > values rather than calling max111x_set_input(); this means that > on system reset the inputs will correctly return to their initial > values. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > hw/arm/spitz.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c > index 11e413723f4..93a25edcb5b 100644 > --- a/hw/arm/spitz.c > +++ b/hw/arm/spitz.c > @@ -731,11 +731,14 @@ static void spitz_ssp_attach(SpitzMachineState *sms) > qdev_get_gpio_in(sms->mpu->gpio, > SPITZ_GPIO_TP_INT)); > > bus = qdev_get_child_bus(sms->mux, "ssi2"); > - sms->max1111 = ssi_create_slave(bus, "max1111"); > + sms->max1111 = qdev_new("max1111"); > max1111 = sms->max1111; > - max111x_set_input(sms->max1111, MAX1111_BATT_VOLT, SPITZ_BATTERY_VOLT); > - max111x_set_input(sms->max1111, MAX1111_BATT_TEMP, 0); > - max111x_set_input(sms->max1111, MAX1111_ACIN_VOLT, SPITZ_CHARGEON_ACIN); > + qdev_prop_set_uint8(sms->max1111, "input1" /* BATT_VOLT */, > + SPITZ_BATTERY_VOLT); > + qdev_prop_set_uint8(sms->max1111, "input2" /* BATT_TEMP */, 0); > + qdev_prop_set_uint8(sms->max1111, "input3" /* ACIN_VOLT */, > + SPITZ_CHARGEON_ACIN);
Actually for arrays it would be nice to use: DEFINE_PROP_ARRAY("input", MAX111xState, nr_inputs, reset_input, qdev_prop_uint8, uint8_t), Then something like: qdev_prop_set_uint8_indexed(sms->max1111, "input", 2 /*BATT_TEMP*/, 0); Anyway, Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > + ssi_realize_and_unref(sms->max1111, bus, &error_fatal); > > qdev_connect_gpio_out(sms->mpu->gpio, SPITZ_GPIO_LCDCON_CS, > qdev_get_gpio_in(sms->mux, 0)); >