This patchset updates the ancient pxa2xx_mmci device to something resembling modern standards for devices. In particular it makes it a proper sysbus device and switches to VMStateDescription structs.
The only change here (apart from a trivial rebase) is that since I sent the first version, commit 5ec911c30ff433 has updated sd_init() so you can now call it with an already-attached-to-a-device block backend. This means that the ugliness in the first version with a pointer property has gone away and we now have a DEFINE_PROP_DRIVE. (Question: when should a device use DEFINE_PROP_DRIVE and when should it use DEFINE_BLOCK_PROPERTIES to get the PROP_DRIVE and some other stuff? We seem to have examples of both...) There are clearly further cleanup opportunities for this device, like making the sd callbacks into sysbus gpio input lines rather than having an ad-hoc pxa2xx_mmci_handlers() function to set them, but one thing at a time. Changes v1->v2: * (1/3) use an actual DEFINE_PROP_DRIVE property for the drive Peter Maydell (3): hw/sd/pxa2xx_mmci: convert to SysBusDevice object hw/sd/pxa2xx_mmci: Convert to VMStateDescription hw/sd/pxa2xx_mmci: Add reset function hw/sd/pxa2xx_mmci.c | 254 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 152 insertions(+), 102 deletions(-) -- 1.9.1