Hi,
This series also refactor the SDBus codebase to ease further development/series.
- 1: we add another hexbuf_strdup() helper, hoping someone will come with a
clever way to do the same :)
- 2,4,5: add a sdbus_create_bus(master) and sdbus_create_slave(bus) to use
instead of the current qbus_create_inplace(),
- 3: we add some trace events which will result useful later,
- 6-10: we use the TYPE_INTERFACE to enforce a stricter QOM, this also allow us
to remove duplicate types,
- 11: we let the Xilinx Zynq machine set the "sd-bus-name" property, so now a
slave SDCard can be now hot-plugged in the second bus.
In a later series we will update the PL181 and BCM2835 devices, having them
implement the TYPE_SD_BUS_MASTER_INTERFACE.
Regards,
Phil.
Based-on: 20171213195852.30439-15-f4bug@amsat.org
(SDHCI housekeeping)
Philippe Mathieu-Daudé (11):
util/cutils: add qemu_hexbuf_strdup(), yet another hexdump()
bcm2835_peripherals: move GPIO 'sdbus' property link from init() ->
realize()
sdbus: add trace events
sdbus: add sdbus_create_bus() to replace qbus_create_inplace()
sdbus: add sdbus_create_slave()
sdbus: rename SDCardClass -> SDSlaveClass
sdbus: add a SD_BUS_SLAVE interface
sdbus: add a SD_BUS_MASTER interface
sdhci: implement the SD_BUS_MASTER interface
hw/sd/pxa2xx: implement the SD_BUS_MASTER interface
hw/arm/xilinx_zynq: use sdbus_create_slave() to name the different SD
busses
include/hw/sd/sd.h | 3 ++
include/hw/sd/sdhci.h | 3 +-
include/qemu/cutils.h | 3 ++
hw/sd/sd-internal.h | 14 ++++++---
hw/arm/bcm2835_peripherals.c | 9 +++---
hw/arm/xilinx_zynq.c | 9 ++++--
hw/sd/core.c | 74 +++++++++++++++++++++++++++++++++++++-------
hw/sd/pxa2xx_mmci.c | 36 +++++++--------------
hw/sd/sd.c | 8 +++--
hw/sd/sdhci.c | 66 +++++++++++++++++----------------------
util/hexdump.c | 19 ++++++++++++
hw/sd/trace-events | 6 ++++
12 files changed, 162 insertions(+), 88 deletions(-)
--
2.15.1