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 <[email protected]>
> ---
> 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é <[email protected]>
> + 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));
>