Re: [Qemu-devel] [PATCH] Fix QEMU_WARN_UNUSED_RESULT

2010-01-19 Thread Anthony Liguori

On 01/15/2010 05:56 AM, Kevin Wolf wrote:

Since commit 747bbdf7 QEMU_WARN_UNUSED_RESULT is never defined as it is
conditional on a define from config-host.h which is included only later.
Include that file earlier to get the warnings back.

Reactivating it unfortunately leads to some warnings about unused qdev_init
results. These calls are changed to qdev_init_nofail to avoid build failures.

Signed-off-by: Kevin Wolfkw...@redhat.com
   


Applied.  Thanks.

Regards,

Anthony Liguori

---

Gerd, can you please check if using nofail is appropriate or should be replaced
by some real error checks (and if so, which)?

  hw/usb-net.c|2 +-
  hw/usb-serial.c |4 ++--
  qemu-common.h   |3 ++-
  usb-linux.c |2 +-
  4 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/hw/usb-net.c b/hw/usb-net.c
index 9744dfa..cfd2f62 100644
--- a/hw/usb-net.c
+++ b/hw/usb-net.c
@@ -1492,7 +1492,7 @@ static USBDevice *usb_net_init(const char *cmdline)

  dev = usb_create(NULL /* FIXME */, usb-net);
  qdev_set_nic_properties(dev-qdev,nd_table[idx]);
-qdev_init(dev-qdev);
+qdev_init_nofail(dev-qdev);
  return dev;
  }

diff --git a/hw/usb-serial.c b/hw/usb-serial.c
index 2775cf0..37293ea 100644
--- a/hw/usb-serial.c
+++ b/hw/usb-serial.c
@@ -583,7 +583,7 @@ static USBDevice *usb_serial_init(const char *filename)
  qdev_prop_set_uint16(dev-qdev, vendorid, vendorid);
  if (productid)
  qdev_prop_set_uint16(dev-qdev, productid, productid);
-qdev_init(dev-qdev);
+qdev_init_nofail(dev-qdev);

  return dev;
  }
@@ -599,7 +599,7 @@ static USBDevice *usb_braille_init(const char *unused)

  dev = usb_create(NULL /* FIXME */, usb-braille);
  qdev_prop_set_chr(dev-qdev, chardev, cdrv);
-qdev_init(dev-qdev);
+qdev_init_nofail(dev-qdev);

  return dev;
  }
diff --git a/qemu-common.h b/qemu-common.h
index 8630f8c..d96060a 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -2,6 +2,8 @@
  #ifndef QEMU_COMMON_H
  #define QEMU_COMMON_H

+#include config-host.h
+
  #define QEMU_NORETURN __attribute__ ((__noreturn__))
  #ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
  #define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
@@ -29,7 +31,6 @@
  #includefcntl.h
  #includesys/stat.h
  #includeassert.h
-#include config-host.h

  #ifndef O_LARGEFILE
  #define O_LARGEFILE 0
diff --git a/usb-linux.c b/usb-linux.c
index 88728e9..5619b30 100644
--- a/usb-linux.c
+++ b/usb-linux.c
@@ -1036,7 +1036,7 @@ USBDevice *usb_host_device_open(const char *devname)
  qdev_prop_set_uint32(dev-qdev, hostaddr,  filter.addr);
  qdev_prop_set_uint32(dev-qdev, vendorid,  filter.vendor_id);
  qdev_prop_set_uint32(dev-qdev, productid, filter.product_id);
-qdev_init(dev-qdev);
+qdev_init_nofail(dev-qdev);
  return dev;

  fail:
   






[Qemu-devel] [PATCH] Fix QEMU_WARN_UNUSED_RESULT

2010-01-15 Thread Kevin Wolf
Since commit 747bbdf7 QEMU_WARN_UNUSED_RESULT is never defined as it is
conditional on a define from config-host.h which is included only later.
Include that file earlier to get the warnings back.

Reactivating it unfortunately leads to some warnings about unused qdev_init
results. These calls are changed to qdev_init_nofail to avoid build failures.

Signed-off-by: Kevin Wolf kw...@redhat.com
---

Gerd, can you please check if using nofail is appropriate or should be replaced
by some real error checks (and if so, which)?

 hw/usb-net.c|2 +-
 hw/usb-serial.c |4 ++--
 qemu-common.h   |3 ++-
 usb-linux.c |2 +-
 4 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/hw/usb-net.c b/hw/usb-net.c
index 9744dfa..cfd2f62 100644
--- a/hw/usb-net.c
+++ b/hw/usb-net.c
@@ -1492,7 +1492,7 @@ static USBDevice *usb_net_init(const char *cmdline)
 
 dev = usb_create(NULL /* FIXME */, usb-net);
 qdev_set_nic_properties(dev-qdev, nd_table[idx]);
-qdev_init(dev-qdev);
+qdev_init_nofail(dev-qdev);
 return dev;
 }
 
diff --git a/hw/usb-serial.c b/hw/usb-serial.c
index 2775cf0..37293ea 100644
--- a/hw/usb-serial.c
+++ b/hw/usb-serial.c
@@ -583,7 +583,7 @@ static USBDevice *usb_serial_init(const char *filename)
 qdev_prop_set_uint16(dev-qdev, vendorid, vendorid);
 if (productid)
 qdev_prop_set_uint16(dev-qdev, productid, productid);
-qdev_init(dev-qdev);
+qdev_init_nofail(dev-qdev);
 
 return dev;
 }
@@ -599,7 +599,7 @@ static USBDevice *usb_braille_init(const char *unused)
 
 dev = usb_create(NULL /* FIXME */, usb-braille);
 qdev_prop_set_chr(dev-qdev, chardev, cdrv);
-qdev_init(dev-qdev);
+qdev_init_nofail(dev-qdev);
 
 return dev;
 }
diff --git a/qemu-common.h b/qemu-common.h
index 8630f8c..d96060a 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -2,6 +2,8 @@
 #ifndef QEMU_COMMON_H
 #define QEMU_COMMON_H
 
+#include config-host.h
+
 #define QEMU_NORETURN __attribute__ ((__noreturn__))
 #ifdef CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT
 #define QEMU_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
@@ -29,7 +31,6 @@
 #include fcntl.h
 #include sys/stat.h
 #include assert.h
-#include config-host.h
 
 #ifndef O_LARGEFILE
 #define O_LARGEFILE 0
diff --git a/usb-linux.c b/usb-linux.c
index 88728e9..5619b30 100644
--- a/usb-linux.c
+++ b/usb-linux.c
@@ -1036,7 +1036,7 @@ USBDevice *usb_host_device_open(const char *devname)
 qdev_prop_set_uint32(dev-qdev, hostaddr,  filter.addr);
 qdev_prop_set_uint32(dev-qdev, vendorid,  filter.vendor_id);
 qdev_prop_set_uint32(dev-qdev, productid, filter.product_id);
-qdev_init(dev-qdev);
+qdev_init_nofail(dev-qdev);
 return dev;
 
 fail:
-- 
1.6.2.5





Re: [Qemu-devel] [PATCH] Fix QEMU_WARN_UNUSED_RESULT

2010-01-15 Thread Markus Armbruster
Kevin Wolf kw...@redhat.com writes:

 Since commit 747bbdf7 QEMU_WARN_UNUSED_RESULT is never defined as it is
 conditional on a define from config-host.h which is included only later.
 Include that file earlier to get the warnings back.

 Reactivating it unfortunately leads to some warnings about unused qdev_init
 results. These calls are changed to qdev_init_nofail to avoid build failures.

 Signed-off-by: Kevin Wolf kw...@redhat.com

The use of qdev_init_nofail() is correct, because the relevant device
init methods can't fail.

Acked-by: Markus Armbruster arm...@redhat.com