mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable
cannot_instantiate_with_device_add_yet was introduced by commit
efec3dd631 to replace no_user. It was
supposed to be a temporary measure.
When it was introduced, we had 54
cannot_instantiate_with_device_add_yet=true lines in the code.
Today (3 years later) this number has not shrunk: we now have
57 cannot_instantiate_with_device_add_yet=true lines. I think it
is safe to say it is not a temporary measure, and we won't see
the flag go away soon.
Instead of a long field name that misleads people to believe it
is temporary, replace it a shorter and less misleading field:
user_creatable.
Except for code comments, changes were generated using the
following Coccinelle patch:
@@
expression DC;
@@
(
-DC->cannot_instantiate_with_device_add_yet = false;
+DC->user_creatable = true;
|
-DC->cannot_instantiate_with_device_add_yet = true;
+DC->user_creatable = false;
)
@@
typedef ObjectClass;
expression dc;
identifier class, data;
@@
static void device_class_init(ObjectClass *class, void *data)
{
...
dc->hotpluggable = true;
+dc->user_creatable = true;
...
}
@@
@@
struct DeviceClass {
...
-bool cannot_instantiate_with_device_add_yet;
+bool user_creatable;
...
}
@@
expression DC;
@@
(
-!DC->cannot_instantiate_with_device_add_yet
+DC->user_creatable
|
-DC->cannot_instantiate_with_device_add_yet
+!DC->user_creatable
)
Cc: Alistair Francis <alistair.francis@xilinx.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Marcel Apfelbaum <marcel@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Thomas Huth <thuth@redhat.com>
Acked-by: Alistair Francis <alistair.francis@xilinx.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
Acked-by: Marcel Apfelbaum <marcel@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20170503203604.31462-2-ehabkost@redhat.com>
[ehabkost: kept "TODO remove once we're there" comment]
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
+1
-1
@@ -700,7 +700,7 @@ static void piix4_pm_class_init(ObjectClass *klass, void *data)
|
||||
* Reason: part of PIIX4 southbridge, needs to be wired up,
|
||||
* e.g. by mips_malta_init()
|
||||
*/
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
dc->hotpluggable = false;
|
||||
hc->plug = piix4_device_plug_cb;
|
||||
hc->unplug_request = piix4_device_unplug_request_cb;
|
||||
|
||||
+1
-1
@@ -1076,7 +1076,7 @@ static void sl_nand_class_init(ObjectClass *klass, void *data)
|
||||
dc->vmsd = &vmstate_sl_nand_info;
|
||||
dc->props = sl_nand_properties;
|
||||
/* Reason: init() method uses drive_get() */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo sl_nand_info = {
|
||||
|
||||
@@ -292,7 +292,7 @@ static void mv88w8618_audio_class_init(ObjectClass *klass, void *data)
|
||||
dc->vmsd = &mv88w8618_audio_vmsd;
|
||||
dc->props = mv88w8618_audio_properties;
|
||||
/* Reason: pointer property "wm8750" */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo mv88w8618_audio_info = {
|
||||
|
||||
+1
-1
@@ -223,7 +223,7 @@ static void pcspk_class_initfn(ObjectClass *klass, void *data)
|
||||
dc->vmsd = &vmstate_spk;
|
||||
dc->props = pcspk_properties;
|
||||
/* Reason: realize sets global pcspk_state */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo pcspk_info = {
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ static void or_irq_class_init(ObjectClass *klass, void *data)
|
||||
dc->vmsd = &vmstate_or_irq;
|
||||
|
||||
/* Reason: Needs to be wired up to work, e.g. see stm32f205_soc.c */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo or_irq_type_info = {
|
||||
|
||||
@@ -1118,6 +1118,7 @@ static void device_class_init(ObjectClass *class, void *data)
|
||||
* should override it in their class_init()
|
||||
*/
|
||||
dc->hotpluggable = true;
|
||||
dc->user_creatable = true;
|
||||
}
|
||||
|
||||
void device_reset(DeviceState *dev)
|
||||
|
||||
+1
-1
@@ -288,7 +288,7 @@ static void register_class_init(ObjectClass *oc, void *data)
|
||||
DeviceClass *dc = DEVICE_CLASS(oc);
|
||||
|
||||
/* Reason: needs to be wired up to work */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo register_info = {
|
||||
|
||||
+1
-1
@@ -601,7 +601,7 @@ static void i8257_class_init(ObjectClass *klass, void *data)
|
||||
idc->schedule = i8257_dma_schedule;
|
||||
idc->register_channel = i8257_dma_register_channel;
|
||||
/* Reason: needs to be wired up by isa_bus_dma() to work */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo i8257_info = {
|
||||
|
||||
@@ -305,7 +305,7 @@ static void sparc32_dma_class_init(ObjectClass *klass, void *data)
|
||||
dc->vmsd = &vmstate_dma;
|
||||
dc->props = sparc32_dma_properties;
|
||||
/* Reason: pointer property "iommu_opaque" */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo sparc32_dma_info = {
|
||||
|
||||
+2
-2
@@ -773,7 +773,7 @@ static void omap_gpio_class_init(ObjectClass *klass, void *data)
|
||||
dc->reset = omap_gpif_reset;
|
||||
dc->props = omap_gpio_properties;
|
||||
/* Reason: pointer property "clk" */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo omap_gpio_info = {
|
||||
@@ -804,7 +804,7 @@ static void omap2_gpio_class_init(ObjectClass *klass, void *data)
|
||||
dc->reset = omap2_gpif_reset;
|
||||
dc->props = omap2_gpio_properties;
|
||||
/* Reason: pointer properties "iclk", "fclk0", ..., "fclk5" */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo omap2_gpio_info = {
|
||||
|
||||
+1
-1
@@ -491,7 +491,7 @@ static void omap_i2c_class_init(ObjectClass *klass, void *data)
|
||||
dc->props = omap_i2c_properties;
|
||||
dc->reset = omap_i2c_reset;
|
||||
/* Reason: pointer properties "iclk", "fclk" */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
dc->realize = omap_i2c_realize;
|
||||
}
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ static void smbus_eeprom_class_initfn(ObjectClass *klass, void *data)
|
||||
sc->read_data = eeprom_read_data;
|
||||
dc->props = smbus_eeprom_properties;
|
||||
/* Reason: pointer property "data" */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo smbus_eeprom_info = {
|
||||
|
||||
+1
-1
@@ -103,7 +103,7 @@ static void ich9_smb_class_init(ObjectClass *klass, void *data)
|
||||
* Reason: part of ICH9 southbridge, needs to be wired up by
|
||||
* pc_q35_init()
|
||||
*/
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
I2CBus *ich9_smb_init(PCIBus *bus, int devfn, uint32_t smb_io_base)
|
||||
|
||||
+1
-1
@@ -597,7 +597,7 @@ static void port92_class_initfn(ObjectClass *klass, void *data)
|
||||
* wiring: its A20 output line needs to be wired up by
|
||||
* port92_init().
|
||||
*/
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo port92_info = {
|
||||
|
||||
+1
-1
@@ -286,7 +286,7 @@ static void vmmouse_class_initfn(ObjectClass *klass, void *data)
|
||||
dc->vmsd = &vmstate_vmmouse;
|
||||
dc->props = vmmouse_properties;
|
||||
/* Reason: pointer property "ps2_mouse" */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo vmmouse_info = {
|
||||
|
||||
@@ -501,7 +501,7 @@ static void apic_common_class_init(ObjectClass *klass, void *data)
|
||||
* Reason: APIC and CPU need to be wired up by
|
||||
* x86_cpu_apic_create()
|
||||
*/
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo apic_common_type = {
|
||||
|
||||
@@ -173,7 +173,7 @@ static void etraxfs_pic_class_init(ObjectClass *klass, void *data)
|
||||
dc->props = etraxfs_pic_properties;
|
||||
/*
|
||||
* Note: pointer property "interrupt_vector" may remain null, thus
|
||||
* no need for dc->cannot_instantiate_with_device_add_yet = true;
|
||||
* no need for dc->user_creatable = false;
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
@@ -360,7 +360,7 @@ static void grlib_irqmp_class_init(ObjectClass *klass, void *data)
|
||||
dc->reset = grlib_irqmp_reset;
|
||||
dc->props = grlib_irqmp_properties;
|
||||
/* Reason: pointer properties "set_pil_in", "set_pil_in_opaque" */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
dc->realize = grlib_irqmp_realize;
|
||||
}
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ static void pic_common_class_init(ObjectClass *klass, void *data)
|
||||
* wiring of the slave to the master is hard-coded in device model
|
||||
* code.
|
||||
*/
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
}
|
||||
|
||||
static const TypeInfo pic_common_type = {
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ static void altera_iic_class_init(ObjectClass *klass, void *data)
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
||||
/* Reason: needs to be wired up, e.g. by nios2_10m50_ghrd_init() */
|
||||
dc->cannot_instantiate_with_device_add_yet = true;
|
||||
dc->user_creatable = false;
|
||||
dc->realize = altera_iic_realize;
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user