summary refs log tree commit diff stats
path: root/hw/i2c
diff options
context:
space:
mode:
authorAlastair D'Silva <alastair@d-silva.org>2016-12-27 14:59:29 +0000
committerPeter Maydell <peter.maydell@linaro.org>2016-12-27 14:59:29 +0000
commit9e41bade85ef338afd983c109368d1bbbe931f80 (patch)
tree2356fb69bf69a56f9b21f05945dc368f7c137284 /hw/i2c
parent8e953a658fa13b05bea67899a91d8b65f2b89f11 (diff)
downloadfocaccia-qemu-9e41bade85ef338afd983c109368d1bbbe931f80.tar.gz
focaccia-qemu-9e41bade85ef338afd983c109368d1bbbe931f80.zip
hw/i2c: Add a NULL check for i2c slave init callbacks
Add a NULL check for i2c slave init callbacks, so that we no longer
need to implement empty init functions.

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
Message-id: 20161202054617.6749-4-alastair@au1.ibm.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: squashed in later tweak from Alistair to if() phrasing]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/i2c')
-rw-r--r--hw/i2c/core.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/hw/i2c/core.c b/hw/i2c/core.c
index abd4c4cddb..e40781ea3b 100644
--- a/hw/i2c/core.c
+++ b/hw/i2c/core.c
@@ -260,7 +260,11 @@ static int i2c_slave_qdev_init(DeviceState *dev)
     I2CSlave *s = I2C_SLAVE(dev);
     I2CSlaveClass *sc = I2C_SLAVE_GET_CLASS(s);
 
-    return sc->init(s);
+    if (sc->init) {
+        return sc->init(s);
+    }
+
+    return 0;
 }
 
 DeviceState *i2c_create_slave(I2CBus *bus, const char *name, uint8_t addr)