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
);