@@ -88,6 +88,9 @@ typedef struct {
#define SD_BUS_CLASS(klass) OBJECT_CLASS_CHECK(SDBusClass, (klass), TYPE_SD_BUS)
#define SD_BUS_GET_CLASS(obj) OBJECT_GET_CLASS(SDBusClass, (obj), TYPE_SD_BUS)
+#define TYPE_SD_BUS_MASTER_INTERFACE "sd-bus-master"
+#define SDBUS_MASTER_CLASS(klass) \
+ OBJECT_CLASS_CHECK(SDBusClass, (klass), TYPE_SD_BUS_MASTER_INTERFACE)
typedef struct {
/*< private >*/
@@ -181,6 +181,12 @@ static const TypeInfo sd_bus_info = {
.class_size = sizeof(SDBusClass),
};
+static const TypeInfo sd_master_info = {
+ .name = TYPE_SD_BUS_MASTER_INTERFACE,
+ .parent = TYPE_INTERFACE,
+ .class_size = sizeof(SDBusClass),
+};
+
static const TypeInfo sd_slave_info = {
.name = TYPE_SD_BUS_SLAVE_INTERFACE,
.parent = TYPE_INTERFACE,
@@ -190,6 +196,7 @@ static const TypeInfo sd_slave_info = {
static void sd_bus_register_types(void)
{
type_register_static(&sd_bus_info);
+ type_register_static(&sd_master_info);
type_register_static(&sd_slave_info);
}
Now than we have clearly separated the SD slave devices, let continue adding the SD master interface, this will simplify the design. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- hw/sd/sd-internal.h | 3 +++ hw/sd/core.c | 7 +++++++ 2 files changed, 10 insertions(+)