]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
qom: Have class_base_init() take a const data argument
authorPhilippe Mathieu-Daudé <philmd@linaro.org>
Sun, 9 Feb 2025 21:15:54 +0000 (22:15 +0100)
committerPhilippe Mathieu-Daudé <philmd@linaro.org>
Fri, 25 Apr 2025 15:00:41 +0000 (17:00 +0200)
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20250424194905.82506-3-philmd@linaro.org>

hw/core/machine.c
hw/core/qdev.c
hw/pci/pci.c
include/qom/object.h
qom/object.c
rust/qemu-api/src/qom.rs

index abfcedd4a5f7236ca387fe90497dc2b4c5098e07..bbff84855ae5970dc157dc3e33b1f4f1ec9a49d5 100644 (file)
@@ -1243,7 +1243,7 @@ static void machine_class_init(ObjectClass *oc, void *data)
         "Memory size configuration");
 }
 
-static void machine_class_base_init(ObjectClass *oc, void *data)
+static void machine_class_base_init(ObjectClass *oc, const void *data)
 {
     MachineClass *mc = MACHINE_CLASS(oc);
     mc->max_cpus = mc->max_cpus ?: 1;
index 2745b5e092914f7df08d373a6feea0faf374f3af..1e0f47cc848fd9f5839c73c7d631f39102e53014 100644 (file)
@@ -693,7 +693,7 @@ static void device_finalize(Object *obj)
     g_free(dev->id);
 }
 
-static void device_class_base_init(ObjectClass *class, void *data)
+static void device_class_base_init(ObjectClass *class, const void *data)
 {
     DeviceClass *klass = DEVICE_CLASS(class);
 
index 2844ec55560f7bf1d5b25835585b26f1efa80a99..475b97c649e8f521795bb755e22f80caccd5bde5 100644 (file)
@@ -2809,7 +2809,7 @@ static void pci_device_class_init(ObjectClass *klass, void *data)
         "access to indirect DMA memory");
 }
 
-static void pci_device_class_base_init(ObjectClass *klass, void *data)
+static void pci_device_class_base_init(ObjectClass *klass, const void *data)
 {
     if (!object_class_is_abstract(klass)) {
         ObjectClass *conventional =
index 9192265db7623ac3b86468cf7b95773dedafe8a2..7bb14ca706790442a8dec2c246f53d8a0122f5a5 100644 (file)
@@ -487,7 +487,7 @@ struct TypeInfo
     size_t class_size;
 
     void (*class_init)(ObjectClass *klass, void *data);
-    void (*class_base_init)(ObjectClass *klass, void *data);
+    void (*class_base_init)(ObjectClass *klass, const void *data);
     void *class_data;
 
     InterfaceInfo *interfaces;
index 01618d06bd88b0b7049f4b6de9985d4b3c5c1dbc..dfd59502d11e543fa1ddbb6b14a25aa18cafc20e 100644 (file)
@@ -55,7 +55,7 @@ struct TypeImpl
     size_t instance_align;
 
     void (*class_init)(ObjectClass *klass, void *data);
-    void (*class_base_init)(ObjectClass *klass, void *data);
+    void (*class_base_init)(ObjectClass *klass, const void *data);
 
     void *class_data;
 
index 34d7bc0ef96ffecb2fd64e8c2141e026f73bf6d4..03fe6247ff694a6d849a3fd6fadab8b015d2fda2 100644 (file)
@@ -492,7 +492,7 @@ pub trait ObjectImpl: ObjectType + IsA<Object> {
     /// the effects of copying the contents of the parent's class struct
     /// to the descendants.
     const CLASS_BASE_INIT: Option<
-        unsafe extern "C" fn(klass: *mut ObjectClass, data: *mut c_void),
+        unsafe extern "C" fn(klass: *mut ObjectClass, data: *const c_void),
     > = None;
 
     const TYPE_INFO: TypeInfo = TypeInfo {