[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 07/11] sdbus: add a SD_BUS_SLAVE interface
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH 07/11] sdbus: add a SD_BUS_SLAVE interface |
Date: |
Wed, 13 Dec 2017 17:44:32 -0300 |
Devices implementing this interface can be (hot-)plugged to a SD bus.
The sdcard device is currently the unique implementation.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/sd/sd-internal.h | 5 +++--
hw/sd/core.c | 7 +++++++
hw/sd/sd.c | 4 ++++
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/hw/sd/sd-internal.h b/hw/sd/sd-internal.h
index 85a747ea64..4576d2f8a8 100644
--- a/hw/sd/sd-internal.h
+++ b/hw/sd/sd-internal.h
@@ -66,10 +66,11 @@ typedef enum {
typedef struct SDState SDState;
+#define TYPE_SD_BUS_SLAVE_INTERFACE "sd-bus-slave"
#define SDBUS_SLAVE_CLASS(klass) \
- OBJECT_CLASS_CHECK(SDSlaveClass, (klass), TYPE_SD_CARD)
+ OBJECT_CLASS_CHECK(SDSlaveClass, (klass), TYPE_SD_BUS_SLAVE_INTERFACE)
#define SDBUS_SLAVE_GET_CLASS(obj) \
- OBJECT_GET_CLASS(SDSlaveClass, (obj), TYPE_SD_CARD)
+ OBJECT_GET_CLASS(SDSlaveClass, (obj), TYPE_SD_BUS_SLAVE_INTERFACE)
typedef struct {
/*< private >*/
diff --git a/hw/sd/core.c b/hw/sd/core.c
index cd5b531cfa..dc1571befc 100644
--- a/hw/sd/core.c
+++ b/hw/sd/core.c
@@ -181,9 +181,16 @@ static const TypeInfo sd_bus_info = {
.class_size = sizeof(SDBusClass),
};
+static const TypeInfo sd_slave_info = {
+ .name = TYPE_SD_BUS_SLAVE_INTERFACE,
+ .parent = TYPE_INTERFACE,
+ .class_size = sizeof(SDBusClass),
+};
+
static void sd_bus_register_types(void)
{
type_register_static(&sd_bus_info);
+ type_register_static(&sd_slave_info);
}
type_init(sd_bus_register_types)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 97046df5c3..8e12b07ee4 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -1942,6 +1942,10 @@ static const TypeInfo sd_info = {
.class_init = sd_class_init,
.instance_init = sd_instance_init,
.instance_finalize = sd_instance_finalize,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_SD_BUS_SLAVE_INTERFACE },
+ { },
+ },
};
static void sd_register_types(void)
--
2.15.1
- [Qemu-devel] [RFC PATCH 01/11] util/cutils: add qemu_hexbuf_strdup(), yet another hexdump(), (continued)
- [Qemu-devel] [RFC PATCH 01/11] util/cutils: add qemu_hexbuf_strdup(), yet another hexdump(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 02/11] bcm2835_peripherals: move GPIO 'sdbus' property link from init() -> realize(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 03/11] sdbus: add trace events, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 04/11] sdbus: add sdbus_create_bus() to replace qbus_create_inplace(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 05/11] sdbus: add sdbus_create_slave(), Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 06/11] sdbus: rename SDCardClass -> SDSlaveClass, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 07/11] sdbus: add a SD_BUS_SLAVE interface,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH 08/11] sdbus: add a SD_BUS_MASTER interface, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 09/11] sdhci: implement the SD_BUS_MASTER interface, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 10/11] hw/sd/pxa2xx: implement the SD_BUS_MASTER interface, Philippe Mathieu-Daudé, 2017/12/13
- [Qemu-devel] [PATCH 11/11] hw/arm/xilinx_zynq: use sdbus_create_slave() to name the different SD busses, Philippe Mathieu-Daudé, 2017/12/13