qdev: convert setting device properties to QError
authorMarkus Armbruster <armbru@redhat.com>
Fri, 19 Feb 2010 12:20:23 +0000 (13:20 +0100)
committerMarkus Armbruster <armbru@redhat.com>
Tue, 16 Mar 2010 16:45:26 +0000 (17:45 +0100)
hw/qdev-properties.c
hw/qdev.c

index 6a524cc107cc5fc0e10a30d3abc68f22643916c6..92d6793747094a5111a508dab3ea38afc6a4164f 100644 (file)
@@ -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;
index 46081694492888bcf796e60bc2b2939944a21759..36f2bd6189f4763bc954c696ebf696a184cbd80f 100644 (file)
--- 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;