mirror of https://gitee.com/openkylin/qemu.git
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>
This commit is contained in:
parent
8e953a658f
commit
9e41bade85
|
@ -1449,17 +1449,10 @@ static const VMStateDescription vmstate_pxa2xx_i2c = {
|
|||
}
|
||||
};
|
||||
|
||||
static int pxa2xx_i2c_slave_init(I2CSlave *i2c)
|
||||
{
|
||||
/* Nothing to do. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void pxa2xx_i2c_slave_class_init(ObjectClass *klass, void *data)
|
||||
{
|
||||
I2CSlaveClass *k = I2C_SLAVE_CLASS(klass);
|
||||
|
||||
k->init = pxa2xx_i2c_slave_init;
|
||||
k->event = pxa2xx_i2c_event;
|
||||
k->recv = pxa2xx_i2c_rx;
|
||||
k->send = pxa2xx_i2c_tx;
|
||||
|
|
|
@ -202,12 +202,6 @@ static int tosa_dac_recv(I2CSlave *s)
|
|||
return -1;
|
||||
}
|
||||
|
||||
static int tosa_dac_init(I2CSlave *i2c)
|
||||
{
|
||||
/* Nothing to do. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void tosa_tg_init(PXA2xxState *cpu)
|
||||
{
|
||||
I2CBus *bus = pxa2xx_i2c_bus(cpu->i2c[0]);
|
||||
|
@ -275,7 +269,6 @@ static void tosa_dac_class_init(ObjectClass *klass, void *data)
|
|||
{
|
||||
I2CSlaveClass *k = I2C_SLAVE_CLASS(klass);
|
||||
|
||||
k->init = tosa_dac_init;
|
||||
k->event = tosa_dac_event;
|
||||
k->recv = tosa_dac_recv;
|
||||
k->send = tosa_dac_send;
|
||||
|
|
|
@ -263,12 +263,6 @@ static int aer915_recv(I2CSlave *slave)
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int aer915_init(I2CSlave *i2c)
|
||||
{
|
||||
/* Nothing to do. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static VMStateDescription vmstate_aer915_state = {
|
||||
.name = "aer915",
|
||||
.version_id = 1,
|
||||
|
@ -285,7 +279,6 @@ static void aer915_class_init(ObjectClass *klass, void *data)
|
|||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
I2CSlaveClass *k = I2C_SLAVE_CLASS(klass);
|
||||
|
||||
k->init = aer915_init;
|
||||
k->event = aer915_event;
|
||||
k->recv = aer915_recv;
|
||||
k->send = aer915_send;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -198,11 +198,6 @@ static int ds1338_send(I2CSlave *i2c, uint8_t data)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int ds1338_init(I2CSlave *i2c)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ds1338_reset(DeviceState *dev)
|
||||
{
|
||||
DS1338State *s = DS1338(dev);
|
||||
|
@ -220,7 +215,6 @@ static void ds1338_class_init(ObjectClass *klass, void *data)
|
|||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
I2CSlaveClass *k = I2C_SLAVE_CLASS(klass);
|
||||
|
||||
k->init = ds1338_init;
|
||||
k->event = ds1338_event;
|
||||
k->recv = ds1338_recv;
|
||||
k->send = ds1338_send;
|
||||
|
|
Loading…
Reference in New Issue