Skip to contentSkip to conversation

qdev: Minor const improvements

PATCH In review Krzysztof Kozlowski 2 participants 5 messages Mar 10, 2017 – Mar 13, 2017

lore
Share & tools
lore
#0 lore raw

v2 cover qdev: Minor const improvements

Hi,

Minor improvements.

Changes since v1:
1. Follow suggestions from v1 discussion - drop other consts.

Best regards,
Krzysztof

Krzysztof Kozlowski (2):
qdev: Constify value passed to qdev_prop_set_macaddr
qdev: Constify local variable returned by blk_bs

 hw/core/qdev-properties-system.c | 2 +-
 hw/core/qdev-properties.c        | 3 ++-
 include/hw/qdev-properties.h     | 3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)
Signature · 1 line
2.9.3
#1 lore raw

PATCH v2 1/2 qdev: Constify value passed to qdev_prop_set_macaddr

The 'value' argument is not modified so this can be made const for code safeness.

---
 hw/core/qdev-properties.c    | 3 ++-
 include/hw/qdev-properties.h | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
hw/core/qdev-properties.c +2 -1
index 6ab4265eb478..fa3617db2df1 100644
@@ -1010,7 +1010,8 @@ void qdev_prop_set_string(DeviceState *dev, const char *name, const char *value)
     object_property_set_str(OBJECT(dev), value, name, &error_abort);
 }
 
-void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value)
+void qdev_prop_set_macaddr(DeviceState *dev, const char *name,
+                           const uint8_t *value)
 {
     char str[2 * 6 + 5 + 1];
     snprintf(str, sizeof(str), "%02x:%02x:%02x:%02x:%02x:%02x",
include/hw/qdev-properties.h +2 -1
index 7ac315331aa0..1d69fa7a8f04 100644
@@ -188,7 +188,8 @@ void qdev_prop_set_chr(DeviceState *dev, const char *name, Chardev *value);
 void qdev_prop_set_netdev(DeviceState *dev, const char *name, NetClientState *value);
 void qdev_prop_set_drive(DeviceState *dev, const char *name,
                          BlockBackend *value, Error **errp);
-void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value);
+void qdev_prop_set_macaddr(DeviceState *dev, const char *name,
+                           const uint8_t *value);
 void qdev_prop_set_enum(DeviceState *dev, const char *name, int value);
 /* FIXME: Remove opaque pointer properties.  */
 void qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value);
Signature · 1 line
2.9.3
Reviewed-by on v2 1/2
#2 lore raw

Re: [Qemu-devel] [PATCH v2 1/2] qdev: Constify value passed to qdev_prop_set_macaddr

Quoted 4 lines · Krzysztof Kozlowski

The 'value' argument is not modified so this can be made const for code safeness.

Unless another maintainer wants to take this, I am queueing it for 2.10 on my machine-next branch.

Quoted 36 lines
---
 hw/core/qdev-properties.c    | 3 ++-
 include/hw/qdev-properties.h | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
hw/core/qdev-properties.c +2 -1
index 6ab4265eb478..fa3617db2df1 100644
@@ -1010,7 +1010,8 @@ void qdev_prop_set_string(DeviceState *dev, const char *name, const char *value)
     object_property_set_str(OBJECT(dev), value, name, &error_abort);
 }
 
-void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value)
+void qdev_prop_set_macaddr(DeviceState *dev, const char *name,
+                           const uint8_t *value)
 {
     char str[2 * 6 + 5 + 1];
     snprintf(str, sizeof(str), "%02x:%02x:%02x:%02x:%02x:%02x",
include/hw/qdev-properties.h +2 -1
index 7ac315331aa0..1d69fa7a8f04 100644
@@ -188,7 +188,8 @@ void qdev_prop_set_chr(DeviceState *dev, const char *name, Chardev *value);
 void qdev_prop_set_netdev(DeviceState *dev, const char *name, NetClientState *value);
 void qdev_prop_set_drive(DeviceState *dev, const char *name,
                          BlockBackend *value, Error **errp);
-void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value);
+void qdev_prop_set_macaddr(DeviceState *dev, const char *name,
+                           const uint8_t *value);
 void qdev_prop_set_enum(DeviceState *dev, const char *name, int value);
 /* FIXME: Remove opaque pointer properties.  */
 void qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value);
Signature · 1 line
2.9.3
Signature · 1 line
Eduardo
#3 lore raw

PATCH v2 2/2 qdev: Constify local variable returned by blk_bs

In reply to Krzysztof Kozlowski

Inside qdev_prop_set_drive() the value returned by blk_bs() is passed only as pointer to const to bdrv_get_node_name() and pointed values is not modified in other places so this can be made const for code safeness.

---
 hw/core/qdev-properties-system.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
hw/core/qdev-properties-system.c +1 -1
index c34be1c1bace..0d40ce682d05 100644
@@ -405,7 +405,7 @@ void qdev_prop_set_drive(DeviceState *dev, const char *name,
     if (value) {
         ref = blk_name(value);
         if (!*ref) {
-            BlockDriverState *bs = blk_bs(value);
+            const BlockDriverState *bs = blk_bs(value);
             if (bs) {
                 ref = bdrv_get_node_name(bs);
             }
Signature · 1 line
2.9.3
Reviewed-by on v2 2/2
#4 lore raw

Re: [Qemu-devel] [PATCH v2 2/2] qdev: Constify local variable returned by blk_bs

Quoted 6 lines · Krzysztof Kozlowski

Inside qdev_prop_set_drive() the value returned by blk_bs() is passed only as pointer to const to bdrv_get_node_name() and pointed values is not modified in other places so this can be made const for code safeness.

Unless another maintainer wants to take this, I am queueing it for 2.10 on my machine-next branch.

Quoted 20 lines
---
 hw/core/qdev-properties-system.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
hw/core/qdev-properties-system.c +1 -1
index c34be1c1bace..0d40ce682d05 100644
@@ -405,7 +405,7 @@ void qdev_prop_set_drive(DeviceState *dev, const char *name,
     if (value) {
         ref = blk_name(value);
         if (!*ref) {
-            BlockDriverState *bs = blk_bs(value);
+            const BlockDriverState *bs = blk_bs(value);
             if (bs) {
                 ref = bdrv_get_node_name(bs);
             }
Signature · 1 line
2.9.3
Signature · 1 line
Eduardo