[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 10/24] macio: Delete unused "macio-gpio" devices
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v2 10/24] macio: Delete unused "macio-gpio" devices |
Date: |
Tue, 09 Jun 2020 07:42:09 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> writes:
> On 28/05/2020 12:04, Markus Armbruster wrote:
>
>> These devices go with the "via-pmu" device, which is controlled by
>> property "has-pmu". macio_newworld_init() creates it unconditionally,
>> because the property has not been set then. macio_newworld_realize()
>> realizes it only when the property is true. Works, although it can
>> leave an unrealized device hanging around in the QOM composition tree.
>> Affects machine mac99 with via=cuda (default).
>>
>> Delete the unused device by making macio_newworld_realize() unparent
>> it. Visible in "info qom-tree":
>>
>> /machine (mac99-machine)
>> [...]
>> /unattached (container)
>> /device[9] (macio-newworld)
>> [...]
>> /escc-legacy-port[8] (qemu:memory-region)
>> /escc-legacy-port[9] (qemu:memory-region)
>> /escc-legacy[0] (qemu:memory-region)
>> - /gpio (macio-gpio)
>> - /gpio[0] (qemu:memory-region)
>> /ide[0] (macio-ide)
>> /ide.0 (IDE)
>> /pmac-ide[0] (qemu:memory-region)
>>
>> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
>> Cc: David Gibson <david@gibson.dropbear.id.au>
>> Cc: qemu-ppc@nongnu.org
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>> hw/misc/macio/macio.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
>> index 3779865ab2..b3dddf8be7 100644
>> --- a/hw/misc/macio/macio.c
>> +++ b/hw/misc/macio/macio.c
>> @@ -368,6 +368,8 @@ static void macio_newworld_realize(PCIDevice *d, Error
>> **errp)
>> memory_region_add_subregion(&s->bar, 0x16000,
>> sysbus_mmio_get_region(sysbus_dev, 0));
>> } else {
>> + object_unparent(OBJECT(&ns->gpio));
>> +
>> /* CUDA */
>> object_initialize_child(OBJECT(s), "cuda", &s->cuda,
>> sizeof(s->cuda),
>> TYPE_CUDA, &error_abort, NULL);
>
> This looks correct to me. Re-reading over the 3 different patch series you've
> posted,
> I think it makes sense to merge them soon since even though there may be some
> debate
> over init/realize in places, the benefits would far outweigh the drawbacks
> IMO.
We can always improve on top.
Rebasing this stuff is quite time-consuming.
> Anyhow for this patch:
>
> Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Thanks!