[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 13/55] hw/isa/vt82c686: Create rtc-time alias in boards instead
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 13/55] hw/isa/vt82c686: Create rtc-time alias in boards instead |
Date: |
Sun, 30 Oct 2022 23:27:59 +0100 |
From: Bernhard Beschow <shentey@gmail.com>
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>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220901114127.53914-14-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
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 3c46215616..b478483706 100644
--- a/hw/mips/fuloong2e.c
+++ b/hw/mips/fuloong2e.c
@@ -295,6 +295,10 @@ static void mips_fuloong2e_init(MachineState *machine)
pci_dev = pci_create_simple_multifunction(pci_bus,
PCI_DEVFN(FULOONG2E_VIA_SLOT, 0),
true, TYPE_VT82C686B_ISA);
+ object_property_add_alias(OBJECT(machine), "rtc-time",
+ object_resolve_path_component(OBJECT(pci_dev),
+ "rtc"),
+ "date");
qdev_connect_gpio_out(DEVICE(pci_dev), 0, env->irq[5]);
dev = DEVICE(object_resolve_path_component(OBJECT(pci_dev), "ide"));
diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c
index 474723ee27..49809b2b75 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(OBJECT(machine), "rtc-time",
+ object_resolve_path_component(OBJECT(via),
+ "rtc"),
+ "date");
qdev_connect_gpio_out(DEVICE(via), 0,
qdev_get_gpio_in_named(pm->mv, "gpp", 31));
--
2.37.3
- [PULL 03/55] hw/isa/vt82c686: Prefer pci_address_space() over get_system_memory(), (continued)
- [PULL 03/55] hw/isa/vt82c686: Prefer pci_address_space() over get_system_memory(), Philippe Mathieu-Daudé, 2022/10/30
- [PULL 04/55] hw/isa/vt82c686: Reuse errp, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 05/55] hw/isa/vt82c686: Introduce TYPE_VIA_IDE define, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 06/55] hw/isa/vt82c686: Instantiate IDE function in host device, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 07/55] hw/isa/vt82c686: Introduce TYPE_VT82C686B_USB_UHCI define, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 08/55] hw/isa/vt82c686: Instantiate USB functions in host device, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 09/55] hw/isa/vt82c686: Instantiate PM function in host device, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 10/55] hw/isa/vt82c686: Instantiate AC97 and MC97 functions in host device, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 11/55] hw/mips/fuloong2e: Inline vt82c686b_southbridge_init() and remove it, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 12/55] hw/isa/vt82c686: Embed RTCState in host device, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 13/55] hw/isa/vt82c686: Create rtc-time alias in boards instead,
Philippe Mathieu-Daudé <=
- [PULL 14/55] hw: Remove unused MAX_IDE_BUS define, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 15/55] disas/nanomips: Remove namespace img, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 16/55] disas/nanomips: Extract enums out of the NMD class, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 17/55] disas/nanomips: Delete NMD class field, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 18/55] disas/nanomips: Delete NMD class second field, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 19/55] disas/nanomips: Remove helper methods from class, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 20/55] disas/nanomips: Remove __cond methods from class, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 21/55] disas/nanomips: Remove disasm methods from class, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 22/55] disas/nanomips: Remove Pool tables from the class, Philippe Mathieu-Daudé, 2022/10/30
- [PULL 23/55] disas/nanomips: Remove NMD class, Philippe Mathieu-Daudé, 2022/10/30