Message ID | 1361812142-26640-2-git-send-email-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
On Tue, Feb 26, 2013 at 3:08 AM, Peter Maydell <peter.maydell@linaro.org> wrote: > 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> > --- > hw/sysbus.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/sysbus.c b/hw/sysbus.c > index 6d9d1df..e9a16ac 100644 > --- a/hw/sysbus.c > +++ b/hw/sysbus.c > @@ -118,6 +118,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); > } > > -- > 1.7.9.5 > >
diff --git a/hw/sysbus.c b/hw/sysbus.c index 6d9d1df..e9a16ac 100644 --- a/hw/sysbus.c +++ b/hw/sysbus.c @@ -118,6 +118,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); }