Patchwork [03/10] qom: export object_property_is_child, object_property_is_link

login
register
mail settings
Submitter pingfan liu
Date Aug. 24, 2012, 9:49 a.m.
Message ID <1345801763-24227-4-git-send-email-qemulist@gmail.com>
Download mbox | patch
Permalink /patch/179806/
State New
Headers show

Comments

pingfan liu - Aug. 24, 2012, 9:49 a.m.
From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>

qdev will use them to judge how to remove the bus and device's
reference. So export them in object.h

Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
---
 include/qemu/object.h |    3 +++
 qom/object.c          |    4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)
Paolo Bonzini - Aug. 24, 2012, 2:51 p.m.
Il 24/08/2012 11:49, Liu Ping Fan ha scritto:
> From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
> 
> qdev will use them to judge how to remove the bus and device's
> reference. So export them in object.h

This series doesn't use them.

Paolo

> Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
> ---
>  include/qemu/object.h |    3 +++
>  qom/object.c          |    4 ++--
>  2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/include/qemu/object.h b/include/qemu/object.h
> index cc75fee..7cc3ebb 100644
> --- a/include/qemu/object.h
> +++ b/include/qemu/object.h
> @@ -431,6 +431,9 @@ struct InterfaceClass
>  #define INTERFACE_CHECK(interface, obj, name) \
>      ((interface *)object_dynamic_cast_assert(OBJECT((obj)), (name)))
>  
> +inline bool object_property_is_child(ObjectProperty *prop);
> +inline bool object_property_is_link(ObjectProperty *prop);
> +
>  /**
>   * object_new:
>   * @typename: The name of the type of the object to instantiate.
> diff --git a/qom/object.c b/qom/object.c
> index 00f98d7..be460df 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -318,12 +318,12 @@ void object_initialize(void *data, const char *typename)
>      object_initialize_with_type(data, type);
>  }
>  
> -static inline bool object_property_is_child(ObjectProperty *prop)
> +inline bool object_property_is_child(ObjectProperty *prop)
>  {
>      return strstart(prop->type, "child<", NULL);
>  }
>  
> -static inline bool object_property_is_link(ObjectProperty *prop)
> +inline bool object_property_is_link(ObjectProperty *prop)
>  {
>      return strstart(prop->type, "link<", NULL);
>  }
>
pingfan liu - Aug. 25, 2012, 7:43 a.m.
On Fri, Aug 24, 2012 at 10:51 PM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 24/08/2012 11:49, Liu Ping Fan ha scritto:
>> From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
>>
>> qdev will use them to judge how to remove the bus and device's
>> reference. So export them in object.h
>
> This series doesn't use them.
>
Yeap,  will fix it in V2.

Thanks,
pingfan

> Paolo
>
>> Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
>> ---
>>  include/qemu/object.h |    3 +++
>>  qom/object.c          |    4 ++--
>>  2 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/include/qemu/object.h b/include/qemu/object.h
>> index cc75fee..7cc3ebb 100644
>> --- a/include/qemu/object.h
>> +++ b/include/qemu/object.h
>> @@ -431,6 +431,9 @@ struct InterfaceClass
>>  #define INTERFACE_CHECK(interface, obj, name) \
>>      ((interface *)object_dynamic_cast_assert(OBJECT((obj)), (name)))
>>
>> +inline bool object_property_is_child(ObjectProperty *prop);
>> +inline bool object_property_is_link(ObjectProperty *prop);
>> +
>>  /**
>>   * object_new:
>>   * @typename: The name of the type of the object to instantiate.
>> diff --git a/qom/object.c b/qom/object.c
>> index 00f98d7..be460df 100644
>> --- a/qom/object.c
>> +++ b/qom/object.c
>> @@ -318,12 +318,12 @@ void object_initialize(void *data, const char *typename)
>>      object_initialize_with_type(data, type);
>>  }
>>
>> -static inline bool object_property_is_child(ObjectProperty *prop)
>> +inline bool object_property_is_child(ObjectProperty *prop)
>>  {
>>      return strstart(prop->type, "child<", NULL);
>>  }
>>
>> -static inline bool object_property_is_link(ObjectProperty *prop)
>> +inline bool object_property_is_link(ObjectProperty *prop)
>>  {
>>      return strstart(prop->type, "link<", NULL);
>>  }
>>
>
Blue Swirl - Aug. 25, 2012, 8:04 a.m.
On Fri, Aug 24, 2012 at 9:49 AM, Liu Ping Fan <qemulist@gmail.com> wrote:
> From: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
>
> qdev will use them to judge how to remove the bus and device's
> reference. So export them in object.h
>
> Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
> ---
>  include/qemu/object.h |    3 +++
>  qom/object.c          |    4 ++--
>  2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/include/qemu/object.h b/include/qemu/object.h
> index cc75fee..7cc3ebb 100644
> --- a/include/qemu/object.h
> +++ b/include/qemu/object.h
> @@ -431,6 +431,9 @@ struct InterfaceClass
>  #define INTERFACE_CHECK(interface, obj, name) \
>      ((interface *)object_dynamic_cast_assert(OBJECT((obj)), (name)))
>
> +inline bool object_property_is_child(ObjectProperty *prop);
> +inline bool object_property_is_link(ObjectProperty *prop);

This linkage does not make sense, please remove 'inline'.

> +
>  /**
>   * object_new:
>   * @typename: The name of the type of the object to instantiate.
> diff --git a/qom/object.c b/qom/object.c
> index 00f98d7..be460df 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -318,12 +318,12 @@ void object_initialize(void *data, const char *typename)
>      object_initialize_with_type(data, type);
>  }
>
> -static inline bool object_property_is_child(ObjectProperty *prop)
> +inline bool object_property_is_child(ObjectProperty *prop)
>  {
>      return strstart(prop->type, "child<", NULL);
>  }
>
> -static inline bool object_property_is_link(ObjectProperty *prop)
> +inline bool object_property_is_link(ObjectProperty *prop)
>  {
>      return strstart(prop->type, "link<", NULL);
>  }
> --
> 1.7.4.4
>
>

Patch

diff --git a/include/qemu/object.h b/include/qemu/object.h
index cc75fee..7cc3ebb 100644
--- a/include/qemu/object.h
+++ b/include/qemu/object.h
@@ -431,6 +431,9 @@  struct InterfaceClass
 #define INTERFACE_CHECK(interface, obj, name) \
     ((interface *)object_dynamic_cast_assert(OBJECT((obj)), (name)))
 
+inline bool object_property_is_child(ObjectProperty *prop);
+inline bool object_property_is_link(ObjectProperty *prop);
+
 /**
  * object_new:
  * @typename: The name of the type of the object to instantiate.
diff --git a/qom/object.c b/qom/object.c
index 00f98d7..be460df 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -318,12 +318,12 @@  void object_initialize(void *data, const char *typename)
     object_initialize_with_type(data, type);
 }
 
-static inline bool object_property_is_child(ObjectProperty *prop)
+inline bool object_property_is_child(ObjectProperty *prop)
 {
     return strstart(prop->type, "child<", NULL);
 }
 
-static inline bool object_property_is_link(ObjectProperty *prop)
+inline bool object_property_is_link(ObjectProperty *prop)
 {
     return strstart(prop->type, "link<", NULL);
 }