2 * QEMU Synchronous Serial Interface support
4 * Copyright (c) 2009 CodeSourcery.
5 * Written by Paul Brook
7 * This code is licenced under the GNU GPL v2.
16 static void ssi_slave_init(DeviceState *dev, void *opaque)
18 SSISlaveInfo *info = opaque;
19 SSISlave *s = SSI_SLAVE_FROM_QDEV(dev);
20 SSIBus *bus = qdev_get_bus(dev);
27 void ssi_register_slave(const char *name, int size, SSISlaveInfo *info)
29 assert(size >= sizeof(SSISlave));
30 qdev_register(name, size, ssi_slave_init, info);
33 DeviceState *ssi_create_slave(SSIBus *bus, const char *name)
36 dev = qdev_create(bus, name);
41 SSIBus *ssi_create_bus(void)
43 return qemu_mallocz(sizeof(SSIBus));
46 uint32_t ssi_transfer(SSIBus *bus, uint32_t val)
51 return bus->slave->info->transfer(bus->slave, val);