summary refs log tree commit diff stats
path: root/hw/sd/sdhci.h
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2014-12-08 18:10:33 -0500
committerPaolo Bonzini <pbonzini@redhat.com>2014-12-15 17:34:44 +0100
commit224d10ff5aea9e74a1792fc21188bc9752c43ee9 (patch)
treea0e209524110f7ccce1348f80e0a1c3655c6127c /hw/sd/sdhci.h
parentece5e5bfa1377546d5f94e1bb04298e48ce60c1c (diff)
downloadfocaccia-qemu-224d10ff5aea9e74a1792fc21188bc9752c43ee9.tar.gz
focaccia-qemu-224d10ff5aea9e74a1792fc21188bc9752c43ee9.zip
sdhci: Support SDHCI devices on PCI
Support for PCI devices following the "SD Host Controller Simplified
Specification Version 2.00" spec.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/sd/sdhci.h')
-rw-r--r--hw/sd/sdhci.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/hw/sd/sdhci.h b/hw/sd/sdhci.h
index 9fbf682935..3352d23d68 100644
--- a/hw/sd/sdhci.h
+++ b/hw/sd/sdhci.h
@@ -26,6 +26,7 @@
 #define SDHCI_H
 
 #include "qemu-common.h"
+#include "hw/pci/pci.h"
 #include "hw/sysbus.h"
 #include "hw/sd.h"
 
@@ -232,7 +233,10 @@ enum {
 
 /* SD/MMC host controller state */
 typedef struct SDHCIState {
-    SysBusDevice busdev;
+    union {
+        PCIDevice pcidev;
+        SysBusDevice busdev;
+    };
     SDState *card;
     MemoryRegion iomem;
 
@@ -281,6 +285,9 @@ typedef struct SDHCIState {
 
 extern const VMStateDescription sdhci_vmstate;
 
+#define TYPE_PCI_SDHCI "sdhci-pci"
+#define PCI_SDHCI(obj) OBJECT_CHECK(SDHCIState, (obj), TYPE_PCI_SDHCI)
+
 #define TYPE_SYSBUS_SDHCI "generic-sdhci"
 #define SYSBUS_SDHCI(obj)                               \
      OBJECT_CHECK(SDHCIState, (obj), TYPE_SYSBUS_SDHCI)