[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 04/17] hw/arm/spitz: Keep pointers to scp0, scp1 in SpitzMach
From: |
Alistair Francis |
Subject: |
Re: [PATCH 04/17] hw/arm/spitz: Keep pointers to scp0, scp1 in SpitzMachineState |
Date: |
Mon, 29 Jun 2020 12:38:35 -0700 |
On Sun, Jun 28, 2020 at 7:27 AM Peter Maydell <peter.maydell@linaro.org> wrote:
>
> Keep pointers to scp0, scp1 in SpitzMachineState, and just pass
> that to spitz_scoop_gpio_setup().
>
> (We'll want to use some of the other fields in SpitzMachineState
> in that function in the next commit.)
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> hw/arm/spitz.c | 34 +++++++++++++++++++---------------
> 1 file changed, 19 insertions(+), 15 deletions(-)
>
> diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
> index f48e966c047..69bc2b3fa10 100644
> --- a/hw/arm/spitz.c
> +++ b/hw/arm/spitz.c
> @@ -48,6 +48,8 @@ typedef struct {
> DeviceState *lcdtg;
> DeviceState *ads7846;
> DeviceState *max1111;
> + DeviceState *scp0;
> + DeviceState *scp1;
> } SpitzMachineState;
>
> #define TYPE_SPITZ_MACHINE "spitz-common"
> @@ -845,22 +847,23 @@ static void spitz_out_switch(void *opaque, int line,
> int level)
> #define SPITZ_SCP2_BACKLIGHT_ON 8
> #define SPITZ_SCP2_MIC_BIAS 9
>
> -static void spitz_scoop_gpio_setup(PXA2xxState *cpu,
> - DeviceState *scp0, DeviceState *scp1)
> +static void spitz_scoop_gpio_setup(SpitzMachineState *sms)
> {
> - qemu_irq *outsignals = qemu_allocate_irqs(spitz_out_switch, cpu, 8);
> + qemu_irq *outsignals = qemu_allocate_irqs(spitz_out_switch, sms->mpu, 8);
>
> - qdev_connect_gpio_out(scp0, SPITZ_SCP_CHRG_ON, outsignals[0]);
> - qdev_connect_gpio_out(scp0, SPITZ_SCP_JK_B, outsignals[1]);
> - qdev_connect_gpio_out(scp0, SPITZ_SCP_LED_GREEN, outsignals[2]);
> - qdev_connect_gpio_out(scp0, SPITZ_SCP_LED_ORANGE, outsignals[3]);
> + qdev_connect_gpio_out(sms->scp0, SPITZ_SCP_CHRG_ON, outsignals[0]);
> + qdev_connect_gpio_out(sms->scp0, SPITZ_SCP_JK_B, outsignals[1]);
> + qdev_connect_gpio_out(sms->scp0, SPITZ_SCP_LED_GREEN, outsignals[2]);
> + qdev_connect_gpio_out(sms->scp0, SPITZ_SCP_LED_ORANGE, outsignals[3]);
>
> - if (scp1) {
> - qdev_connect_gpio_out(scp1, SPITZ_SCP2_BACKLIGHT_CONT,
> outsignals[4]);
> - qdev_connect_gpio_out(scp1, SPITZ_SCP2_BACKLIGHT_ON, outsignals[5]);
> + if (sms->scp1) {
> + qdev_connect_gpio_out(sms->scp1, SPITZ_SCP2_BACKLIGHT_CONT,
> + outsignals[4]);
> + qdev_connect_gpio_out(sms->scp1, SPITZ_SCP2_BACKLIGHT_ON,
> + outsignals[5]);
> }
>
> - qdev_connect_gpio_out(scp0, SPITZ_SCP_ADC_TEMP_ON, outsignals[6]);
> + qdev_connect_gpio_out(sms->scp0, SPITZ_SCP_ADC_TEMP_ON, outsignals[6]);
> }
>
> #define SPITZ_GPIO_HSYNC 22
> @@ -943,7 +946,6 @@ static void spitz_common_init(MachineState *machine)
> SpitzMachineState *sms = SPITZ_MACHINE(machine);
> enum spitz_model_e model = smc->model;
> PXA2xxState *mpu;
> - DeviceState *scp0, *scp1 = NULL;
> MemoryRegion *address_space_mem = get_system_memory();
> MemoryRegion *rom = g_new(MemoryRegion, 1);
>
> @@ -962,12 +964,14 @@ static void spitz_common_init(MachineState *machine)
>
> spitz_ssp_attach(sms);
>
> - scp0 = sysbus_create_simple("scoop", 0x10800000, NULL);
> + sms->scp0 = sysbus_create_simple("scoop", 0x10800000, NULL);
> if (model != akita) {
> - scp1 = sysbus_create_simple("scoop", 0x08800040, NULL);
> + sms->scp1 = sysbus_create_simple("scoop", 0x08800040, NULL);
> + } else {
> + sms->scp1 = NULL;
> }
>
> - spitz_scoop_gpio_setup(mpu, scp0, scp1);
> + spitz_scoop_gpio_setup(sms);
>
> spitz_gpio_setup(mpu, (model == akita) ? 1 : 2);
>
> --
> 2.20.1
>
>
- Re: [PATCH 03/17] hw/arm/spitz: Keep pointers to MPU and SSI devices in SpitzMachineState, (continued)
- [PATCH 01/17] hw/arm/spitz: Detabify, Peter Maydell, 2020/06/28
- [PATCH 02/17] hw/arm/spitz: Create SpitzMachineClass abstract base class, Peter Maydell, 2020/06/28
- [PATCH 05/17] hw/arm/spitz: Implement inbound GPIO lines for bit5 and power signals, Peter Maydell, 2020/06/28
- [PATCH 04/17] hw/arm/spitz: Keep pointers to scp0, scp1 in SpitzMachineState, Peter Maydell, 2020/06/28
- Re: [PATCH 04/17] hw/arm/spitz: Keep pointers to scp0, scp1 in SpitzMachineState,
Alistair Francis <=
- [PATCH 07/17] hw/misc/max111x: Don't use vmstate_register(), Peter Maydell, 2020/06/28
- [PATCH 06/17] hw/misc/max111x: provide QOM properties for setting initial values, Peter Maydell, 2020/06/28
- [PATCH 08/17] ssi: Add ssi_realize_and_unref(), Peter Maydell, 2020/06/28
- [PATCH 09/17] hw/arm/spitz: Use max111x properties to set initial values, Peter Maydell, 2020/06/28