From e711b34a102badd0f1e0b06a22f7cb3f8e951d63 Mon Sep 17 00:00:00 2001
From: Markus Armbruster <armbru@redhat.com>
Date: Wed, 31 Mar 2010 13:24:57 -0300
Subject: [PATCH 42/66] qdev: convert setting device properties to QError

RH-Author: Markus Armbruster <armbru@redhat.com>
Message-id: <1270041921-28969-43-git-send-email-armbru@redhat.com>
Patchwork-id: 8239
O-Subject: [PATCH 42/66] qdev: convert setting device properties to QError
Bugzilla: 579470
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>
RH-Acked-by: Juan Quintela <quintela@redhat.com>
RH-Acked-by: Luiz Capitulino <lcapitulino@redhat.com>

(cherry picked from commit fdcfa190ab3f042339bcd77c640b20dec73d715e)
---
 hw/qdev-properties.c |   15 +++++++--------
 hw/qdev.c            |    2 --
 2 files changed, 7 insertions(+), 10 deletions(-)

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/qdev-properties.c |   15 +++++++--------
 hw/qdev.c            |    2 --
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
index 6a524cc..92d6793 100644
--- a/hw/qdev-properties.c
+++ b/hw/qdev-properties.c
@@ -548,25 +548,24 @@ int qdev_prop_parse(DeviceState *dev, const char *name, const char *value)
      * removed along with it.
      */
     if (!prop || !prop->info->parse) {
-        fprintf(stderr, "property \"%s.%s\" not found\n",
-                dev->info->name, name);
+        qerror_report(QERR_PROPERTY_NOT_FOUND, dev->info->name, name);
         return -1;
     }
     ret = prop->info->parse(dev, prop, value);
     if (ret < 0) {
         switch (ret) {
         case -EEXIST:
-            fprintf(stderr, "property \"%s.%s\": \"%s\" is already in use\n",
-                    dev->info->name, name, value);
+            qerror_report(QERR_PROPERTY_VALUE_IN_USE,
+                          dev->info->name, name, value);
             break;
         default:
         case -EINVAL:
-            fprintf(stderr, "property \"%s.%s\": failed to parse \"%s\"\n",
-                    dev->info->name, name, value);
+            qerror_report(QERR_PROPERTY_VALUE_BAD,
+                          dev->info->name, name, value);
             break;
         case -ENOENT:
-            fprintf(stderr, "property \"%s.%s\": could not find \"%s\"\n",
-                    dev->info->name, name, value);
+            qerror_report(QERR_PROPERTY_VALUE_NOT_FOUND,
+                          dev->info->name, name, value);
             break;
         }
         return -1;
diff --git a/hw/qdev.c b/hw/qdev.c
index 4608169..36f2bd6 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -146,8 +146,6 @@ static int set_property(const char *name, const char *value, void *opaque)
         return 0;
 
     if (qdev_prop_parse(dev, name, value) == -1) {
-        error_report("can't set property \"%s\" to \"%s\" for \"%s\"",
-                     name, value, dev->info->name);
         return -1;
     }
     return 0;
-- 
1.7.0.3

