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 <thuth@redhat.com>
Signed-off-by: KONRAD Frederic <frederic.konrad@adacore.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
KONRAD Frederic 2017-08-25 13:46:09 +02:00 committed by Michael Tokarev
parent 401bc051d7
commit b9710bc911
1 changed files with 11 additions and 0 deletions

View File

@ -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
};