[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 02/21] block/noenand: Convert sysbus init functio
From: |
Mao Zhongyi |
Subject: |
[Qemu-devel] [PATCH v3 02/21] block/noenand: Convert sysbus init function to realize function |
Date: |
Fri, 30 Nov 2018 17:38:33 +0800 |
Use DeviceClass rather than SysBusDeviceClass in
onenand_class_init().
Cc: address@hidden
Cc: address@hidden
Cc: address@hidden
Signed-off-by: Mao Zhongyi <address@hidden>
Signed-off-by: Zhang Shengju <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/block/onenand.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/hw/block/onenand.c b/hw/block/onenand.c
index 2b48609776..f11118a687 100644
--- a/hw/block/onenand.c
+++ b/hw/block/onenand.c
@@ -772,9 +772,9 @@ static const MemoryRegionOps onenand_ops = {
.endianness = DEVICE_NATIVE_ENDIAN,
};
-static int onenand_initfn(SysBusDevice *sbd)
+static void onenand_realize(DeviceState *dev, Error **errp)
{
- DeviceState *dev = DEVICE(sbd);
+ SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
OneNANDState *s = ONE_NAND(dev);
uint32_t size = 1 << (24 + ((s->id.dev >> 4) & 7));
void *ram;
@@ -794,14 +794,14 @@ static int onenand_initfn(SysBusDevice *sbd)
0xff, size + (size >> 5));
} else {
if (blk_is_read_only(s->blk)) {
- error_report("Can't use a read-only drive");
- return -1;
+ error_setg(errp, "Can't use a read-only drive");
+ return;
}
blk_set_perm(s->blk, BLK_PERM_CONSISTENT_READ | BLK_PERM_WRITE,
BLK_PERM_ALL, &local_err);
if (local_err) {
- error_report_err(local_err);
- return -1;
+ error_propagate(errp, local_err);
+ return;
}
s->blk_cur = s->blk;
}
@@ -826,7 +826,6 @@ static int onenand_initfn(SysBusDevice *sbd)
| ((s->id.dev & 0xff) << 8)
| (s->id.ver & 0xff),
&vmstate_onenand, s);
- return 0;
}
static Property onenand_properties[] = {
@@ -841,9 +840,8 @@ static Property onenand_properties[] = {
static void onenand_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
- SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);
- k->init = onenand_initfn;
+ dc->realize = onenand_realize;
dc->reset = onenand_system_reset;
dc->props = onenand_properties;
}
--
2.17.1
- [Qemu-devel] [PATCH v3 00/21] QOM'ify SysBusDeviceClass->init, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 08/21] milkymist-softusb: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 01/21] musicpal: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 02/21] block/noenand: Convert sysbus init function to realize function,
Mao Zhongyi <=
- [Qemu-devel] [PATCH v3 09/21] input/pl050: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 14/21] nvram/ds1225y: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 12/21] milkymist-pfpu: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 07/21] gpio/puv3_gpio: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 17/21] timer/grlib_gptimer: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 03/21] char/grlib_apbuart: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 20/21] xen_backend: remove xen_sysdev_init() function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 04/21] core/empty_slot: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 11/21] milkymist-hpdmc: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30
- [Qemu-devel] [PATCH v3 05/21] display/g364fb: Convert sysbus init function to realize function, Mao Zhongyi, 2018/11/30