[Qemu-devel] [PATCH for-2.11] aux-to-i2c-bridge: don't allow user to create one

KONRAD Frederic posted 1 patch 6 years, 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1503661569-11408-1-git-send-email-frederic.konrad@adacore.com
Test FreeBSD passed
Test checkpatch passed
Test docker passed
Test s390x passed
hw/misc/auxbus.c | 11 +++++++++++
1 file changed, 11 insertions(+)
[Qemu-devel] [PATCH for-2.11] aux-to-i2c-bridge: don't allow user to create one
Posted by KONRAD Frederic 6 years, 8 months ago
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
 };
-- 
1.8.3.1


Re: [Qemu-devel] [PATCH for-2.11] aux-to-i2c-bridge: don't allow user to create one
Posted by Thomas Huth 6 years, 8 months ago
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>


Re: [Qemu-devel] [PATCH for-2.11] aux-to-i2c-bridge: don't allow user to create one
Posted by Michael Tokarev 6 years, 7 months ago
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