All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 2/6] qdev/compat: compat property infrastructure.
Date: Mon, 13 Jul 2009 22:36:52 +0300	[thread overview]
Message-ID: <20090713193652.GA10979@redhat.com> (raw)
In-Reply-To: <1247499005-31011-3-git-send-email-kraxel@redhat.com>

Some coding style comments

On Mon, Jul 13, 2009 at 05:30:01PM +0200, Gerd Hoffmann wrote:
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  hw/boards.h          |    1 +
>  hw/qdev-properties.c |   19 +++++++++++++++++++
>  hw/qdev.c            |    1 +
>  hw/qdev.h            |   11 +++++++++++
>  vl.c                 |    2 ++
>  5 files changed, 34 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/boards.h b/hw/boards.h
> index f6733b7..5a07d07 100644
> --- a/hw/boards.h
> +++ b/hw/boards.h
> @@ -17,6 +17,7 @@ typedef struct QEMUMachine {
>      int use_scsi;
>      int max_cpus;
>      int is_default;
> +    struct CompatProperty *compat_props;

use a typedef

>      struct QEMUMachine *next;
>  } QEMUMachine;
>  
> diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
> index ea937ae..2b1ee7d 100644
> --- a/hw/qdev-properties.c
> +++ b/hw/qdev-properties.c
> @@ -244,3 +244,22 @@ void qdev_prop_set_defaults(DeviceState *dev, Property *props)
>      }
>  }
>  
> +static CompatProperty *compat_props;
> +
> +void qdev_register_compat_props(CompatProperty *props)
> +{
> +    compat_props = props;
> +}
> +
> +void qdev_prop_set_compat(DeviceState *dev)
> +{
> +    CompatProperty *prop;
> +
> +    if (!compat_props)

Missing {}

> +        return;
> +    for (prop = compat_props; prop->driver != NULL; prop++) {

!= NULL not needed in if

> +        if (strcmp(dev->info->name, prop->driver) != 0)

!= 0 not needed in if

> +            continue;

Missing {}

> +        qdev_prop_parse(dev, prop->property, prop->value);

check return value?

> +    }
> +}
> diff --git a/hw/qdev.c b/hw/qdev.c
> index cdb25d4..7ca078d 100644
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -98,6 +98,7 @@ DeviceState *qdev_create(BusState *bus, const char *name)
>      dev->parent_bus = bus;
>      qdev_prop_set_defaults(dev, dev->info->props);
>      qdev_prop_set_defaults(dev, dev->parent_bus->info->props);
> +    qdev_prop_set_compat(dev);
>      LIST_INSERT_HEAD(&bus->children, dev, sibling);
>      return dev;
>  }
> diff --git a/hw/qdev.h b/hw/qdev.h
> index e807036..f49f641 100644
> --- a/hw/qdev.h
> +++ b/hw/qdev.h
> @@ -8,6 +8,8 @@ typedef struct Property Property;
>  
>  typedef struct PropertyInfo PropertyInfo;
>  
> +typedef struct CompatProperty CompatProperty;
> +
>  typedef struct DeviceInfo DeviceInfo;
>  
>  typedef struct BusState BusState;
> @@ -71,6 +73,12 @@ struct PropertyInfo {
>      int (*print)(DeviceState *dev, Property *prop, char *dest, size_t len);
>  };
>  
> +struct CompatProperty {
> +    const char *driver;
> +    const char *property;
> +    const char *value;
> +};
> +
>  /*** Board API.  This should go away once we have a machine config file.  ***/
>  
>  DeviceState *qdev_create(BusState *bus, const char *name);
> @@ -174,4 +182,7 @@ void qdev_prop_set_uint32(DeviceState *dev, const char *name, uint32_t value);
>  void qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value);
>  void qdev_prop_set_defaults(DeviceState *dev, Property *props);
>  
> +void qdev_register_compat_props(CompatProperty *props);

qedev_set_compat_props might be a better name.

> +void qdev_prop_set_compat(DeviceState *dev);

qdev_parse_compat_props might be a better name.

> +
>  #endif
> diff --git a/vl.c b/vl.c
> index cdc7b8a..5402787 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -5911,6 +5911,8 @@ int main(int argc, char **argv, char **envp)
>  
>      module_call_init(MODULE_INIT_DEVICE);
>  
> +    if (machine->compat_props)

Missing {}

> +        qdev_register_compat_props(machine->compat_props);
>      machine->init(ram_size, boot_devices,
>                    kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
>  
> -- 
> 1.6.2.5
> 
> 

  reply	other threads:[~2009-07-13 19:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-13 15:29 [Qemu-devel] [PATCH v3 0/7] qdev: compat properties Gerd Hoffmann
2009-07-13 15:30 ` [Qemu-devel] [PATCH 1/6] cleanup: drop unused struct elements from VirtIOPCIProxy Gerd Hoffmann
2009-07-13 15:30 ` [Qemu-devel] [PATCH 2/6] qdev/compat: compat property infrastructure Gerd Hoffmann
2009-07-13 19:36   ` Michael S. Tsirkin [this message]
2009-07-14  6:26     ` Gerd Hoffmann
2009-07-14  9:09       ` [Qemu-devel] " Juan Quintela
2009-07-14 14:19         ` Gerd Hoffmann
2009-07-13 15:30 ` [Qemu-devel] [PATCH 3/6] qdev/compat: add pc-0.10 machine type Gerd Hoffmann
2009-07-13 15:30 ` [Qemu-devel] [PATCH 4/6] qdev/compat: virtio-blk-pci 0.10 compatibility Gerd Hoffmann
2009-07-13 15:30 ` [Qemu-devel] [PATCH 5/6] qdev/compat: virtio-console-pci " Gerd Hoffmann
2009-07-13 15:30 ` [Qemu-devel] [PATCH 6/6] qdev/compat: virtio-net-pci " Gerd Hoffmann
2009-07-13 15:47 ` [Qemu-devel] [PATCH v3 0/7] qdev: compat properties Anthony Liguori
2009-07-13 18:42   ` Gerd Hoffmann
  -- strict thread matches above, loose matches on Subject: below --
2009-07-15 11:48 [Qemu-devel] [PATCH 0/6] " Gerd Hoffmann
2009-07-15 11:48 ` [Qemu-devel] [PATCH 2/6] qdev/compat: compat property infrastructure Gerd Hoffmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090713193652.GA10979@redhat.com \
    --to=mst@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.