aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2015-12-07 16:55:09 +0100
committerPeter Maydell <peter.maydell@linaro.org>2015-12-07 17:13:10 +0000
commit79f21707898aaeebb070cb7301846562b77e6fbf (patch)
tree0cfd391a422be62802dddb17806ece0a68dedf08
parenta616fb75c23d768abdc8688d4d6811d3d7eb03e4 (diff)
downloadqemu-79f21707898aaeebb070cb7301846562b77e6fbf.tar.gz
qemu-79f21707898aaeebb070cb7301846562b77e6fbf.tar.xz
qemu-79f21707898aaeebb070cb7301846562b77e6fbf.zip
sdhci: Sanitize "sdhci-pci" properties for future qomification
We currently fuse controller and card into a single device model, but we intend qomify things properly and separate the two. The properties that really belong to the card would then have to somehow pass-through to the card's properties. To avoid that complication, either mark them experimental or drop them. Properties "capareg", "maxcurr" and the usual PCI device properties belong to the controller. Property "drive" belongs to the card; rename it to "x-drive". Properties "logical_block_size", "physical_block_size", "min_io_size", "opt_io_size", "discard_granularity" belong to the card, but have no effect; drop them. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1449503710-3707-2-git-send-email-armbru@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--hw/sd/sdhci.c9
-rw-r--r--include/hw/sd/sdhci.h2
2 files changed, 8 insertions, 3 deletions
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index d70d1a6ab..861276065 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -1221,7 +1221,12 @@ const VMStateDescription sdhci_vmstate = {
/* Capabilities registers provide information on supported features of this
* specific host controller implementation */
static Property sdhci_pci_properties[] = {
- DEFINE_BLOCK_PROPERTIES(SDHCIState, conf),
+ /*
+ * We currently fuse controller and card into a single device
+ * model, but we intend to separate them. For that purpose, the
+ * properties that belong to the card are marked as experimental.
+ */
+ DEFINE_PROP_DRIVE("x-drive", SDHCIState, blk),
DEFINE_PROP_UINT32("capareg", SDHCIState, capareg,
SDHC_CAPAB_REG_DEFAULT),
DEFINE_PROP_UINT32("maxcurr", SDHCIState, maxcurr, 0),
@@ -1233,7 +1238,7 @@ static void sdhci_pci_realize(PCIDevice *dev, Error **errp)
SDHCIState *s = PCI_SDHCI(dev);
dev->config[PCI_CLASS_PROG] = 0x01; /* Standard Host supported DMA */
dev->config[PCI_INTERRUPT_PIN] = 0x01; /* interrupt pin A */
- sdhci_initfn(s, s->conf.blk);
+ sdhci_initfn(s, s->blk);
s->buf_maxsz = sdhci_get_fifolen(s);
s->fifo_buffer = g_malloc0(s->buf_maxsz);
s->irq = pci_allocate_irq(dev);
diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h
index 9b3031fb8..e78d93857 100644
--- a/include/hw/sd/sdhci.h
+++ b/include/hw/sd/sdhci.h
@@ -39,7 +39,7 @@ typedef struct SDHCIState {
};
SDState *card;
MemoryRegion iomem;
- BlockConf conf;
+ BlockBackend *blk;
QEMUTimer *insert_timer; /* timer for 'changing' sd card. */
QEMUTimer *transfer_timer;