Message ID | 1503661569-11408-1-git-send-email-frederic.konrad@adacore.com |
---|---|
State | New |
Headers | show |
On 25.08.2017 13:46, KONRAD Frederic wrote: > 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 <thuth@redhat.com> > Signed-off-by: KONRAD Frederic <frederic.konrad@adacore.com> > --- > hw/misc/auxbus.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/hw/misc/auxbus.c b/hw/misc/auxbus.c > index 8a90ddd..1182745 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 > }; > Reviewed-by: Thomas Huth <thuth@redhat.com>
25.08.2017 14:46, KONRAD Frederic wrote: > This device is private and is created once per aux-bus. > So don't allow the user to create one from command-line. Applied to -trivial, thanks! /mjt
diff --git a/hw/misc/auxbus.c b/hw/misc/auxbus.c index 8a90ddd..1182745 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 };
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 <thuth@redhat.com> Signed-off-by: KONRAD Frederic <frederic.konrad@adacore.com> --- hw/misc/auxbus.c | 11 +++++++++++ 1 file changed, 11 insertions(+)