提交 8aae84a1 编写于 作者: A Andreas Färber 提交者: Anthony Liguori

i2c: Drop I2C_SLAVE_FROM_QDEV() macro

It is not being used in hot paths and is obsoleted by I2C_SLAVE()
QOM cast macro. Clean it up using a scripted conversion, so that it
doesn't get used in new code.

Some of its callers were combining it with FROM_I2C_SLAVE() macro, which
is equally obsolete but needs to be replaced in a type-specific way.
Signed-off-by: NAndreas Färber <afaerber@suse.de>
Cc: Kuo-Jung Su <dantesu@faraday-tech.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 6c8fec83
...@@ -198,7 +198,7 @@ static int ds1338_init(I2CSlave *i2c) ...@@ -198,7 +198,7 @@ static int ds1338_init(I2CSlave *i2c)
static void ds1338_reset(DeviceState *dev) static void ds1338_reset(DeviceState *dev)
{ {
DS1338State *s = FROM_I2C_SLAVE(DS1338State, I2C_SLAVE_FROM_QDEV(dev)); DS1338State *s = FROM_I2C_SLAVE(DS1338State, I2C_SLAVE(dev));
/* The clock is running and synchronized with the host */ /* The clock is running and synchronized with the host */
s->offset = 0; s->offset = 0;
......
...@@ -92,7 +92,7 @@ int i2c_start_transfer(i2c_bus *bus, uint8_t address, int recv) ...@@ -92,7 +92,7 @@ int i2c_start_transfer(i2c_bus *bus, uint8_t address, int recv)
QTAILQ_FOREACH(kid, &bus->qbus.children, sibling) { QTAILQ_FOREACH(kid, &bus->qbus.children, sibling) {
DeviceState *qdev = kid->child; DeviceState *qdev = kid->child;
I2CSlave *candidate = I2C_SLAVE_FROM_QDEV(qdev); I2CSlave *candidate = I2C_SLAVE(qdev);
if (candidate->address == address) { if (candidate->address == address) {
slave = candidate; slave = candidate;
break; break;
...@@ -204,7 +204,7 @@ const VMStateDescription vmstate_i2c_slave = { ...@@ -204,7 +204,7 @@ const VMStateDescription vmstate_i2c_slave = {
static int i2c_slave_qdev_init(DeviceState *dev) static int i2c_slave_qdev_init(DeviceState *dev)
{ {
I2CSlave *s = I2C_SLAVE_FROM_QDEV(dev); I2CSlave *s = I2C_SLAVE(dev);
I2CSlaveClass *sc = I2C_SLAVE_GET_CLASS(s); I2CSlaveClass *sc = I2C_SLAVE_GET_CLASS(s);
return sc->init(s); return sc->init(s);
......
...@@ -59,7 +59,6 @@ void i2c_nack(i2c_bus *bus); ...@@ -59,7 +59,6 @@ void i2c_nack(i2c_bus *bus);
int i2c_send(i2c_bus *bus, uint8_t data); int i2c_send(i2c_bus *bus, uint8_t data);
int i2c_recv(i2c_bus *bus); int i2c_recv(i2c_bus *bus);
#define I2C_SLAVE_FROM_QDEV(dev) DO_UPCAST(I2CSlave, qdev, dev)
#define FROM_I2C_SLAVE(type, dev) DO_UPCAST(type, i2c, dev) #define FROM_I2C_SLAVE(type, dev) DO_UPCAST(type, i2c, dev)
DeviceState *i2c_create_slave(i2c_bus *bus, const char *name, uint8_t addr); DeviceState *i2c_create_slave(i2c_bus *bus, const char *name, uint8_t addr);
......
...@@ -476,7 +476,7 @@ static int lm8323_init(I2CSlave *i2c) ...@@ -476,7 +476,7 @@ static int lm8323_init(I2CSlave *i2c)
void lm832x_key_event(DeviceState *dev, int key, int state) void lm832x_key_event(DeviceState *dev, int key, int state)
{ {
LM823KbdState *s = FROM_I2C_SLAVE(LM823KbdState, I2C_SLAVE_FROM_QDEV(dev)); LM823KbdState *s = FROM_I2C_SLAVE(LM823KbdState, I2C_SLAVE(dev));
if ((s->status & INT_ERROR) && (s->error & ERR_FIFOOVR)) if ((s->status & INT_ERROR) && (s->error & ERR_FIFOOVR))
return; return;
......
...@@ -25,7 +25,7 @@ typedef struct { ...@@ -25,7 +25,7 @@ typedef struct {
static void max7310_reset(DeviceState *dev) static void max7310_reset(DeviceState *dev)
{ {
MAX7310State *s = FROM_I2C_SLAVE(MAX7310State, I2C_SLAVE_FROM_QDEV(dev)); MAX7310State *s = FROM_I2C_SLAVE(MAX7310State, I2C_SLAVE(dev));
s->level &= s->direction; s->level &= s->direction;
s->direction = 0xff; s->direction = 0xff;
s->polarity = 0xf0; s->polarity = 0xf0;
......
...@@ -1468,7 +1468,7 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base, ...@@ -1468,7 +1468,7 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base,
s = FROM_SYSBUS(PXA2xxI2CState, i2c_dev); s = FROM_SYSBUS(PXA2xxI2CState, i2c_dev);
/* FIXME: Should the slave device really be on a separate bus? */ /* FIXME: Should the slave device really be on a separate bus? */
dev = i2c_create_slave(i2c_init_bus(NULL, "dummy"), "pxa2xx-i2c-slave", 0); dev = i2c_create_slave(i2c_init_bus(NULL, "dummy"), "pxa2xx-i2c-slave", 0);
s->slave = FROM_I2C_SLAVE(PXA2xxI2CSlaveState, I2C_SLAVE_FROM_QDEV(dev)); s->slave = FROM_I2C_SLAVE(PXA2xxI2CSlaveState, I2C_SLAVE(dev));
s->slave->host = s; s->slave->host = s;
return s; return s;
......
...@@ -632,7 +632,7 @@ static void wm8750_fini(I2CSlave *i2c) ...@@ -632,7 +632,7 @@ static void wm8750_fini(I2CSlave *i2c)
void wm8750_data_req_set(DeviceState *dev, void wm8750_data_req_set(DeviceState *dev,
void (*data_req)(void *, int, int), void *opaque) void (*data_req)(void *, int, int), void *opaque)
{ {
WM8750State *s = FROM_I2C_SLAVE(WM8750State, I2C_SLAVE_FROM_QDEV(dev)); WM8750State *s = FROM_I2C_SLAVE(WM8750State, I2C_SLAVE(dev));
s->data_req = data_req; s->data_req = data_req;
s->opaque = opaque; s->opaque = opaque;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册