libxl: use libxl__device_kind in LIBXL_DEFINE_UPDATE_DEVID
authorOleksandr Grytsov <oleksandr_grytsov@epam.com>
Wed, 24 Jan 2018 17:19:57 +0000 (19:19 +0200)
committerWei Liu <wei.liu2@citrix.com>
Thu, 25 Jan 2018 11:35:19 +0000 (11:35 +0000)
Use libxl__..._devtype.type to update device id.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
tools/libxl/libxl_9pfs.c
tools/libxl/libxl_console.c
tools/libxl/libxl_device.c
tools/libxl/libxl_internal.h
tools/libxl/libxl_nic.c
tools/libxl/libxl_usb.c
tools/libxl/libxl_vdispl.c
tools/libxl/libxl_vtpm.c

index c3dd7865a9ff75fdf5b142f8f306d6df9f06629d..1298db18cc2a28b12e8e0ec0f5431a00a177771a 100644 (file)
@@ -37,7 +37,7 @@ static int libxl__device_from_p9(libxl__gc *gc, uint32_t domid,
    return 0;
 }
 
-static LIBXL_DEFINE_UPDATE_DEVID(p9, "9pfs")
+static LIBXL_DEFINE_UPDATE_DEVID(p9)
 
 static int libxl__set_xenstore_p9(libxl__gc *gc, uint32_t domid,
                                   libxl_device_p9 *p9,
index 4891aa18d7a80726ee66fcf01b848a600b259d10..1a0eb0515794c49d15c7ea60a793c4a2aa6aa50b 100644 (file)
@@ -672,7 +672,7 @@ out:
     return AO_INPROGRESS;
 }
 
-static LIBXL_DEFINE_UPDATE_DEVID(vkb, "vkb")
+static LIBXL_DEFINE_UPDATE_DEVID(vkb)
 
 static int libxl__device_vfb_setdefault(libxl__gc *gc, uint32_t domid,
                                         libxl_device_vfb *vfb, bool hotplug)
@@ -728,7 +728,7 @@ out:
     return AO_INPROGRESS;
 }
 
-static LIBXL_DEFINE_UPDATE_DEVID(vfb, "vfb")
+static LIBXL_DEFINE_UPDATE_DEVID(vfb)
 
 static int libxl__set_xenstore_vfb(libxl__gc *gc, uint32_t domid,
                                    libxl_device_vfb *vfb,
index 6e2c93f8e089b97de70e367333547f8ee71ee1f3..1b796bd3924836b5703e9b468d8088a485b5fec3 100644 (file)
@@ -1423,7 +1423,8 @@ out:
 }
 
 /* common function to get next device id */
-int libxl__device_nextid(libxl__gc *gc, uint32_t domid, char *device)
+int libxl__device_nextid(libxl__gc *gc, uint32_t domid,
+                         libxl__device_kind device)
 {
     char *libxl_dom_path, **l;
     unsigned int nb;
@@ -1433,8 +1434,8 @@ int libxl__device_nextid(libxl__gc *gc, uint32_t domid, char *device)
         return nextid;
 
     l = libxl__xs_directory(gc, XBT_NULL,
-        GCSPRINTF("%s/device/%s", libxl_dom_path, device),
-                            &nb);
+        GCSPRINTF("%s/device/%s", libxl_dom_path,
+                  libxl__device_kind_to_string(device)), &nb);
     if (l == NULL || nb == 0)
         nextid = 0;
     else
index 1e5e2e74ac9d98096e83a06126259802c3fdb81a..e9f396023e7de8ee5393f491db1450a13fa4ee67 100644 (file)
@@ -1242,7 +1242,8 @@ _hidden int libxl__init_console_from_channel(libxl__gc *gc,
                                              libxl__device_console *console,
                                              int dev_num,
                                              libxl_device_channel *channel);
-_hidden int libxl__device_nextid(libxl__gc *gc, uint32_t domid, char *device);
+_hidden int libxl__device_nextid(libxl__gc *gc, uint32_t domid,
+                                 libxl__device_kind device);
 _hidden int libxl__resolve_domid(libxl__gc *gc, const char *name,
                                  uint32_t *domid);
 
@@ -3461,13 +3462,14 @@ _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st);
         return AO_INPROGRESS;                                           \
     }
 
-#define LIBXL_DEFINE_UPDATE_DEVID(type, name)                           \
-    int libxl__device_##type##_update_devid(libxl__gc *gc,              \
+#define LIBXL_DEFINE_UPDATE_DEVID(name)                                 \
+    int libxl__device_##name##_update_devid(libxl__gc *gc,              \
                                             uint32_t domid,             \
-                                            libxl_device_##type *type)  \
+                                            libxl_device_##name *type)  \
     {                                                                   \
         if (type->devid == -1)                                          \
-            type->devid = libxl__device_nextid(gc, domid, name);        \
+            type->devid = libxl__device_nextid(gc, domid,               \
+                          libxl__##name##_devtype.type);                \
         if (type->devid < 0)                                            \
             return ERROR_FAIL;                                          \
         return 0;                                                       \
index e2512fc060f9a4d4140cfe76dcaa87bc72de0e84..4b1b131cc02f71b7e58891dca121d15a810a10d4 100644 (file)
@@ -138,7 +138,7 @@ static void libxl__update_config_nic(libxl__gc *gc, libxl_device_nic *dst,
     libxl_mac_copy(CTX, &dst->mac, &src->mac);
 }
 
-static LIBXL_DEFINE_UPDATE_DEVID(nic, "vif")
+static LIBXL_DEFINE_UPDATE_DEVID(nic)
 
 static int libxl__set_xenstore_nic(libxl__gc *gc, uint32_t domid,
                                    libxl_device_nic *nic,
index 78a78c737f2fdaff5e8cf0a8cf8ace630f14f3d7..67d2fb4e37373522bb4d8b7dafb98203d23e0ef7 100644 (file)
@@ -430,7 +430,7 @@ static int libxl__device_usbdev_del_hvm(libxl__gc *gc, uint32_t domid,
     return libxl__qmp_run_command_flexarray(gc, domid, "device_del", qmp_args);
 }
 
-static LIBXL_DEFINE_UPDATE_DEVID(usbctrl, "vusb")
+static LIBXL_DEFINE_UPDATE_DEVID(usbctrl)
 
 /* AO operation to add a usb controller.
  *
index d9889b8ca9e2c5e7ead3f9309291147f1958fa9c..602e6903f466b03e87b5d631d422638e08c71b1e 100644 (file)
@@ -246,7 +246,7 @@ out:
 LIBXL_DEFINE_DEVICE_ADD(vdispl)
 static LIBXL_DEFINE_DEVICES_ADD(vdispl)
 LIBXL_DEFINE_DEVICE_REMOVE(vdispl)
-static LIBXL_DEFINE_UPDATE_DEVID(vdispl, "vdispl")
+static LIBXL_DEFINE_UPDATE_DEVID(vdispl)
 LIBXL_DEFINE_DEVICE_LIST(vdispl)
 
 DEFINE_DEVICE_TYPE_STRUCT(vdispl, VDISPL,
index d273edd7b47440f08dc35433a4db222a7ffbda97..f0a4610e0dd26150daec45c3c0cfcc4a57aaec45 100644 (file)
@@ -49,7 +49,7 @@ static void libxl__update_config_vtpm(libxl__gc *gc, libxl_device_vtpm *dst,
     libxl_uuid_copy(CTX, &dst->uuid, &src->uuid);
 }
 
-static LIBXL_DEFINE_UPDATE_DEVID(vtpm, "vtpm")
+static LIBXL_DEFINE_UPDATE_DEVID(vtpm)
 
 static int libxl__set_xenstore_vtpm(libxl__gc *gc, uint32_t domid,
                                     libxl_device_vtpm *vtpm,