Quellcode durchsuchen

watchdog: add information from -watchdog help to -device help

List all watchdog devices in a separate category, and populate
their descriptions.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Paolo Bonzini vor 3 Jahren
Ursprung
Commit
b10cb62752

+ 2 - 1
hw/watchdog/sbsa_gwdt.c

@@ -273,8 +273,9 @@ static void wdt_sbsa_gwdt_class_init(ObjectClass *klass, void *data)
     dc->realize = wdt_sbsa_gwdt_realize;
     dc->realize = wdt_sbsa_gwdt_realize;
     dc->reset = wdt_sbsa_gwdt_reset;
     dc->reset = wdt_sbsa_gwdt_reset;
     dc->hotpluggable = false;
     dc->hotpluggable = false;
-    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+    set_bit(DEVICE_CATEGORY_WATCHDOG, dc->categories);
     dc->vmsd = &vmstate_sbsa_gwdt;
     dc->vmsd = &vmstate_sbsa_gwdt;
+    dc->desc = "SBSA-compliant generic watchdog device";
 }
 }
 
 
 static const TypeInfo wdt_sbsa_gwdt_info = {
 static const TypeInfo wdt_sbsa_gwdt_info = {

+ 2 - 1
hw/watchdog/wdt_aspeed.c

@@ -293,9 +293,10 @@ static void aspeed_wdt_class_init(ObjectClass *klass, void *data)
     dc->desc = "ASPEED Watchdog Controller";
     dc->desc = "ASPEED Watchdog Controller";
     dc->realize = aspeed_wdt_realize;
     dc->realize = aspeed_wdt_realize;
     dc->reset = aspeed_wdt_reset;
     dc->reset = aspeed_wdt_reset;
-    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+    set_bit(DEVICE_CATEGORY_WATCHDOG, dc->categories);
     dc->vmsd = &vmstate_aspeed_wdt;
     dc->vmsd = &vmstate_aspeed_wdt;
     device_class_set_props(dc, aspeed_wdt_properties);
     device_class_set_props(dc, aspeed_wdt_properties);
+    dc->desc = "Aspeed watchdog device";
 }
 }
 
 
 static const TypeInfo aspeed_wdt_info = {
 static const TypeInfo aspeed_wdt_info = {

+ 2 - 1
hw/watchdog/wdt_diag288.c

@@ -122,9 +122,10 @@ static void wdt_diag288_class_init(ObjectClass *klass, void *data)
     dc->unrealize = wdt_diag288_unrealize;
     dc->unrealize = wdt_diag288_unrealize;
     dc->reset = wdt_diag288_reset;
     dc->reset = wdt_diag288_reset;
     dc->hotpluggable = false;
     dc->hotpluggable = false;
-    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+    set_bit(DEVICE_CATEGORY_WATCHDOG, dc->categories);
     dc->vmsd = &vmstate_diag288;
     dc->vmsd = &vmstate_diag288;
     diag288->handle_timer = wdt_diag288_handle_timer;
     diag288->handle_timer = wdt_diag288_handle_timer;
+    dc->desc = "diag288 device for s390x platform";
 }
 }
 
 
 static const TypeInfo wdt_diag288_info = {
 static const TypeInfo wdt_diag288_info = {

+ 2 - 1
hw/watchdog/wdt_i6300esb.c

@@ -476,7 +476,8 @@ static void i6300esb_class_init(ObjectClass *klass, void *data)
     k->class_id = PCI_CLASS_SYSTEM_OTHER;
     k->class_id = PCI_CLASS_SYSTEM_OTHER;
     dc->reset = i6300esb_reset;
     dc->reset = i6300esb_reset;
     dc->vmsd = &vmstate_i6300esb;
     dc->vmsd = &vmstate_i6300esb;
-    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+    set_bit(DEVICE_CATEGORY_WATCHDOG, dc->categories);
+    dc->desc = "Intel 6300ESB";
 }
 }
 
 
 static const TypeInfo i6300esb_info = {
 static const TypeInfo i6300esb_info = {

+ 2 - 1
hw/watchdog/wdt_ib700.c

@@ -140,7 +140,8 @@ static void wdt_ib700_class_init(ObjectClass *klass, void *data)
     dc->realize = wdt_ib700_realize;
     dc->realize = wdt_ib700_realize;
     dc->reset = wdt_ib700_reset;
     dc->reset = wdt_ib700_reset;
     dc->vmsd = &vmstate_ib700;
     dc->vmsd = &vmstate_ib700;
-    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+    set_bit(DEVICE_CATEGORY_WATCHDOG, dc->categories);
+    dc->desc = "iBASE 700";
 }
 }
 
 
 static const TypeInfo wdt_ib700_info = {
 static const TypeInfo wdt_ib700_info = {

+ 2 - 2
hw/watchdog/wdt_imx2.c

@@ -280,8 +280,8 @@ static void imx2_wdt_class_init(ObjectClass *klass, void *data)
     dc->realize = imx2_wdt_realize;
     dc->realize = imx2_wdt_realize;
     dc->reset = imx2_wdt_reset;
     dc->reset = imx2_wdt_reset;
     dc->vmsd = &vmstate_imx2_wdt;
     dc->vmsd = &vmstate_imx2_wdt;
-    dc->desc = "i.MX watchdog timer";
-    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+    dc->desc = "i.MX2 watchdog timer";
+    set_bit(DEVICE_CATEGORY_WATCHDOG, dc->categories);
 }
 }
 
 
 static const TypeInfo imx2_wdt_info = {
 static const TypeInfo imx2_wdt_info = {

+ 1 - 0
include/hw/qdev-core.h

@@ -26,6 +26,7 @@ typedef enum DeviceCategory {
     DEVICE_CATEGORY_SOUND,
     DEVICE_CATEGORY_SOUND,
     DEVICE_CATEGORY_MISC,
     DEVICE_CATEGORY_MISC,
     DEVICE_CATEGORY_CPU,
     DEVICE_CATEGORY_CPU,
+    DEVICE_CATEGORY_WATCHDOG,
     DEVICE_CATEGORY_MAX
     DEVICE_CATEGORY_MAX
 } DeviceCategory;
 } DeviceCategory;
 
 

+ 1 - 0
softmmu/qdev-monitor.c

@@ -165,6 +165,7 @@ static void qdev_print_devinfos(bool show_no_user)
         [DEVICE_CATEGORY_SOUND]   = "Sound",
         [DEVICE_CATEGORY_SOUND]   = "Sound",
         [DEVICE_CATEGORY_MISC]    = "Misc",
         [DEVICE_CATEGORY_MISC]    = "Misc",
         [DEVICE_CATEGORY_CPU]     = "CPU",
         [DEVICE_CATEGORY_CPU]     = "CPU",
+        [DEVICE_CATEGORY_WATCHDOG]= "Watchdog",
         [DEVICE_CATEGORY_MAX]     = "Uncategorized",
         [DEVICE_CATEGORY_MAX]     = "Uncategorized",
     };
     };
     GSList *list, *elt;
     GSList *list, *elt;