All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] hw/sd/pxa2xx_mmci: convert to sysbus and vmstate
@ 2015-08-11 14:15 Peter Maydell
  2015-08-11 14:15 ` [Qemu-devel] [PATCH 1/3] hw/sd/pxa2xx_mmci: convert to SysBusDevice object Peter Maydell
                   ` (3 more replies)
  0 siblings, 4 replies; 25+ messages in thread
From: Peter Maydell @ 2015-08-11 14:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Markus Armbruster, patches

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 major issue I have with this is in patch 1:
I wanted the device to have a property so its users can set
the BlockBackend* it should use. Unfortunately, DEFINE_PROP_DRIVE()
is no good here, because setting a drive property results in a
call to blk_attach_dev() which attaches the BlockBackend to this
device. That then means that the call in sd_init() to attach the
BlockBackend to the SD card object aborts. I needed a way to
have a drive property which didn't mean "and this device claims
the drive", and the best I could come up with was to use a
pointer property. Suggestions for better approaches welcome.
(The other SD controller devices are either also ancient non-QOM
devices, or use drive_get_next() in the init function...)

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.

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 | 261 ++++++++++++++++++++++++++++++++--------------------
 1 file changed, 159 insertions(+), 102 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2015-12-07 14:33 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-11 14:15 [Qemu-devel] [PATCH 0/3] hw/sd/pxa2xx_mmci: convert to sysbus and vmstate Peter Maydell
2015-08-11 14:15 ` [Qemu-devel] [PATCH 1/3] hw/sd/pxa2xx_mmci: convert to SysBusDevice object Peter Maydell
2015-09-07 16:40   ` Markus Armbruster
2015-09-07 16:42     ` Peter Maydell
2015-09-07 16:57       ` Markus Armbruster
2015-12-03 21:20         ` Peter Maydell
2015-12-04  7:30           ` Markus Armbruster
2015-12-04 11:00             ` Peter Maydell
2015-12-04 12:50               ` Markus Armbruster
2015-12-04 12:55                 ` Peter Maydell
2015-12-04 13:04                   ` Markus Armbruster
2015-12-04 18:49                   ` Kevin O'Connor
2015-12-04 16:42               ` Paolo Bonzini
2015-12-04 18:50                 ` Peter Crosthwaite
2015-12-04 19:24                   ` Kevin O'Connor
2015-12-07  0:02                     ` Peter Crosthwaite
2015-12-07  6:11                       ` Kevin O'Connor
2015-12-07  8:50                         ` Markus Armbruster
2015-12-07  9:58                           ` Paolo Bonzini
2015-12-07 10:31                             ` Markus Armbruster
2015-12-07 14:32                               ` Peter Maydell
2015-09-07 18:39       ` Peter Crosthwaite
2015-08-11 14:15 ` [Qemu-devel] [PATCH 2/3] hw/sd/pxa2xx_mmci: Convert to VMStateDescription Peter Maydell
2015-08-11 14:15 ` [Qemu-devel] [PATCH 3/3] hw/sd/pxa2xx_mmci: Add reset function Peter Maydell
2015-09-07 15:34 ` [Qemu-devel] [PATCH 0/3] hw/sd/pxa2xx_mmci: convert to sysbus and vmstate Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.