* [Qemu-devel] [PATCH v2 1/4] hw/gpio: QOM'ify mpc8xxx.c
2017-01-06 0:26 [Qemu-devel] [PATCH v2 0/4] QOM'ify work for ppc xiaoqiang zhao
@ 2017-01-06 0:26 ` xiaoqiang zhao
2017-01-06 0:26 ` [Qemu-devel] [PATCH v2 2/4] hw/ppc: QOM'ify e500.c xiaoqiang zhao
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: xiaoqiang zhao @ 2017-01-06 0:26 UTC (permalink / raw)
To: qemu-devel; +Cc: david, agraf, peter.maydell, qemu-ppc
* Drop the old SysBus init function and use instance_init
* Change mpc8xxx_gpio_reset to a DeviceClass::reset function
Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
hw/gpio/mpc8xxx.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/hw/gpio/mpc8xxx.c b/hw/gpio/mpc8xxx.c
index d149719469..e12edb4933 100644
--- a/hw/gpio/mpc8xxx.c
+++ b/hw/gpio/mpc8xxx.c
@@ -143,8 +143,10 @@ static void mpc8xxx_gpio_write(void *opaque, hwaddr offset,
mpc8xxx_gpio_update(s);
}
-static void mpc8xxx_gpio_reset(MPC8XXXGPIOState *s)
+static void mpc8xxx_gpio_reset(DeviceState *dev)
{
+ MPC8XXXGPIOState *s = MPC8XXX_GPIO(dev);
+
s->dir = 0;
s->odr = 0;
s->dat = 0;
@@ -180,33 +182,33 @@ static const MemoryRegionOps mpc8xxx_gpio_ops = {
.endianness = DEVICE_BIG_ENDIAN,
};
-static int mpc8xxx_gpio_initfn(SysBusDevice *sbd)
+static void mpc8xxx_gpio_initfn(Object *obj)
{
- DeviceState *dev = DEVICE(sbd);
- MPC8XXXGPIOState *s = MPC8XXX_GPIO(dev);
+ DeviceState *dev = DEVICE(obj);
+ MPC8XXXGPIOState *s = MPC8XXX_GPIO(obj);
+ SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
- memory_region_init_io(&s->iomem, OBJECT(s), &mpc8xxx_gpio_ops, s, "mpc8xxx_gpio", 0x1000);
+ memory_region_init_io(&s->iomem, obj, &mpc8xxx_gpio_ops,
+ s, "mpc8xxx_gpio", 0x1000);
sysbus_init_mmio(sbd, &s->iomem);
sysbus_init_irq(sbd, &s->irq);
qdev_init_gpio_in(dev, mpc8xxx_gpio_set_irq, 32);
qdev_init_gpio_out(dev, s->out, 32);
- mpc8xxx_gpio_reset(s);
- return 0;
}
static void mpc8xxx_gpio_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
- SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
- k->init = mpc8xxx_gpio_initfn;
dc->vmsd = &vmstate_mpc8xxx_gpio;
+ dc->reset = mpc8xxx_gpio_reset;
}
static const TypeInfo mpc8xxx_gpio_info = {
.name = TYPE_MPC8XXX_GPIO,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(MPC8XXXGPIOState),
+ .instance_init = mpc8xxx_gpio_initfn,
.class_init = mpc8xxx_gpio_class_init,
};
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH v2 2/4] hw/ppc: QOM'ify e500.c
2017-01-06 0:26 [Qemu-devel] [PATCH v2 0/4] QOM'ify work for ppc xiaoqiang zhao
2017-01-06 0:26 ` [Qemu-devel] [PATCH v2 1/4] hw/gpio: QOM'ify mpc8xxx.c xiaoqiang zhao
@ 2017-01-06 0:26 ` xiaoqiang zhao
2017-01-06 0:26 ` [Qemu-devel] [PATCH v2 3/4] hw/ppc: QOM'ify ppce500_spin.c xiaoqiang zhao
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: xiaoqiang zhao @ 2017-01-06 0:26 UTC (permalink / raw)
To: qemu-devel; +Cc: david, agraf, peter.maydell, qemu-ppc
Drop the old SysBus init function and use instance_init
Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
hw/ppc/e500.c | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index cf8b122afe..792bd79d39 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -1049,27 +1049,18 @@ void ppce500_init(MachineState *machine, PPCE500Params *params)
boot_info->dt_size = dt_size;
}
-static int e500_ccsr_initfn(SysBusDevice *dev)
+static void e500_ccsr_initfn(Object *obj)
{
- PPCE500CCSRState *ccsr;
-
- ccsr = CCSR(dev);
- memory_region_init(&ccsr->ccsr_space, OBJECT(ccsr), "e500-ccsr",
+ PPCE500CCSRState *ccsr = CCSR(obj);
+ memory_region_init(&ccsr->ccsr_space, obj, "e500-ccsr",
MPC8544_CCSRBAR_SIZE);
- return 0;
-}
-
-static void e500_ccsr_class_init(ObjectClass *klass, void *data)
-{
- SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
- k->init = e500_ccsr_initfn;
}
static const TypeInfo e500_ccsr_info = {
.name = TYPE_CCSR,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(PPCE500CCSRState),
- .class_init = e500_ccsr_class_init,
+ .instance_init = e500_ccsr_initfn,
};
static void e500_register_types(void)
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH v2 3/4] hw/ppc: QOM'ify ppce500_spin.c
2017-01-06 0:26 [Qemu-devel] [PATCH v2 0/4] QOM'ify work for ppc xiaoqiang zhao
2017-01-06 0:26 ` [Qemu-devel] [PATCH v2 1/4] hw/gpio: QOM'ify mpc8xxx.c xiaoqiang zhao
2017-01-06 0:26 ` [Qemu-devel] [PATCH v2 2/4] hw/ppc: QOM'ify e500.c xiaoqiang zhao
@ 2017-01-06 0:26 ` xiaoqiang zhao
2017-01-06 0:26 ` [Qemu-devel] [PATCH v2 4/4] hw/ppc: QOM'ify spapr_vio.c xiaoqiang zhao
2017-01-06 4:49 ` [Qemu-devel] [PATCH v2 0/4] QOM'ify work for ppc David Gibson
4 siblings, 0 replies; 6+ messages in thread
From: xiaoqiang zhao @ 2017-01-06 0:26 UTC (permalink / raw)
To: qemu-devel; +Cc: david, agraf, peter.maydell, qemu-ppc
Drop the old SysBus init function and use instance_init
Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
hw/ppc/ppce500_spin.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/hw/ppc/ppce500_spin.c b/hw/ppc/ppce500_spin.c
index cf958a9e00..958536f6c6 100644
--- a/hw/ppc/ppce500_spin.c
+++ b/hw/ppc/ppce500_spin.c
@@ -54,9 +54,9 @@ typedef struct SpinState {
SpinInfo spin[MAX_CPUS];
} SpinState;
-static void spin_reset(void *opaque)
+static void spin_reset(DeviceState *dev)
{
- SpinState *s = opaque;
+ SpinState *s = E500_SPIN(dev);
int i;
for (i = 0; i < MAX_CPUS; i++) {
@@ -174,30 +174,28 @@ static const MemoryRegionOps spin_rw_ops = {
.endianness = DEVICE_BIG_ENDIAN,
};
-static int ppce500_spin_initfn(SysBusDevice *dev)
+static void ppce500_spin_initfn(Object *obj)
{
+ SysBusDevice *dev = SYS_BUS_DEVICE(obj);
SpinState *s = E500_SPIN(dev);
- memory_region_init_io(&s->iomem, OBJECT(s), &spin_rw_ops, s,
+ memory_region_init_io(&s->iomem, obj, &spin_rw_ops, s,
"e500 spin pv device", sizeof(SpinInfo) * MAX_CPUS);
sysbus_init_mmio(dev, &s->iomem);
-
- qemu_register_reset(spin_reset, s);
-
- return 0;
}
static void ppce500_spin_class_init(ObjectClass *klass, void *data)
{
- SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
+ DeviceClass *dc = DEVICE_CLASS(klass);
- k->init = ppce500_spin_initfn;
+ dc->reset = spin_reset;
}
static const TypeInfo ppce500_spin_info = {
.name = TYPE_E500_SPIN,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(SpinState),
+ .instance_init = ppce500_spin_initfn,
.class_init = ppce500_spin_class_init,
};
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH v2 4/4] hw/ppc: QOM'ify spapr_vio.c
2017-01-06 0:26 [Qemu-devel] [PATCH v2 0/4] QOM'ify work for ppc xiaoqiang zhao
` (2 preceding siblings ...)
2017-01-06 0:26 ` [Qemu-devel] [PATCH v2 3/4] hw/ppc: QOM'ify ppce500_spin.c xiaoqiang zhao
@ 2017-01-06 0:26 ` xiaoqiang zhao
2017-01-06 4:49 ` [Qemu-devel] [PATCH v2 0/4] QOM'ify work for ppc David Gibson
4 siblings, 0 replies; 6+ messages in thread
From: xiaoqiang zhao @ 2017-01-06 0:26 UTC (permalink / raw)
To: qemu-devel; +Cc: david, agraf, peter.maydell, qemu-ppc
Drop the old and empty SysBus init
Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
---
hw/ppc/spapr_vio.c | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c
index cc1e09c568..8bfc5f971f 100644
--- a/hw/ppc/spapr_vio.c
+++ b/hw/ppc/spapr_vio.c
@@ -538,21 +538,11 @@ VIOsPAPRBus *spapr_vio_bus_init(void)
return bus;
}
-/* Represents sPAPR hcall VIO devices */
-
-static int spapr_vio_bridge_init(SysBusDevice *dev)
-{
- /* nothing */
- return 0;
-}
-
static void spapr_vio_bridge_class_init(ObjectClass *klass, void *data)
{
- SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
DeviceClass *dc = DEVICE_CLASS(klass);
dc->fw_name = "vdevice";
- k->init = spapr_vio_bridge_init;
}
static const TypeInfo spapr_vio_bridge_info = {
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/4] QOM'ify work for ppc
2017-01-06 0:26 [Qemu-devel] [PATCH v2 0/4] QOM'ify work for ppc xiaoqiang zhao
` (3 preceding siblings ...)
2017-01-06 0:26 ` [Qemu-devel] [PATCH v2 4/4] hw/ppc: QOM'ify spapr_vio.c xiaoqiang zhao
@ 2017-01-06 4:49 ` David Gibson
4 siblings, 0 replies; 6+ messages in thread
From: David Gibson @ 2017-01-06 4:49 UTC (permalink / raw)
To: xiaoqiang zhao; +Cc: qemu-devel, agraf, peter.maydell, qemu-ppc
[-- Attachment #1: Type: text/plain, Size: 455 bytes --]
On Fri, Jan 06, 2017 at 08:26:24AM +0800, xiaoqiang zhao wrote:
> This is some QOM'ify work relate with ppc.
> See each commit message for details.
>
> changes in v2:
> remove empty function 'spapr_vio_bridge_init'
Applied to ppc-for-2.9, thanks.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread