Commit 1b524b044160ca1c508c4f3ac9ae5b93600851fd

Authored by Gerd Hoffmann
Committed by Anthony Liguori
1 parent 213189ab

qdev: factor out qdev_print_devinfo.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing 1 changed file with 18 additions and 1 deletions
hw/qdev.c
@@ -105,6 +105,21 @@ DeviceState *qdev_create(BusState *bus, const char *name) @@ -105,6 +105,21 @@ DeviceState *qdev_create(BusState *bus, const char *name)
105 return dev; 105 return dev;
106 } 106 }
107 107
  108 +static int qdev_print_devinfo(DeviceInfo *info, char *dest, int len)
  109 +{
  110 + int pos = 0;
  111 +
  112 + pos += snprintf(dest+pos, len-pos, "name \"%s\", bus %s",
  113 + info->name, info->bus_info->name);
  114 + if (info->alias)
  115 + pos += snprintf(dest+pos, len-pos, ", alias \"%s\"", info->alias);
  116 + if (info->desc)
  117 + pos += snprintf(dest+pos, len-pos, ", desc \"%s\"", info->desc);
  118 + if (info->no_user)
  119 + pos += snprintf(dest+pos, len-pos, ", no-user");
  120 + return pos;
  121 +}
  122 +
108 DeviceState *qdev_device_add(const char *cmdline) 123 DeviceState *qdev_device_add(const char *cmdline)
109 { 124 {
110 DeviceInfo *info; 125 DeviceInfo *info;
@@ -120,8 +135,10 @@ DeviceState *qdev_device_add(const char *cmdline) @@ -120,8 +135,10 @@ DeviceState *qdev_device_add(const char *cmdline)
120 return NULL; 135 return NULL;
121 } 136 }
122 if (strcmp(driver, "?") == 0) { 137 if (strcmp(driver, "?") == 0) {
  138 + char msg[256];
123 for (info = device_info_list; info != NULL; info = info->next) { 139 for (info = device_info_list; info != NULL; info = info->next) {
124 - fprintf(stderr, "name \"%s\", bus %s\n", info->name, info->bus_info->name); 140 + qdev_print_devinfo(info, msg, sizeof(msg));
  141 + fprintf(stderr, "%s\n", msg);
125 } 142 }
126 return NULL; 143 return NULL;
127 } 144 }