* [PATCH v2 0/3] various: Remove unnecessary casts
@ 2020-05-04 10:07 Philippe Mathieu-Daudé
2020-05-04 10:07 ` [PATCH v2 1/3] target: Remove unnecessary CPU() cast Philippe Mathieu-Daudé
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 10:07 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Paul Durrant, Jason Wang, Mark Cave-Ayland,
Gerd Hoffmann, Edgar E. Iglesias, Stefano Stabellini, qemu-block,
David Hildenbrand, Markus Armbruster, Halil Pasic,
Christian Borntraeger, Aleksandar Markovic, Joel Stanley,
Anthony Perard, xen-devel, Richard Henderson,
Philippe Mathieu-Daudé, Eduardo Habkost, Corey Minyard,
Dr. David Alan Gilbert, qemu-s390x, qemu-arm, Peter Chubb,
Cédric Le Goater, John Snow, David Gibson,
Daniel P. Berrangé, Andrew Jeffery, Cornelia Huck,
Laurent Vivier, qemu-ppc, Paolo Bonzini, Aurelien Jarno,
Philippe Mathieu-Daudé
Remove unnecessary casts using coccinelle scripts.
The CPU()/OBJECT() patches don't introduce logical change,
The DEVICE() one removes various OBJECT_CHECK() calls.
Since v2:
- Add A-b/R-b tags
- Reword description (Markus)
Philippe Mathieu-Daudé (3):
target: Remove unnecessary CPU() cast
various: Remove unnecessary OBJECT() cast
hw: Remove unnecessary DEVICE() cast
hw/core/bus.c | 2 +-
hw/display/artist.c | 2 +-
hw/display/cg3.c | 2 +-
hw/display/sm501.c | 2 +-
hw/display/tcx.c | 4 ++--
hw/display/vga-isa.c | 2 +-
hw/i2c/imx_i2c.c | 2 +-
hw/i2c/mpc_i2c.c | 2 +-
hw/ide/ahci-allwinner.c | 2 +-
hw/ide/piix.c | 2 +-
hw/ipmi/smbus_ipmi.c | 2 +-
hw/microblaze/petalogix_ml605_mmu.c | 8 ++++----
hw/misc/macio/pmu.c | 2 +-
hw/net/ftgmac100.c | 3 +--
hw/net/imx_fec.c | 2 +-
hw/nubus/nubus-device.c | 2 +-
hw/pci-host/bonito.c | 2 +-
hw/ppc/spapr.c | 2 +-
hw/s390x/sclp.c | 2 +-
hw/sh4/sh_pci.c | 2 +-
hw/xen/xen-legacy-backend.c | 2 +-
monitor/misc.c | 3 +--
qom/object.c | 4 ++--
target/ppc/mmu_helper.c | 2 +-
24 files changed, 29 insertions(+), 31 deletions(-)
--
2.21.3
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/3] target: Remove unnecessary CPU() cast
2020-05-04 10:07 [PATCH v2 0/3] various: Remove unnecessary casts Philippe Mathieu-Daudé
@ 2020-05-04 10:07 ` Philippe Mathieu-Daudé
2020-05-08 12:50 ` Markus Armbruster
2020-05-04 10:07 ` [PATCH v2 2/3] various: Remove unnecessary OBJECT() cast Philippe Mathieu-Daudé
2020-05-04 10:07 ` [PATCH v2 3/3] hw: Remove unnecessary DEVICE() cast Philippe Mathieu-Daudé
2 siblings, 1 reply; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 10:07 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Paul Durrant, Jason Wang, Mark Cave-Ayland,
Gerd Hoffmann, Edgar E. Iglesias, Stefano Stabellini, qemu-block,
David Hildenbrand, Markus Armbruster, Halil Pasic,
Christian Borntraeger, Aleksandar Markovic, Joel Stanley,
Anthony Perard, xen-devel, Richard Henderson,
Philippe Mathieu-Daudé, Eduardo Habkost, Corey Minyard,
Richard Henderson, Dr. David Alan Gilbert, qemu-s390x, qemu-arm,
Peter Chubb, Cédric Le Goater, John Snow, David Gibson,
Daniel P. Berrangé, Andrew Jeffery, Cornelia Huck,
Laurent Vivier, qemu-ppc, Paolo Bonzini, Aurelien Jarno,
Philippe Mathieu-Daudé
The CPU() macro is defined as:
#define CPU(obj) ((CPUState *)(obj))
which expands to:
((CPUState *)object_dynamic_cast_assert((Object *)(obj), (name),
__FILE__, __LINE__, __func__))
This assertion can only fail when @obj points to something other
than its stated type, i.e. when we're in undefined behavior country.
Remove the unnecessary CPU() casts when we already know the pointer
is of CPUState type.
Patch created mechanically using spatch with this script:
@@
typedef CPUState;
CPUState *s;
@@
- CPU(s)
+ s
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
v2: Reword (Markus)
---
target/ppc/mmu_helper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/ppc/mmu_helper.c b/target/ppc/mmu_helper.c
index 86c667b094..8972714775 100644
--- a/target/ppc/mmu_helper.c
+++ b/target/ppc/mmu_helper.c
@@ -1820,7 +1820,7 @@ static inline void do_invalidate_BAT(CPUPPCState *env, target_ulong BATu,
if (((end - base) >> TARGET_PAGE_BITS) > 1024) {
/* Flushing 1024 4K pages is slower than a complete flush */
LOG_BATS("Flush all BATs\n");
- tlb_flush(CPU(cs));
+ tlb_flush(cs);
LOG_BATS("Flush done\n");
return;
}
--
2.21.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/3] various: Remove unnecessary OBJECT() cast
2020-05-04 10:07 [PATCH v2 0/3] various: Remove unnecessary casts Philippe Mathieu-Daudé
2020-05-04 10:07 ` [PATCH v2 1/3] target: Remove unnecessary CPU() cast Philippe Mathieu-Daudé
@ 2020-05-04 10:07 ` Philippe Mathieu-Daudé
2020-05-08 12:49 ` Markus Armbruster
2020-05-04 10:07 ` [PATCH v2 3/3] hw: Remove unnecessary DEVICE() cast Philippe Mathieu-Daudé
2 siblings, 1 reply; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 10:07 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Paul Durrant, Jason Wang, Mark Cave-Ayland,
Gerd Hoffmann, Edgar E. Iglesias, Stefano Stabellini, qemu-block,
David Hildenbrand, Markus Armbruster, Halil Pasic,
Christian Borntraeger, Aleksandar Markovic, Joel Stanley,
Anthony Perard, xen-devel, Richard Henderson,
Philippe Mathieu-Daudé, Eduardo Habkost, Corey Minyard,
Richard Henderson, Dr. David Alan Gilbert, qemu-s390x, qemu-arm,
Peter Chubb, Cédric Le Goater, John Snow, David Gibson,
Corey Minyard, Daniel P. Berrangé, Andrew Jeffery,
Cornelia Huck, Laurent Vivier, qemu-ppc, Paolo Bonzini,
Aurelien Jarno, Philippe Mathieu-Daudé
The OBJECT() macro is defined as:
#define OBJECT(obj) ((Object *)(obj))
which expands to:
((Object *)object_dynamic_cast_assert((Object *)(obj), (name),
__FILE__, __LINE__, __func__))
This assertion can only fail when @obj points to something other
than its stated type, i.e. when we're in undefined behavior country.
Remove the unnecessary OBJECT() casts when we already know the
pointer is of Object type.
Patch created mechanically using spatch with this script:
@@
typedef Object;
Object *o;
@@
- OBJECT(o)
+ o
Acked-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Corey Minyard <cminyard@mvista.com>
Acked-by: John Snow <jsnow@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
v2: Reword (Markus)
---
hw/core/bus.c | 2 +-
hw/ide/ahci-allwinner.c | 2 +-
hw/ipmi/smbus_ipmi.c | 2 +-
hw/microblaze/petalogix_ml605_mmu.c | 8 ++++----
hw/s390x/sclp.c | 2 +-
monitor/misc.c | 3 +--
qom/object.c | 4 ++--
7 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/hw/core/bus.c b/hw/core/bus.c
index 3dc0a825f0..4ea5870de8 100644
--- a/hw/core/bus.c
+++ b/hw/core/bus.c
@@ -25,7 +25,7 @@
void qbus_set_hotplug_handler(BusState *bus, Object *handler, Error **errp)
{
- object_property_set_link(OBJECT(bus), OBJECT(handler),
+ object_property_set_link(OBJECT(bus), handler,
QDEV_HOTPLUG_HANDLER_PROPERTY, errp);
}
diff --git a/hw/ide/ahci-allwinner.c b/hw/ide/ahci-allwinner.c
index bb8393d2b6..8536b9eb5a 100644
--- a/hw/ide/ahci-allwinner.c
+++ b/hw/ide/ahci-allwinner.c
@@ -90,7 +90,7 @@ static void allwinner_ahci_init(Object *obj)
SysbusAHCIState *s = SYSBUS_AHCI(obj);
AllwinnerAHCIState *a = ALLWINNER_AHCI(obj);
- memory_region_init_io(&a->mmio, OBJECT(obj), &allwinner_ahci_mem_ops, a,
+ memory_region_init_io(&a->mmio, obj, &allwinner_ahci_mem_ops, a,
"allwinner-ahci", ALLWINNER_AHCI_MMIO_SIZE);
memory_region_add_subregion(&s->ahci.mem, ALLWINNER_AHCI_MMIO_OFF,
&a->mmio);
diff --git a/hw/ipmi/smbus_ipmi.c b/hw/ipmi/smbus_ipmi.c
index 2a9470d9df..f1a0148755 100644
--- a/hw/ipmi/smbus_ipmi.c
+++ b/hw/ipmi/smbus_ipmi.c
@@ -329,7 +329,7 @@ static void smbus_ipmi_init(Object *obj)
{
SMBusIPMIDevice *sid = SMBUS_IPMI(obj);
- ipmi_bmc_find_and_link(OBJECT(obj), (Object **) &sid->bmc);
+ ipmi_bmc_find_and_link(obj, (Object **) &sid->bmc);
}
static void smbus_ipmi_get_fwinfo(struct IPMIInterface *ii, IPMIFwInfo *info)
diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index 0a2640c40b..52dcea9abd 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -150,9 +150,9 @@ petalogix_ml605_init(MachineState *machine)
qdev_set_nic_properties(eth0, &nd_table[0]);
qdev_prop_set_uint32(eth0, "rxmem", 0x1000);
qdev_prop_set_uint32(eth0, "txmem", 0x1000);
- object_property_set_link(OBJECT(eth0), OBJECT(ds),
+ object_property_set_link(OBJECT(eth0), ds,
"axistream-connected", &error_abort);
- object_property_set_link(OBJECT(eth0), OBJECT(cs),
+ object_property_set_link(OBJECT(eth0), cs,
"axistream-control-connected", &error_abort);
qdev_init_nofail(eth0);
sysbus_mmio_map(SYS_BUS_DEVICE(eth0), 0, AXIENET_BASEADDR);
@@ -163,9 +163,9 @@ petalogix_ml605_init(MachineState *machine)
cs = object_property_get_link(OBJECT(eth0),
"axistream-control-connected-target", NULL);
qdev_prop_set_uint32(dma, "freqhz", 100 * 1000000);
- object_property_set_link(OBJECT(dma), OBJECT(ds),
+ object_property_set_link(OBJECT(dma), ds,
"axistream-connected", &error_abort);
- object_property_set_link(OBJECT(dma), OBJECT(cs),
+ object_property_set_link(OBJECT(dma), cs,
"axistream-control-connected", &error_abort);
qdev_init_nofail(dma);
sysbus_mmio_map(SYS_BUS_DEVICE(dma), 0, AXIDMA_BASEADDR);
diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
index ede056b3ef..4132286db7 100644
--- a/hw/s390x/sclp.c
+++ b/hw/s390x/sclp.c
@@ -322,7 +322,7 @@ void s390_sclp_init(void)
object_property_add_child(qdev_get_machine(), TYPE_SCLP, new,
NULL);
- object_unref(OBJECT(new));
+ object_unref(new);
qdev_init_nofail(DEVICE(new));
}
diff --git a/monitor/misc.c b/monitor/misc.c
index 6c45fa490f..57af5fa5a4 100644
--- a/monitor/misc.c
+++ b/monitor/misc.c
@@ -1839,8 +1839,7 @@ void object_add_completion(ReadLineState *rs, int nb_args, const char *str)
static int qdev_add_hotpluggable_device(Object *obj, void *opaque)
{
GSList **list = opaque;
- DeviceState *dev = (DeviceState *)object_dynamic_cast(OBJECT(obj),
- TYPE_DEVICE);
+ DeviceState *dev = (DeviceState *)object_dynamic_cast(obj, TYPE_DEVICE);
if (dev == NULL) {
return 0;
diff --git a/qom/object.c b/qom/object.c
index be700e831f..07c1443d0e 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -762,7 +762,7 @@ Object *object_new_with_propv(const char *typename,
}
}
- object_unref(OBJECT(obj));
+ object_unref(obj);
return obj;
error:
@@ -1687,7 +1687,7 @@ void object_property_add_child(Object *obj, const char *name,
return;
}
- type = g_strdup_printf("child<%s>", object_get_typename(OBJECT(child)));
+ type = g_strdup_printf("child<%s>", object_get_typename(child));
op = object_property_add(obj, name, type, object_get_child_property, NULL,
object_finalize_child_property, child, &local_err);
--
2.21.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 3/3] hw: Remove unnecessary DEVICE() cast
2020-05-04 10:07 [PATCH v2 0/3] various: Remove unnecessary casts Philippe Mathieu-Daudé
2020-05-04 10:07 ` [PATCH v2 1/3] target: Remove unnecessary CPU() cast Philippe Mathieu-Daudé
2020-05-04 10:07 ` [PATCH v2 2/3] various: Remove unnecessary OBJECT() cast Philippe Mathieu-Daudé
@ 2020-05-04 10:07 ` Philippe Mathieu-Daudé
2020-05-08 12:47 ` Markus Armbruster
2 siblings, 1 reply; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-04 10:07 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Paul Durrant, Jason Wang, Mark Cave-Ayland,
Gerd Hoffmann, Edgar E. Iglesias, Stefano Stabellini, qemu-block,
David Hildenbrand, Markus Armbruster, Halil Pasic,
Christian Borntraeger, Aleksandar Markovic, Joel Stanley,
Anthony Perard, xen-devel, Richard Henderson,
Philippe Mathieu-Daudé, Eduardo Habkost, Corey Minyard,
Richard Henderson, Dr. David Alan Gilbert, qemu-s390x, qemu-arm,
Peter Chubb, Cédric Le Goater, John Snow, David Gibson,
Daniel P. Berrangé, Andrew Jeffery, Cornelia Huck,
Laurent Vivier, qemu-ppc, Paolo Bonzini, Aurelien Jarno,
Philippe Mathieu-Daudé
The DEVICE() macro is defined as:
#define DEVICE(obj) OBJECT_CHECK(DeviceState, (obj), TYPE_DEVICE)
which expands to:
((DeviceState *)object_dynamic_cast_assert((Object *)(obj), (name),
__FILE__, __LINE__,
__func__))
This assertion can only fail when @obj points to something other
than its stated type, i.e. when we're in undefined behavior country.
Remove the unnecessary DEVICE() casts when we already know the
pointer is of DeviceState type.
Patch created mechanically using spatch with this script:
@@
typedef DeviceState;
DeviceState *s;
@@
- DEVICE(s)
+ s
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Paul Durrant <paul@xen.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Acked-by: John Snow <jsnow@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
v2: Reword (Markus)
---
hw/display/artist.c | 2 +-
hw/display/cg3.c | 2 +-
hw/display/sm501.c | 2 +-
hw/display/tcx.c | 4 ++--
hw/display/vga-isa.c | 2 +-
hw/i2c/imx_i2c.c | 2 +-
hw/i2c/mpc_i2c.c | 2 +-
hw/ide/piix.c | 2 +-
hw/misc/macio/pmu.c | 2 +-
hw/net/ftgmac100.c | 3 +--
hw/net/imx_fec.c | 2 +-
hw/nubus/nubus-device.c | 2 +-
hw/pci-host/bonito.c | 2 +-
hw/ppc/spapr.c | 2 +-
hw/sh4/sh_pci.c | 2 +-
hw/xen/xen-legacy-backend.c | 2 +-
16 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/hw/display/artist.c b/hw/display/artist.c
index 753dbb9a77..7e2a4556bd 100644
--- a/hw/display/artist.c
+++ b/hw/display/artist.c
@@ -1353,7 +1353,7 @@ static void artist_realizefn(DeviceState *dev, Error **errp)
s->cursor_height = 32;
s->cursor_width = 32;
- s->con = graphic_console_init(DEVICE(dev), 0, &artist_ops, s);
+ s->con = graphic_console_init(dev, 0, &artist_ops, s);
qemu_console_resize(s->con, s->width, s->height);
}
diff --git a/hw/display/cg3.c b/hw/display/cg3.c
index a1ede10394..f7f1c199ce 100644
--- a/hw/display/cg3.c
+++ b/hw/display/cg3.c
@@ -321,7 +321,7 @@ static void cg3_realizefn(DeviceState *dev, Error **errp)
sysbus_init_irq(sbd, &s->irq);
- s->con = graphic_console_init(DEVICE(dev), 0, &cg3_ops, s);
+ s->con = graphic_console_init(dev, 0, &cg3_ops, s);
qemu_console_resize(s->con, s->width, s->height);
}
diff --git a/hw/display/sm501.c b/hw/display/sm501.c
index de0ab9d977..2a564889bd 100644
--- a/hw/display/sm501.c
+++ b/hw/display/sm501.c
@@ -1839,7 +1839,7 @@ static void sm501_init(SM501State *s, DeviceState *dev,
&s->twoD_engine_region);
/* create qemu graphic console */
- s->con = graphic_console_init(DEVICE(dev), 0, &sm501_ops, s);
+ s->con = graphic_console_init(dev, 0, &sm501_ops, s);
}
static const VMStateDescription vmstate_sm501_state = {
diff --git a/hw/display/tcx.c b/hw/display/tcx.c
index 76de16e8ea..1fb45b1aab 100644
--- a/hw/display/tcx.c
+++ b/hw/display/tcx.c
@@ -868,9 +868,9 @@ static void tcx_realizefn(DeviceState *dev, Error **errp)
sysbus_init_irq(sbd, &s->irq);
if (s->depth == 8) {
- s->con = graphic_console_init(DEVICE(dev), 0, &tcx_ops, s);
+ s->con = graphic_console_init(dev, 0, &tcx_ops, s);
} else {
- s->con = graphic_console_init(DEVICE(dev), 0, &tcx24_ops, s);
+ s->con = graphic_console_init(dev, 0, &tcx24_ops, s);
}
s->thcmisc = 0;
diff --git a/hw/display/vga-isa.c b/hw/display/vga-isa.c
index 0633ed382c..3aaeeeca1e 100644
--- a/hw/display/vga-isa.c
+++ b/hw/display/vga-isa.c
@@ -74,7 +74,7 @@ static void vga_isa_realizefn(DeviceState *dev, Error **errp)
0x000a0000,
vga_io_memory, 1);
memory_region_set_coalescing(vga_io_memory);
- s->con = graphic_console_init(DEVICE(dev), 0, s->hw_ops, s);
+ s->con = graphic_console_init(dev, 0, s->hw_ops, s);
memory_region_add_subregion(isa_address_space(isadev),
VBE_DISPI_LFB_PHYSICAL_ADDRESS,
diff --git a/hw/i2c/imx_i2c.c b/hw/i2c/imx_i2c.c
index 30b9aea247..2e02e1c4fa 100644
--- a/hw/i2c/imx_i2c.c
+++ b/hw/i2c/imx_i2c.c
@@ -305,7 +305,7 @@ static void imx_i2c_realize(DeviceState *dev, Error **errp)
IMX_I2C_MEM_SIZE);
sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem);
sysbus_init_irq(SYS_BUS_DEVICE(dev), &s->irq);
- s->bus = i2c_init_bus(DEVICE(dev), NULL);
+ s->bus = i2c_init_bus(dev, NULL);
}
static void imx_i2c_class_init(ObjectClass *klass, void *data)
diff --git a/hw/i2c/mpc_i2c.c b/hw/i2c/mpc_i2c.c
index 0aa1be3ce7..9a724f3a3e 100644
--- a/hw/i2c/mpc_i2c.c
+++ b/hw/i2c/mpc_i2c.c
@@ -332,7 +332,7 @@ static void mpc_i2c_realize(DeviceState *dev, Error **errp)
memory_region_init_io(&i2c->iomem, OBJECT(i2c), &i2c_ops, i2c,
"mpc-i2c", 0x14);
sysbus_init_mmio(SYS_BUS_DEVICE(dev), &i2c->iomem);
- i2c->bus = i2c_init_bus(DEVICE(dev), "i2c");
+ i2c->bus = i2c_init_bus(dev, "i2c");
}
static void mpc_i2c_class_init(ObjectClass *klass, void *data)
diff --git a/hw/ide/piix.c b/hw/ide/piix.c
index 3b2de4c312..b402a93636 100644
--- a/hw/ide/piix.c
+++ b/hw/ide/piix.c
@@ -193,7 +193,7 @@ int pci_piix3_xen_ide_unplug(DeviceState *dev, bool aux)
blk_unref(blk);
}
}
- qdev_reset_all(DEVICE(dev));
+ qdev_reset_all(dev);
return 0;
}
diff --git a/hw/misc/macio/pmu.c b/hw/misc/macio/pmu.c
index b8466a4a3f..4b7def9096 100644
--- a/hw/misc/macio/pmu.c
+++ b/hw/misc/macio/pmu.c
@@ -758,7 +758,7 @@ static void pmu_realize(DeviceState *dev, Error **errp)
if (s->has_adb) {
qbus_create_inplace(&s->adb_bus, sizeof(s->adb_bus), TYPE_ADB_BUS,
- DEVICE(dev), "adb.0");
+ dev, "adb.0");
s->adb_poll_timer = timer_new_ms(QEMU_CLOCK_VIRTUAL, pmu_adb_poll, s);
s->adb_poll_mask = 0xffff;
s->autopoll_rate_ms = 20;
diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c
index 041ed21017..25ebee7ec2 100644
--- a/hw/net/ftgmac100.c
+++ b/hw/net/ftgmac100.c
@@ -1035,8 +1035,7 @@ static void ftgmac100_realize(DeviceState *dev, Error **errp)
qemu_macaddr_default_if_unset(&s->conf.macaddr);
s->nic = qemu_new_nic(&net_ftgmac100_info, &s->conf,
- object_get_typename(OBJECT(dev)), DEVICE(dev)->id,
- s);
+ object_get_typename(OBJECT(dev)), dev->id, s);
qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
}
diff --git a/hw/net/imx_fec.c b/hw/net/imx_fec.c
index a35c33683e..7adcc9df65 100644
--- a/hw/net/imx_fec.c
+++ b/hw/net/imx_fec.c
@@ -1323,7 +1323,7 @@ static void imx_eth_realize(DeviceState *dev, Error **errp)
s->nic = qemu_new_nic(&imx_eth_net_info, &s->conf,
object_get_typename(OBJECT(dev)),
- DEVICE(dev)->id, s);
+ dev->id, s);
qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
}
diff --git a/hw/nubus/nubus-device.c b/hw/nubus/nubus-device.c
index 01ccad9e8e..ffe78a8823 100644
--- a/hw/nubus/nubus-device.c
+++ b/hw/nubus/nubus-device.c
@@ -156,7 +156,7 @@ void nubus_register_rom(NubusDevice *dev, const uint8_t *rom, uint32_t size,
static void nubus_device_realize(DeviceState *dev, Error **errp)
{
- NubusBus *nubus = NUBUS_BUS(qdev_get_parent_bus(DEVICE(dev)));
+ NubusBus *nubus = NUBUS_BUS(qdev_get_parent_bus(dev));
NubusDevice *nd = NUBUS_DEVICE(dev);
char *name;
hwaddr slot_offset;
diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c
index cc6545c8a8..f212796044 100644
--- a/hw/pci-host/bonito.c
+++ b/hw/pci-host/bonito.c
@@ -606,7 +606,7 @@ static void bonito_pcihost_realize(DeviceState *dev, Error **errp)
BonitoState *bs = BONITO_PCI_HOST_BRIDGE(dev);
memory_region_init(&bs->pci_mem, OBJECT(dev), "pci.mem", BONITO_PCILO_SIZE);
- phb->bus = pci_register_root_bus(DEVICE(dev), "pci",
+ phb->bus = pci_register_root_bus(dev, "pci",
pci_bonito_set_irq, pci_bonito_map_irq,
dev, &bs->pci_mem, get_system_io(),
0x28, 32, TYPE_PCI_BUS);
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 9a2bd501aa..3337f5e79c 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4031,7 +4031,7 @@ static void spapr_phb_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
/* hotplug hooks should check it's enabled before getting this far */
assert(drc);
- spapr_drc_attach(drc, DEVICE(dev), &local_err);
+ spapr_drc_attach(drc, dev, &local_err);
if (local_err) {
error_propagate(errp, local_err);
return;
diff --git a/hw/sh4/sh_pci.c b/hw/sh4/sh_pci.c
index 08f2fc1dde..0a3e86f949 100644
--- a/hw/sh4/sh_pci.c
+++ b/hw/sh4/sh_pci.c
@@ -129,7 +129,7 @@ static void sh_pci_device_realize(DeviceState *dev, Error **errp)
for (i = 0; i < 4; i++) {
sysbus_init_irq(sbd, &s->irq[i]);
}
- phb->bus = pci_register_root_bus(DEVICE(dev), "pci",
+ phb->bus = pci_register_root_bus(dev, "pci",
sh_pci_set_irq, sh_pci_map_irq,
s->irq,
get_system_memory(),
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 4a373b2373..f9d013811a 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -705,7 +705,7 @@ int xen_be_init(void)
xen_sysdev = qdev_create(NULL, TYPE_XENSYSDEV);
qdev_init_nofail(xen_sysdev);
- xen_sysbus = qbus_create(TYPE_XENSYSBUS, DEVICE(xen_sysdev), "xen-sysbus");
+ xen_sysbus = qbus_create(TYPE_XENSYSBUS, xen_sysdev, "xen-sysbus");
qbus_set_bus_hotplug_handler(xen_sysbus, &error_abort);
return 0;
--
2.21.3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 3/3] hw: Remove unnecessary DEVICE() cast
2020-05-04 10:07 ` [PATCH v2 3/3] hw: Remove unnecessary DEVICE() cast Philippe Mathieu-Daudé
@ 2020-05-08 12:47 ` Markus Armbruster
0 siblings, 0 replies; 8+ messages in thread
From: Markus Armbruster @ 2020-05-08 12:47 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, Paul Durrant, Jason Wang, Mark Cave-Ayland,
qemu-devel, Gerd Hoffmann, Edgar E. Iglesias, Stefano Stabellini,
qemu-block, David Hildenbrand, Halil Pasic, Christian Borntraeger,
Aleksandar Markovic, Joel Stanley, Anthony Perard, xen-devel,
David Gibson, Philippe Mathieu-Daudé, Eduardo Habkost,
Corey Minyard, Richard Henderson, Dr. David Alan Gilbert,
qemu-s390x, qemu-arm, Peter Chubb, Cédric Le Goater,
John Snow, Richard Henderson, Daniel P. Berrangé,
Andrew Jeffery, Cornelia Huck, Laurent Vivier, qemu-ppc,
Paolo Bonzini, Aurelien Jarno
Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
> The DEVICE() macro is defined as:
>
> #define DEVICE(obj) OBJECT_CHECK(DeviceState, (obj), TYPE_DEVICE)
>
> which expands to:
>
> ((DeviceState *)object_dynamic_cast_assert((Object *)(obj), (name),
> __FILE__, __LINE__,
> __func__))
>
> This assertion can only fail when @obj points to something other
> than its stated type, i.e. when we're in undefined behavior country.
>
> Remove the unnecessary DEVICE() casts when we already know the
> pointer is of DeviceState type.
>
> Patch created mechanically using spatch with this script:
>
> @@
> typedef DeviceState;
> DeviceState *s;
> @@
> - DEVICE(s)
> + s
>
> Acked-by: David Gibson <david@gibson.dropbear.id.au>
> Acked-by: Paul Durrant <paul@xen.org>
> Reviewed-by: Markus Armbruster <armbru@redhat.com>
> Reviewed-by: Cédric Le Goater <clg@kaod.org>
> Acked-by: John Snow <jsnow@redhat.com>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Lovely.
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Now repeat this exercise for each QOM type cast macro :)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 2/3] various: Remove unnecessary OBJECT() cast
2020-05-04 10:07 ` [PATCH v2 2/3] various: Remove unnecessary OBJECT() cast Philippe Mathieu-Daudé
@ 2020-05-08 12:49 ` Markus Armbruster
2020-05-08 13:08 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 8+ messages in thread
From: Markus Armbruster @ 2020-05-08 12:49 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, Paul Durrant, Jason Wang, Mark Cave-Ayland,
qemu-devel, Gerd Hoffmann, Edgar E. Iglesias, Stefano Stabellini,
qemu-block, David Hildenbrand, Halil Pasic, Christian Borntraeger,
Aleksandar Markovic, Joel Stanley, Anthony Perard, xen-devel,
David Gibson, Philippe Mathieu-Daudé, Eduardo Habkost,
Corey Minyard, Richard Henderson, Dr. David Alan Gilbert,
qemu-s390x, qemu-arm, Peter Chubb, Cédric Le Goater,
qemu-ppc, John Snow, Richard Henderson, Daniel P. Berrangé,
Andrew Jeffery, Cornelia Huck, Laurent Vivier, Corey Minyard,
Paolo Bonzini, Aurelien Jarno
Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
> The OBJECT() macro is defined as:
>
> #define OBJECT(obj) ((Object *)(obj))
>
> which expands to:
>
> ((Object *)object_dynamic_cast_assert((Object *)(obj), (name),
> __FILE__, __LINE__, __func__))
Nope :)
> This assertion can only fail when @obj points to something other
> than its stated type, i.e. when we're in undefined behavior country.
There is no assertion.
> Remove the unnecessary OBJECT() casts when we already know the
> pointer is of Object type.
>
> Patch created mechanically using spatch with this script:
>
> @@
> typedef Object;
> Object *o;
> @@
> - OBJECT(o)
> + o
>
> Acked-by: Cornelia Huck <cohuck@redhat.com>
> Acked-by: Corey Minyard <cminyard@mvista.com>
> Acked-by: John Snow <jsnow@redhat.com>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> v2: Reword (Markus)
My rewording suggestion applied to PATCH 3, not to this one.
With v2's commit message;
Reviewed-by: Markus Armbruster <armbru@redhat.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/3] target: Remove unnecessary CPU() cast
2020-05-04 10:07 ` [PATCH v2 1/3] target: Remove unnecessary CPU() cast Philippe Mathieu-Daudé
@ 2020-05-08 12:50 ` Markus Armbruster
0 siblings, 0 replies; 8+ messages in thread
From: Markus Armbruster @ 2020-05-08 12:50 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, Paul Durrant, Jason Wang, Mark Cave-Ayland,
qemu-devel, Gerd Hoffmann, Edgar E. Iglesias, Stefano Stabellini,
qemu-block, David Hildenbrand, Halil Pasic, Christian Borntraeger,
Aleksandar Markovic, Joel Stanley, Anthony Perard, xen-devel,
David Gibson, Philippe Mathieu-Daudé, Eduardo Habkost,
Corey Minyard, Richard Henderson, Dr. David Alan Gilbert,
qemu-s390x, qemu-arm, Peter Chubb, Cédric Le Goater,
John Snow, Richard Henderson, Daniel P. Berrangé,
Andrew Jeffery, Cornelia Huck, Laurent Vivier, qemu-ppc,
Paolo Bonzini, Aurelien Jarno
Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
> The CPU() macro is defined as:
>
> #define CPU(obj) ((CPUState *)(obj))
>
> which expands to:
>
> ((CPUState *)object_dynamic_cast_assert((Object *)(obj), (name),
> __FILE__, __LINE__, __func__))
>
> This assertion can only fail when @obj points to something other
> than its stated type, i.e. when we're in undefined behavior country.
>
> Remove the unnecessary CPU() casts when we already know the pointer
> is of CPUState type.
>
> Patch created mechanically using spatch with this script:
>
> @@
> typedef CPUState;
> CPUState *s;
> @@
> - CPU(s)
> + s
>
> Acked-by: David Gibson <david@gibson.dropbear.id.au>
> Reviewed-by: Cédric Le Goater <clg@kaod.org>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 2/3] various: Remove unnecessary OBJECT() cast
2020-05-08 12:49 ` Markus Armbruster
@ 2020-05-08 13:08 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-05-08 13:08 UTC (permalink / raw)
To: Markus Armbruster
Cc: Peter Maydell, Paul Durrant, Jason Wang, Mark Cave-Ayland,
qemu-devel, Gerd Hoffmann, Edgar E. Iglesias, Stefano Stabellini,
qemu-block, David Hildenbrand, Halil Pasic, Christian Borntraeger,
Aleksandar Markovic, Joel Stanley, Anthony Perard, xen-devel,
David Gibson, Philippe Mathieu-Daudé, Eduardo Habkost,
Corey Minyard, Richard Henderson, Dr. David Alan Gilbert,
qemu-s390x, qemu-arm, Peter Chubb, Cédric Le Goater,
qemu-ppc, John Snow, Richard Henderson, Daniel P. Berrangé,
Andrew Jeffery, Cornelia Huck, Laurent Vivier, Corey Minyard,
Paolo Bonzini, Aurelien Jarno
On 5/8/20 2:49 PM, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
>
>> The OBJECT() macro is defined as:
>>
>> #define OBJECT(obj) ((Object *)(obj))
>>
>> which expands to:
>>
>> ((Object *)object_dynamic_cast_assert((Object *)(obj), (name),
>> __FILE__, __LINE__, __func__))
>
> Nope :)
>
>> This assertion can only fail when @obj points to something other
>> than its stated type, i.e. when we're in undefined behavior country.
>
> There is no assertion.
>
>> Remove the unnecessary OBJECT() casts when we already know the
>> pointer is of Object type.
>>
>> Patch created mechanically using spatch with this script:
>>
>> @@
>> typedef Object;
>> Object *o;
>> @@
>> - OBJECT(o)
>> + o
>>
>> Acked-by: Cornelia Huck <cohuck@redhat.com>
>> Acked-by: Corey Minyard <cminyard@mvista.com>
>> Acked-by: John Snow <jsnow@redhat.com>
>> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>> v2: Reword (Markus)
>
> My rewording suggestion applied to PATCH 3, not to this one.
OK.
>
> With v2's commit message;
> Reviewed-by: Markus Armbruster <armbru@redhat.com>
Are you willing to take these patches? In that case, are you OK to take
1 & 3 and I resend 2?
Thanks,
Phil.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-05-08 13:11 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-04 10:07 [PATCH v2 0/3] various: Remove unnecessary casts Philippe Mathieu-Daudé
2020-05-04 10:07 ` [PATCH v2 1/3] target: Remove unnecessary CPU() cast Philippe Mathieu-Daudé
2020-05-08 12:50 ` Markus Armbruster
2020-05-04 10:07 ` [PATCH v2 2/3] various: Remove unnecessary OBJECT() cast Philippe Mathieu-Daudé
2020-05-08 12:49 ` Markus Armbruster
2020-05-08 13:08 ` Philippe Mathieu-Daudé
2020-05-04 10:07 ` [PATCH v2 3/3] hw: Remove unnecessary DEVICE() cast Philippe Mathieu-Daudé
2020-05-08 12:47 ` Markus Armbruster
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).