| Submitter | Kevin Wolf |
|---|---|
| Date | Jan. 15, 2010, 11:56 a.m. |
| Message ID | <1263556601-15351-1-git-send-email-kwolf@redhat.com> |
| Download | mbox | patch |
| Permalink | /patch/42961/ |
| State | New |
| Headers | show |
Comments
Kevin Wolf <kwolf@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 <kwolf@redhat.com> The use of qdev_init_nofail() is correct, because the relevant device init methods can't fail. Acked-by: Markus Armbruster <armbru@redhat.com>
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 Wolf<kwolf@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 @@ > #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: >
Patch
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:
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 <kwolf@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(-)