[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 03/16] hw/pci-host/raven: Simplify PCI facing part
From: |
BALATON Zoltan |
Subject: |
[PATCH 03/16] hw/pci-host/raven: Simplify PCI facing part |
Date: |
Sun, 04 May 2025 18:01:29 +0200 (CEST) |
The raven PCI device does not need a state struct as it has no data to
store there any more so we can remove that to simplify code.
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
---
hw/pci-host/raven.c | 30 +-----------------------------
1 file changed, 1 insertion(+), 29 deletions(-)
diff --git a/hw/pci-host/raven.c b/hw/pci-host/raven.c
index f8c0be5d21..172f01694c 100644
--- a/hw/pci-host/raven.c
+++ b/hw/pci-host/raven.c
@@ -31,7 +31,6 @@
#include "hw/pci/pci_bus.h"
#include "hw/pci/pci_host.h"
#include "hw/qdev-properties.h"
-#include "migration/vmstate.h"
#include "hw/intc/i8259.h"
#include "hw/irq.h"
#include "hw/or-irq.h"
@@ -40,12 +39,6 @@
#define TYPE_RAVEN_PCI_DEVICE "raven"
#define TYPE_RAVEN_PCI_HOST_BRIDGE "raven-pcihost"
-OBJECT_DECLARE_SIMPLE_TYPE(RavenPCIState, RAVEN_PCI_DEVICE)
-
-struct RavenPCIState {
- PCIDevice dev;
-};
-
typedef struct PRePPCIState PREPPCIState;
DECLARE_INSTANCE_CHECKER(PREPPCIState, RAVEN_PCI_HOST_BRIDGE,
TYPE_RAVEN_PCI_HOST_BRIDGE)
@@ -65,7 +58,6 @@ struct PRePPCIState {
MemoryRegion bm_ram_alias;
MemoryRegion bm_pci_memory_alias;
AddressSpace bm_as;
- RavenPCIState pci_dev;
int contiguous_map;
};
@@ -268,8 +260,7 @@ static void raven_pcihost_realizefn(DeviceState *d, Error
**errp)
"pci-intack", 1);
memory_region_add_subregion(address_space_mem, 0xbffffff0, &s->pci_intack);
- /* TODO Remove once realize propagates to child devices. */
- qdev_realize(DEVICE(&s->pci_dev), BUS(&s->pci_bus), errp);
+ pci_create_simple(&s->pci_bus, PCI_DEVFN(0, 0), TYPE_RAVEN_PCI_DEVICE);
}
static void raven_pcihost_initfn(Object *obj)
@@ -277,7 +268,6 @@ static void raven_pcihost_initfn(Object *obj)
PCIHostState *h = PCI_HOST_BRIDGE(obj);
PREPPCIState *s = RAVEN_PCI_HOST_BRIDGE(obj);
MemoryRegion *address_space_mem = get_system_memory();
- DeviceState *pci_dev;
memory_region_init(&s->pci_io, obj, "pci-io", 0x3f800000);
memory_region_init_io(&s->pci_io_non_contiguous, obj, &raven_io_ops, s,
@@ -314,12 +304,6 @@ static void raven_pcihost_initfn(Object *obj)
pci_setup_iommu(&s->pci_bus, &raven_iommu_ops, s);
h->bus = &s->pci_bus;
-
- object_initialize(&s->pci_dev, sizeof(s->pci_dev), TYPE_RAVEN_PCI_DEVICE);
- pci_dev = DEVICE(&s->pci_dev);
- object_property_set_int(OBJECT(&s->pci_dev), "addr", PCI_DEVFN(0, 0),
- NULL);
- qdev_prop_set_bit(pci_dev, "multifunction", false);
}
static void raven_realize(PCIDevice *d, Error **errp)
@@ -329,16 +313,6 @@ static void raven_realize(PCIDevice *d, Error **errp)
d->config[PCI_CAPABILITY_LIST] = 0x00;
}
-static const VMStateDescription vmstate_raven = {
- .name = "raven",
- .version_id = 0,
- .minimum_version_id = 0,
- .fields = (const VMStateField[]) {
- VMSTATE_PCI_DEVICE(dev, RavenPCIState),
- VMSTATE_END_OF_LIST()
- },
-};
-
static void raven_class_init(ObjectClass *klass, const void *data)
{
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
@@ -350,7 +324,6 @@ static void raven_class_init(ObjectClass *klass, const void
*data)
k->revision = 0x00;
k->class_id = PCI_CLASS_BRIDGE_HOST;
dc->desc = "PReP Host Bridge - Motorola Raven";
- dc->vmsd = &vmstate_raven;
/*
* Reason: PCI-facing part of the host bridge, not usable without
* the host-facing part, which can't be device_add'ed, yet.
@@ -361,7 +334,6 @@ static void raven_class_init(ObjectClass *klass, const void
*data)
static const TypeInfo raven_info = {
.name = TYPE_RAVEN_PCI_DEVICE,
.parent = TYPE_PCI_DEVICE,
- .instance_size = sizeof(RavenPCIState),
.class_init = raven_class_init,
.interfaces = (const InterfaceInfo[]) {
{ INTERFACE_CONVENTIONAL_PCI_DEVICE },
--
2.41.3
- [PATCH 00/16] hw/pci-host/raven clean ups, BALATON Zoltan, 2025/05/04
- [PATCH 02/16] hw/pci-host/raven: Revert "raven: Move BIOS loading from board code to PCI host", BALATON Zoltan, 2025/05/04
- [PATCH 01/16] hw/pci-host/raven: Remove is-legacy-prep property, BALATON Zoltan, 2025/05/04
- [PATCH 04/16] hw/pci-host/raven: Simplify host bridge type declaration, BALATON Zoltan, 2025/05/04
- [PATCH 03/16] hw/pci-host/raven: Simplify PCI facing part,
BALATON Zoltan <=
- [PATCH 06/16] hw/pci-host/raven: Simplify PCI bus creation, BALATON Zoltan, 2025/05/04
- [PATCH 12/16] hw/pci-host/raven: Fix PCI config direct access region, BALATON Zoltan, 2025/05/04
- [PATCH 13/16] hw/pci-host/raven: Simpify discontiguous IO access, BALATON Zoltan, 2025/05/04
- [PATCH 05/16] hw/pci-host/raven: Use DEFINE_TYPES macro, BALATON Zoltan, 2025/05/04
- [PATCH 07/16] hw/pci-host/raven: Simplify PCI interrupt routing, BALATON Zoltan, 2025/05/04
- [PATCH 08/16] hw/pci-host/raven: Simplify direct config access address decoding, BALATON Zoltan, 2025/05/04
- [PATCH 10/16] hw/pci-host/raven: Use correct parameter in direct access ops, BALATON Zoltan, 2025/05/04
- [PATCH 09/16] hw/pci-host/raven: Rename direct config access ops, BALATON Zoltan, 2025/05/04
- [PATCH 11/16] hw/pci-host/raven: Do not use parent object for mmcfg region, BALATON Zoltan, 2025/05/04
- [PATCH 14/16] hw/pci-host/raven: Move bus master address space creation to one place, BALATON Zoltan, 2025/05/04