From: KONRAD Frederic Date: Fri, 25 Aug 2017 11:46:09 +0000 (+0200) Subject: aux-to-i2c-bridge: don't allow user to create one X-Git-Tag: v2.11.0-rc0~79^2~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b9710bc911d8f3dbdb339296283b27951a8566f3;p=thirdparty%2Fqemu.git aux-to-i2c-bridge: don't allow user to create one This device is private and is created once per aux-bus. So don't allow the user to create one from command-line. Reported-by: Thomas Huth Signed-off-by: KONRAD Frederic Reviewed-by: Thomas Huth Signed-off-by: Michael Tokarev --- diff --git a/hw/misc/auxbus.c b/hw/misc/auxbus.c index 8a90ddda842..11827450444 100644 --- a/hw/misc/auxbus.c +++ b/hw/misc/auxbus.c @@ -210,6 +210,16 @@ struct AUXTOI2CState { I2CBus *i2c_bus; }; +static void aux_bridge_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + /* This device is private and is created only once for each + * aux-bus in aux_init_bus(..). So don't allow the user to add one. + */ + dc->user_creatable = false; +} + static void aux_bridge_init(Object *obj) { AUXTOI2CState *s = AUXTOI2C(obj); @@ -225,6 +235,7 @@ static inline I2CBus *aux_bridge_get_i2c_bus(AUXTOI2CState *bridge) static const TypeInfo aux_to_i2c_type_info = { .name = TYPE_AUXTOI2C, .parent = TYPE_DEVICE, + .class_init = aux_bridge_class_init, .instance_size = sizeof(AUXTOI2CState), .instance_init = aux_bridge_init };