From: Bernhard Beschow <shentey@gmail.com>
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: qemu-devel@nongnu.org, "John Snow" <jsnow@redhat.com>,
qemu-ppc@nongnu.org, "Huacai Chen" <chenhuacai@kernel.org>,
qemu-block@nongnu.org, "Jiaxun Yang" <jiaxun.yang@flygoat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: Re: [PATCH v4 12/12] hw/isa/vt82c686: Create rtc-time alias in boards instead
Date: Wed, 31 Aug 2022 18:52:11 +0000 [thread overview]
Message-ID: <4746BF28-005C-4F05-BFFF-2DB49CD40325@gmail.com> (raw)
In-Reply-To: <7627bf2-d76f-f178-6c5d-bd3cd56686ba@eik.bme.hu>
Am 31. August 2022 16:30:10 UTC schrieb BALATON Zoltan <balaton@eik.bme.hu>:
>On Wed, 31 Aug 2022, Bernhard Beschow wrote:
>> According to good QOM practice, an object should only deal with objects
>> of its own sub tree. Having devices create an alias on the machine
>> object doesn't respect this good practice. To resolve this, create the
>> alias in the machine's code.
>>
>> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>> ---
>> hw/isa/vt82c686.c | 2 --
>> hw/mips/fuloong2e.c | 4 ++++
>> hw/ppc/pegasos2.c | 4 ++++
>> 3 files changed, 8 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
>> index 48cd4d0036..3f9bd0c04d 100644
>> --- a/hw/isa/vt82c686.c
>> +++ b/hw/isa/vt82c686.c
>> @@ -632,8 +632,6 @@ static void via_isa_realize(PCIDevice *d, Error **errp)
>> if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) {
>> return;
>> }
>> - object_property_add_alias(qdev_get_machine(), "rtc-time", OBJECT(&s->rtc),
>> - "date");
>> isa_connect_gpio_out(ISA_DEVICE(&s->rtc), 0, s->rtc.isairq);
>>
>> for (i = 0; i < PCI_CONFIG_HEADER_SIZE; i++) {
>> diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c
>> index 2d8723ab74..0f4cfe1188 100644
>> --- a/hw/mips/fuloong2e.c
>> +++ b/hw/mips/fuloong2e.c
>> @@ -203,6 +203,10 @@ static void vt82c686b_southbridge_init(PCIBus *pci_bus, int slot, qemu_irq intc,
>>
>> via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(slot, 0), true,
>> TYPE_VT82C686B_ISA);
>> + object_property_add_alias(qdev_get_machine(), "rtc-time",
>> + object_resolve_path_component(OBJECT(via),
>> + "rtc"),
>> + "date");
>> qdev_connect_gpio_out(DEVICE(via), 0, intc);
>>
>> dev = PCI_DEVICE(object_resolve_path_component(OBJECT(via), "ide"));
>> diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c
>> index 09fdb7557f..f50e1d8b3f 100644
>> --- a/hw/ppc/pegasos2.c
>> +++ b/hw/ppc/pegasos2.c
>> @@ -161,6 +161,10 @@ static void pegasos2_init(MachineState *machine)
>> /* VIA VT8231 South Bridge (multifunction PCI device) */
>> via = pci_create_simple_multifunction(pci_bus, PCI_DEVFN(12, 0), true,
>> TYPE_VT8231_ISA);
>> + object_property_add_alias(qdev_get_machine(), "rtc-time",
>
>I did not check it in previous version but Phillppe noted this qdev_get_machine() should be machine (the parameter to pegasos2_init) instead and I agree with that.
Sounds good! I'm all about removing access to globals.
>Also if you get rid of the now very much cut down vt82c686b_southbridge_init func in fuloong2e and just inline what's left of it at the only call site then the same machine pointer could be used there too and would be simpler then going through the function now that it's moved to via-isa mostly.
Sure, I'll add another patch on top.
>Sorry that this needs another respin but that's the last, I won't look at it again :-)
No worries. It's very convenient with git-publish.
>You can also add to the whole series:
>
>Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Will do. Thanks for your quick replies!
Regards,
Bernhard
>Regards,
>BALATON Zoltan
>
>> + object_resolve_path_component(OBJECT(via),
>> + "rtc"),
>> + "date");
>> qdev_connect_gpio_out(DEVICE(via), 0,
>> qdev_get_gpio_in_named(pm->mv, "gpp", 31));
>>
>>
prev parent reply other threads:[~2022-08-31 20:24 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-31 15:45 [PATCH v4 00/12] Instantiate VT82xx functions in host device Bernhard Beschow
2022-08-31 15:45 ` [PATCH v4 01/12] hw/isa/vt82c686: Resolve chip-specific realize methods Bernhard Beschow
2022-08-31 15:45 ` [PATCH v4 02/12] hw/isa/vt82c686: Resolve unneeded attribute Bernhard Beschow
2022-08-31 15:45 ` [PATCH v4 03/12] hw/isa/vt82c686: Prefer pci_address_space() over get_system_memory() Bernhard Beschow
2022-08-31 15:45 ` [PATCH v4 04/12] hw/isa/vt82c686: Reuse errp Bernhard Beschow
2022-08-31 15:45 ` [PATCH v4 05/12] hw/isa/vt82c686: Introduce TYPE_VIA_IDE define Bernhard Beschow
2022-08-31 15:45 ` [PATCH v4 06/12] hw/isa/vt82c686: Instantiate IDE function in host device Bernhard Beschow
2022-08-31 15:46 ` [PATCH v4 07/12] hw/isa/vt82c686: Introduce TYPE_VT82C686B_USB_UHCI define Bernhard Beschow
2022-08-31 15:46 ` [PATCH v4 08/12] hw/isa/vt82c686: Instantiate USB functions in host device Bernhard Beschow
2022-08-31 15:46 ` [PATCH v4 09/12] hw/isa/vt82c686: Instantiate PM function " Bernhard Beschow
2022-08-31 15:46 ` [PATCH v4 10/12] hw/isa/vt82c686: Instantiate AC97 and MC97 functions " Bernhard Beschow
2022-08-31 15:46 ` [PATCH v4 11/12] hw/isa/vt82c686: Embed RTCState " Bernhard Beschow
2022-08-31 15:46 ` [PATCH v4 12/12] hw/isa/vt82c686: Create rtc-time alias in boards instead Bernhard Beschow
2022-08-31 16:30 ` BALATON Zoltan
2022-08-31 18:52 ` Bernhard Beschow [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4746BF28-005C-4F05-BFFF-2DB49CD40325@gmail.com \
--to=shentey@gmail.com \
--cc=balaton@eik.bme.hu \
--cc=chenhuacai@kernel.org \
--cc=f4bug@amsat.org \
--cc=jiaxun.yang@flygoat.com \
--cc=jsnow@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).