Patchwork [v3,13/14] hpet: add API to find it

login
register
mail settings
Submitter Michael S. Tsirkin
Date July 24, 2013, 4:02 p.m.
Message ID <1374681580-17439-14-git-send-email-mst@redhat.com>
Download mbox | patch
Permalink /patch/261446/
State New
Headers show

Comments

Michael S. Tsirkin - July 24, 2013, 4:02 p.m.
Add API to find HPET using QOM.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/timer/hpet.c         | 5 +++++
 include/hw/timer/hpet.h | 2 ++
 2 files changed, 7 insertions(+)
Gerd Hoffmann - July 25, 2013, 12:36 p.m.
On 07/24/13 18:02, Michael S. Tsirkin wrote:
> +bool hpet_find(void)

given this returns just a bool hpet_present() would be a better name I
think.

cheers,
  Gerd
Andreas Färber - July 27, 2013, 11:38 p.m.
Am 24.07.2013 18:02, schrieb Michael S. Tsirkin:
> Add API to find HPET using QOM.
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
>  hw/timer/hpet.c         | 5 +++++
>  include/hw/timer/hpet.h | 2 ++
>  2 files changed, 7 insertions(+)
> 
> diff --git a/hw/timer/hpet.c b/hw/timer/hpet.c
> index 648b383..11bf401 100644
> --- a/hw/timer/hpet.c
> +++ b/hw/timer/hpet.c
> @@ -757,6 +757,11 @@ static void hpet_device_class_init(ObjectClass *klass, void *data)
>      dc->props = hpet_device_properties;
>  }
>  
> +bool hpet_find(void)
> +{
> +    return object_resolve_path_type("", "hpet", NULL);
> +}
> +
>  static const TypeInfo hpet_device_info = {
>      .name          = TYPE_HPET,
>      .parent        = TYPE_SYS_BUS_DEVICE,

"hpet" is being open-coded just above the new TYPE_HPET.

http://git.qemu.org/?p=qemu.git;a=commit;h=02f9a6f5da74251e1e5685ae57643d45c3fb6c30

But since you're doing it and the code is really trivial, you could also
inline it into ACPI code to spare us this single-use function.

> diff --git a/include/hw/timer/hpet.h b/include/hw/timer/hpet.h
> index 757f79f..ab44bd3 100644
> --- a/include/hw/timer/hpet.h
> +++ b/include/hw/timer/hpet.h
> @@ -71,4 +71,6 @@ struct hpet_fw_config
>  } QEMU_PACKED;
>  
>  extern struct hpet_fw_config hpet_cfg;
> +
> +bool hpet_find(void);
>  #endif

We could just as well move TYPE_HPET here to allow reuse from ACPI code.
Not having done above conversion patch myself, I did not notice there
was a header candidate.

Regards,
Andreas

Patch

diff --git a/hw/timer/hpet.c b/hw/timer/hpet.c
index 648b383..11bf401 100644
--- a/hw/timer/hpet.c
+++ b/hw/timer/hpet.c
@@ -757,6 +757,11 @@  static void hpet_device_class_init(ObjectClass *klass, void *data)
     dc->props = hpet_device_properties;
 }
 
+bool hpet_find(void)
+{
+    return object_resolve_path_type("", "hpet", NULL);
+}
+
 static const TypeInfo hpet_device_info = {
     .name          = TYPE_HPET,
     .parent        = TYPE_SYS_BUS_DEVICE,
diff --git a/include/hw/timer/hpet.h b/include/hw/timer/hpet.h
index 757f79f..ab44bd3 100644
--- a/include/hw/timer/hpet.h
+++ b/include/hw/timer/hpet.h
@@ -71,4 +71,6 @@  struct hpet_fw_config
 } QEMU_PACKED;
 
 extern struct hpet_fw_config hpet_cfg;
+
+bool hpet_find(void);
 #endif