]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: refactor virDomainDeviceCCWAddress into virccw.h
authorBoris Fiuczynski <fiuczy@linux.ibm.com>
Fri, 13 May 2022 10:31:01 +0000 (12:31 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 23 May 2022 14:31:40 +0000 (16:31 +0200)
Refactor ccw data structure virDomainDeviceCCWAddress into util virccw.h
and rename it as virCCWDeviceAddress.

Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/device_conf.c
src/conf/device_conf.h
src/conf/domain_addr.c
src/conf/domain_addr.h
src/conf/domain_conf.c
src/conf/domain_conf.h
src/node_device/node_device_driver.c
src/qemu/qemu_agent.c
src/qemu/qemu_agent.h
src/util/virccw.h [new file with mode: 0644]

index cb523d3a0d7e361eeb646bd884ea95a08de4335f..92b908b2e63ed097e70cac1f5b8d6262001ad1d8 100644 (file)
@@ -259,7 +259,7 @@ virPCIDeviceAddressFormat(virBuffer *buf,
 }
 
 bool
-virDomainDeviceCCWAddressIsValid(virDomainDeviceCCWAddress *addr)
+virDomainDeviceCCWAddressIsValid(virCCWDeviceAddress *addr)
 {
     return addr->cssid <= VIR_DOMAIN_DEVICE_CCW_MAX_CSSID &&
            addr->ssid <= VIR_DOMAIN_DEVICE_CCW_MAX_SSID &&
@@ -268,7 +268,7 @@ virDomainDeviceCCWAddressIsValid(virDomainDeviceCCWAddress *addr)
 
 int
 virDomainDeviceCCWAddressParseXML(xmlNodePtr node,
-                                  virDomainDeviceCCWAddress *addr)
+                                  virCCWDeviceAddress *addr)
 {
     int cssid;
     int ssid;
@@ -307,8 +307,8 @@ virDomainDeviceCCWAddressParseXML(xmlNodePtr node,
 }
 
 bool
-virDomainDeviceCCWAddressEqual(virDomainDeviceCCWAddress *addr1,
-                               virDomainDeviceCCWAddress *addr2)
+virDomainDeviceCCWAddressEqual(virCCWDeviceAddress *addr1,
+                               virCCWDeviceAddress *addr2)
 {
     if (addr1->cssid == addr2->cssid &&
         addr1->ssid == addr2->ssid &&
index b6b710d313acc770e7e96aa56cd45514d4bb1f12..60d90bbf1903fcc04f7be10f53ac426f3a5ac452 100644 (file)
@@ -27,6 +27,7 @@
 #include "internal.h"
 #include "virthread.h"
 #include "virbuffer.h"
+#include "virccw.h"
 #include "virpci.h"
 #include "virnetdev.h"
 #include "virenum.h"
@@ -73,14 +74,6 @@ struct _virDomainDeviceVirtioSerialAddress {
 #define VIR_DOMAIN_DEVICE_CCW_MAX_SSID       3
 #define VIR_DOMAIN_DEVICE_CCW_MAX_DEVNO  65535
 
-typedef struct _virDomainDeviceCCWAddress virDomainDeviceCCWAddress;
-struct _virDomainDeviceCCWAddress {
-    unsigned int cssid;
-    unsigned int ssid;
-    unsigned int devno;
-    bool         assigned;
-};
-
 typedef struct _virDomainDeviceCcidAddress virDomainDeviceCcidAddress;
 struct _virDomainDeviceCcidAddress {
     unsigned int controller;
@@ -136,7 +129,7 @@ struct _virDomainDeviceInfo {
         virDomainDeviceCcidAddress ccid;
         virDomainDeviceUSBAddress usb;
         virDomainDeviceSpaprVioAddress spaprvio;
-        virDomainDeviceCCWAddress ccw;
+        virCCWDeviceAddress ccw;
         virDomainDeviceISAAddress isa;
         virDomainDeviceDimmAddress dimm;
     } addr;
@@ -204,11 +197,11 @@ void virPCIDeviceAddressFormat(virBuffer *buf,
                                virPCIDeviceAddress addr,
                                bool includeTypeInAddr);
 
-bool virDomainDeviceCCWAddressIsValid(virDomainDeviceCCWAddress *addr);
+bool virDomainDeviceCCWAddressIsValid(virCCWDeviceAddress *addr);
 int virDomainDeviceCCWAddressParseXML(xmlNodePtr node,
-                                      virDomainDeviceCCWAddress *addr);
-bool virDomainDeviceCCWAddressEqual(virDomainDeviceCCWAddress *addr1,
-                                    virDomainDeviceCCWAddress *addr2);
+                                      virCCWDeviceAddress *addr);
+bool virDomainDeviceCCWAddressEqual(virCCWDeviceAddress *addr1,
+                                    virCCWDeviceAddress *addr2);
 #define VIR_CCW_DEVICE_ADDRESS_FMT "%x.%x.%04x"
 
 int virDomainDeviceDriveAddressParseXML(xmlNodePtr node,
index 117314363597a06b8789562154605dc863527e92..e51056b0a9b1daa8ac64f2ae483081b56c45b947 100644 (file)
@@ -1304,15 +1304,15 @@ virDomainPCIAddressSetAllMulti(virDomainDef *def)
 
 
 char*
-virDomainCCWAddressAsString(virDomainDeviceCCWAddress *addr)
+virDomainCCWAddressAsString(virCCWDeviceAddress *addr)
 {
     return g_strdup_printf("%x.%x.%04x", addr->cssid, addr->ssid, addr->devno);
 }
 
 static int
-virDomainCCWAddressIncrement(virDomainDeviceCCWAddress *addr)
+virDomainCCWAddressIncrement(virCCWDeviceAddress *addr)
 {
-    virDomainDeviceCCWAddress ccwaddr = *addr;
+    virCCWDeviceAddress ccwaddr = *addr;
 
     /* We are not touching subchannel sets and channel subsystems */
     if (++ccwaddr.devno > VIR_DOMAIN_DEVICE_CCW_MAX_DEVNO)
index 1772ea708800cde0a3aeec409b7ae4ee505949d3..8a6e80a84dbb5016c0de946ff5c680b92945557d 100644 (file)
@@ -199,7 +199,7 @@ void virDomainPCIAddressSetAllMulti(virDomainDef *def)
 
 struct _virDomainCCWAddressSet {
     GHashTable *defined;
-    virDomainDeviceCCWAddress next;
+    virCCWDeviceAddress next;
 };
 typedef struct _virDomainCCWAddressSet virDomainCCWAddressSet;
 
@@ -209,7 +209,7 @@ int virDomainCCWAddressAssign(virDomainDeviceInfo *dev,
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
 void virDomainCCWAddressSetFree(virDomainCCWAddressSet *addrs);
 
-char* virDomainCCWAddressAsString(virDomainDeviceCCWAddress *addr)
+char* virDomainCCWAddressAsString(virCCWDeviceAddress *addr)
     ATTRIBUTE_NONNULL(1);
 
 virDomainCCWAddressSet *
index 0b30ebc96b579d6e1ecb4e1e5445beeadc97f595..5d1c2e51dc7d6f71a874d597aaaaf10ae2171d5b 100644 (file)
@@ -15491,7 +15491,7 @@ virDomainDiskControllerMatch(int controller_type, int disk_bus)
 int
 virDomainDiskIndexByAddress(virDomainDef *def,
                             virPCIDeviceAddress *pci_address,
-                            virDomainDeviceCCWAddress *ccw_addr,
+                            virCCWDeviceAddress *ccw_addr,
                             unsigned int bus, unsigned int target,
                             unsigned int unit)
 {
@@ -15535,7 +15535,7 @@ virDomainDiskIndexByAddress(virDomainDef *def,
 virDomainDiskDef *
 virDomainDiskByAddress(virDomainDef *def,
                        virPCIDeviceAddress *pci_address,
-                       virDomainDeviceCCWAddress *ccw_addr,
+                       virCCWDeviceAddress *ccw_addr,
                        unsigned int bus,
                        unsigned int target,
                        unsigned int unit)
@@ -16134,7 +16134,7 @@ virDomainControllerFindByType(virDomainDef *def,
 
 int
 virDomainControllerFindByCCWAddress(virDomainDef *def,
-                                    virDomainDeviceCCWAddress *addr)
+                                    virCCWDeviceAddress *addr)
 {
     size_t i;
 
index f325bfb51e188ea4ea398cfa67a6c2c4507e9403..6906db4af5042eaaaf744bc384f9bad04cc70304 100644 (file)
@@ -3674,12 +3674,12 @@ void virDomainRNGDefFree(virDomainRNGDef *def);
 
 int virDomainDiskIndexByAddress(virDomainDef *def,
                                 virPCIDeviceAddress *pci_controller,
-                                virDomainDeviceCCWAddress *ccw_addr,
+                                virCCWDeviceAddress *ccw_addr,
                                 unsigned int bus, unsigned int target,
                                 unsigned int unit);
 virDomainDiskDef *virDomainDiskByAddress(virDomainDef *def,
                                          virPCIDeviceAddress *pci_controller,
-                                         virDomainDeviceCCWAddress *ccw_addr,
+                                         virCCWDeviceAddress *ccw_addr,
                                          unsigned int bus,
                                          unsigned int target,
                                          unsigned int unit);
@@ -3764,7 +3764,7 @@ void virDomainControllerInsertPreAlloced(virDomainDef *def,
 int virDomainControllerFind(const virDomainDef *def, int type, int idx);
 int virDomainControllerFindByType(virDomainDef *def, int type);
 int virDomainControllerFindByCCWAddress(virDomainDef *def,
-                                        virDomainDeviceCCWAddress *addr);
+                                        virCCWDeviceAddress *addr);
 int virDomainControllerFindByPCIAddress(virDomainDef *def,
                                         virPCIDeviceAddress *addr);
 int virDomainControllerFindUnusedIndex(virDomainDef const *def, int type);
index 1eb452b989eb1eb6b72634bae44b5943e1ba0e1d..b9c46376f5450b5a6c416816bc35e7c53edb9c07 100644 (file)
@@ -661,7 +661,7 @@ nodeDeviceObjFormatAddress(virNodeDeviceObj *obj)
             }
 
         case VIR_NODE_DEV_CAP_CSS_DEV: {
-            virDomainDeviceCCWAddress ccw_addr = {
+            virCCWDeviceAddress ccw_addr = {
                 .cssid = caps->data.ccw_dev.cssid,
                 .ssid = caps->data.ccw_dev.ssid,
                 .devno = caps->data.ccw_dev.devno
index 4156cb0dca757ad8d606928d691ed0b365e4c813..f57a8d5f255831e93147d69a38a33d7d9c3a3afd 100644 (file)
@@ -1764,9 +1764,9 @@ qemuAgentGetDiskAddress(virJSONValue *json)
     GET_DISK_ADDR(pci, &addr->pci_controller.function, "function");
 
     if ((ccw = virJSONValueObjectGet(json, "ccw-address"))) {
-        g_autofree virDomainDeviceCCWAddress *ccw_addr = NULL;
+        g_autofree virCCWDeviceAddress *ccw_addr = NULL;
 
-        ccw_addr = g_new0(virDomainDeviceCCWAddress, 1);
+        ccw_addr = g_new0(virCCWDeviceAddress, 1);
 
         GET_DISK_ADDR(ccw, &ccw_addr->cssid, "cssid");
         if (ccw_addr->cssid == 0)  /* Guest CSSID 0 is 0xfe on host */
index 862f6b0a95f3e107c8b8e37707ab1a7baef6f652..c07d8507bacf09b35ffe4ae96eec3220d9e0bcba 100644 (file)
@@ -72,7 +72,7 @@ struct _qemuAgentDiskAddress {
     unsigned int target;
     unsigned int unit;
     char *devnode;
-    virDomainDeviceCCWAddress *ccw_addr;
+    virCCWDeviceAddress *ccw_addr;
 };
 void qemuAgentDiskAddressFree(qemuAgentDiskAddress *addr);
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuAgentDiskAddress, qemuAgentDiskAddressFree);
diff --git a/src/util/virccw.h b/src/util/virccw.h
new file mode 100644 (file)
index 0000000..701e132
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * virccw.h: helper APIs for managing host CCW devices
+ *
+ * Copyright (C) 2022 IBM Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "internal.h"
+
+typedef struct _virCCWDeviceAddress virCCWDeviceAddress;
+struct _virCCWDeviceAddress {
+    unsigned int cssid;
+    unsigned int ssid;
+    unsigned int devno;
+    bool         assigned;
+};