[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v1 3/4] libxl: move libxl__device_from_ to LIBXL_DEFINE_DEVICE_FROM_TYPE
From: Oleksandr Grytsov <oleksandr_grytsov@xxxxxxxx> LIBXL_DEFINE_DEVICE_FROM_TYPE uses libxl__..._devtype.type to be assigned as device and backend type. Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@xxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- tools/libxl/libxl_9pfs.c | 19 +++---------------- tools/libxl/libxl_console.c | 18 +++--------------- tools/libxl/libxl_internal.h | 15 +++++++++++++++ tools/libxl/libxl_nic.c | 19 +++---------------- tools/libxl/libxl_vdispl.c | 20 ++++---------------- tools/libxl/libxl_vtpm.c | 21 ++++----------------- 6 files changed, 32 insertions(+), 80 deletions(-) diff --git a/tools/libxl/libxl_9pfs.c b/tools/libxl/libxl_9pfs.c index 1298db1..e5c41e9 100644 --- a/tools/libxl/libxl_9pfs.c +++ b/tools/libxl/libxl_9pfs.c @@ -23,22 +23,6 @@ static int libxl__device_p9_setdefault(libxl__gc *gc, uint32_t domid, return libxl__resolve_domid(gc, p9->backend_domname, &p9->backend_domid); } -static int libxl__device_from_p9(libxl__gc *gc, uint32_t domid, - libxl_device_p9 *p9, - libxl__device *device) -{ - device->backend_devid = p9->devid; - device->backend_domid = p9->backend_domid; - device->backend_kind = LIBXL__DEVICE_KIND_9PFS; - device->devid = p9->devid; - device->domid = domid; - device->kind = LIBXL__DEVICE_KIND_9PFS; - - return 0; -} - -static LIBXL_DEFINE_UPDATE_DEVID(p9) - static int libxl__set_xenstore_p9(libxl__gc *gc, uint32_t domid, libxl_device_p9 *p9, flexarray_t *back, flexarray_t *front, @@ -56,6 +40,9 @@ static int libxl__set_xenstore_p9(libxl__gc *gc, uint32_t domid, #define libxl_device_p9_list NULL #define libxl_device_p9_compare NULL +static LIBXL_DEFINE_UPDATE_DEVID(p9) +static LIBXL_DEFINE_DEVICE_FROM_TYPE(p9) + LIBXL_DEFINE_DEVICE_REMOVE(p9) DEFINE_DEVICE_TYPE_STRUCT(p9, 9PFS, diff --git a/tools/libxl/libxl_console.c b/tools/libxl/libxl_console.c index 1a0eb05..39d8430 100644 --- a/tools/libxl/libxl_console.c +++ b/tools/libxl/libxl_console.c @@ -698,19 +698,6 @@ static int libxl__device_vfb_setdefault(libxl__gc *gc, uint32_t domid, return rc; } -static int libxl__device_from_vfb(libxl__gc *gc, uint32_t domid, - libxl_device_vfb *vfb, - libxl__device *device) -{ - device->backend_devid = vfb->devid; - device->backend_domid = vfb->backend_domid; - device->backend_kind = LIBXL__DEVICE_KIND_VFB; - device->devid = vfb->devid; - device->domid = domid; - device->kind = LIBXL__DEVICE_KIND_VFB; - return 0; -} - int libxl_device_vfb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vfb *vfb, const libxl_asyncop_how *ao_how) { @@ -728,8 +715,6 @@ out: return AO_INPROGRESS; } -static LIBXL_DEFINE_UPDATE_DEVID(vfb) - static int libxl__set_xenstore_vfb(libxl__gc *gc, uint32_t domid, libxl_device_vfb *vfb, flexarray_t *back, flexarray_t *front, @@ -784,6 +769,9 @@ DEFINE_DEVICE_TYPE_STRUCT(vkb, VKBD, #define libxl_device_vfb_list NULL #define libxl_device_vfb_compare NULL +static LIBXL_DEFINE_UPDATE_DEVID(vfb) +static LIBXL_DEFINE_DEVICE_FROM_TYPE(vfb) + /* vfb */ LIBXL_DEFINE_DEVICE_REMOVE(vfb) diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index e9f3960..4f1e026 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -3475,6 +3475,21 @@ _hidden void libxl__bootloader_run(libxl__egc*, libxl__bootloader_state *st); return 0; \ } +#define LIBXL_DEFINE_DEVICE_FROM_TYPE(name) \ + int libxl__device_from_##name(libxl__gc *gc, uint32_t domid, \ + libxl_device_##name *type, \ + libxl__device *device) \ + { \ + device->backend_devid = type->devid; \ + device->backend_domid = type->backend_domid; \ + device->backend_kind = libxl__##name##_devtype.type; \ + device->devid = type->devid; \ + device->domid = domid; \ + device->kind = libxl__##name##_devtype.type; \ + \ + return 0; \ + } + #define LIBXL_DEFINE_DEVICE_REMOVE(type) \ LIBXL_DEFINE_DEVICE_REMOVE_EXT(type, generic, remove, 0) \ LIBXL_DEFINE_DEVICE_REMOVE_EXT(type, generic, destroy, 1) diff --git a/tools/libxl/libxl_nic.c b/tools/libxl/libxl_nic.c index 4b1b131..e028fda 100644 --- a/tools/libxl/libxl_nic.c +++ b/tools/libxl/libxl_nic.c @@ -116,20 +116,6 @@ static int libxl__device_nic_setdefault(libxl__gc *gc, uint32_t domid, return rc; } -static int libxl__device_from_nic(libxl__gc *gc, uint32_t domid, - libxl_device_nic *nic, - libxl__device *device) -{ - device->backend_devid = nic->devid; - device->backend_domid = nic->backend_domid; - device->backend_kind = LIBXL__DEVICE_KIND_VIF; - device->devid = nic->devid; - device->domid = domid; - device->kind = LIBXL__DEVICE_KIND_VIF; - - return 0; -} - static void libxl__update_config_nic(libxl__gc *gc, libxl_device_nic *dst, const libxl_device_nic *src) { @@ -138,8 +124,6 @@ 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) - static int libxl__set_xenstore_nic(libxl__gc *gc, uint32_t domid, libxl_device_nic *nic, flexarray_t *back, flexarray_t *front, @@ -533,6 +517,9 @@ out: return ret; } +static LIBXL_DEFINE_UPDATE_DEVID(nic) +static LIBXL_DEFINE_DEVICE_FROM_TYPE(nic) + LIBXL_DEFINE_DEVICE_ADD(nic) LIBXL_DEFINE_DEVICES_ADD(nic) LIBXL_DEFINE_DEVICE_REMOVE(nic) diff --git a/tools/libxl/libxl_vdispl.c b/tools/libxl/libxl_vdispl.c index 602e690..da5b10f 100644 --- a/tools/libxl/libxl_vdispl.c +++ b/tools/libxl/libxl_vdispl.c @@ -22,20 +22,6 @@ static int libxl__device_vdispl_setdefault(libxl__gc *gc, uint32_t domid, &vdispl->backend_domid); } -static int libxl__device_from_vdispl(libxl__gc *gc, uint32_t domid, - libxl_device_vdispl *vdispl, - libxl__device *device) -{ - device->backend_devid = vdispl->devid; - device->backend_domid = vdispl->backend_domid; - device->backend_kind = LIBXL__DEVICE_KIND_VDISPL; - device->devid = vdispl->devid; - device->domid = domid; - device->kind = LIBXL__DEVICE_KIND_VDISPL; - - return 0; -} - static int libxl__vdispl_from_xenstore(libxl__gc *gc, const char *libxl_path, libxl_devid devid, libxl_device_vdispl *vdispl) @@ -243,10 +229,12 @@ out: return rc; } -LIBXL_DEFINE_DEVICE_ADD(vdispl) +static LIBXL_DEFINE_DEVICE_FROM_TYPE(vdispl) +static LIBXL_DEFINE_UPDATE_DEVID(vdispl) static LIBXL_DEFINE_DEVICES_ADD(vdispl) + +LIBXL_DEFINE_DEVICE_ADD(vdispl) LIBXL_DEFINE_DEVICE_REMOVE(vdispl) -static LIBXL_DEFINE_UPDATE_DEVID(vdispl) LIBXL_DEFINE_DEVICE_LIST(vdispl) DEFINE_DEVICE_TYPE_STRUCT(vdispl, VDISPL, diff --git a/tools/libxl/libxl_vtpm.c b/tools/libxl/libxl_vtpm.c index f0a4610..7c91f99 100644 --- a/tools/libxl/libxl_vtpm.c +++ b/tools/libxl/libxl_vtpm.c @@ -28,20 +28,6 @@ static int libxl__device_vtpm_setdefault(libxl__gc *gc, uint32_t domid, return rc; } -static int libxl__device_from_vtpm(libxl__gc *gc, uint32_t domid, - libxl_device_vtpm *vtpm, - libxl__device *device) -{ - device->backend_devid = vtpm->devid; - device->backend_domid = vtpm->backend_domid; - device->backend_kind = LIBXL__DEVICE_KIND_VTPM; - device->devid = vtpm->devid; - device->domid = domid; - device->kind = LIBXL__DEVICE_KIND_VTPM; - - return 0; -} - static void libxl__update_config_vtpm(libxl__gc *gc, libxl_device_vtpm *dst, libxl_device_vtpm *src) { @@ -49,8 +35,6 @@ 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) - static int libxl__set_xenstore_vtpm(libxl__gc *gc, uint32_t domid, libxl_device_vtpm *vtpm, flexarray_t *back, flexarray_t *front, @@ -239,8 +223,11 @@ static void libxl_device_vtpm_update_config(libxl__gc *gc, void *d, void *s) libxl__update_config_vtpm(gc, d, s); } -LIBXL_DEFINE_DEVICE_ADD(vtpm) +static LIBXL_DEFINE_UPDATE_DEVID(vtpm) +static LIBXL_DEFINE_DEVICE_FROM_TYPE(vtpm) static LIBXL_DEFINE_DEVICES_ADD(vtpm) + +LIBXL_DEFINE_DEVICE_ADD(vtpm) LIBXL_DEFINE_DEVICE_REMOVE(vtpm) LIBXL_DEFINE_DEVICE_LIST(vtpm) -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |