diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2013-03-15 14:34:19 +0000 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-04-01 09:08:33 -0500 |
commit | 4ce5dae88ecf2bafa0cd663de7e923728b1b3672 (patch) | |
tree | 6621d7b14ed858057614f7083ce4760f2b28fa9e | |
parent | 5357406415571b3f03d05b60a143afdea2b9b1b9 (diff) |
sysbus: make SysBusDeviceClass::init optional
Make the SysBusDeviceClass::init optional, for devices which
genuinely don't need to do anything here. In particular, simple
devices which can do all their initialization in their
instance_init method don't need either a DeviceClass::realize
or SysBusDeviceClass::init method.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Message-id: 1363358063-23973-2-git-send-email-peter.maydell@linaro.org
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | hw/sysbus.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/sysbus.c b/hw/sysbus.c index 702fc728f4..9a19468347 100644 --- a/hw/sysbus.c +++ b/hw/sysbus.c @@ -137,6 +137,9 @@ static int sysbus_device_init(DeviceState *dev) SysBusDevice *sd = SYS_BUS_DEVICE(dev); SysBusDeviceClass *sbc = SYS_BUS_DEVICE_GET_CLASS(sd); + if (!sbc->init) { + return 0; + } return sbc->init(sd); } |