[PATCH 02/27] hw/sysbus: Have various helpers take a const SysBusDevice argument

Philippe Mathieu-Daudé posted 27 patches 2 days, 16 hours ago
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <anisinha@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Alistair Francis <alistair@alistair23.me>, Peter Maydell <peter.maydell@linaro.org>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Richard Henderson <richard.henderson@linaro.org>, Artyom Tarasenko <atar4qemu@gmail.com>, Jason Wang <jasowang@redhat.com>, Michael Rolnik <mrolnik@gmail.com>, Yoshinori Sato <yoshinori.sato@nifty.com>, Magnus Damm <magnus.damm@gmail.com>, Vijai Kumar K <vijai@behindbytes.com>, Palmer Dabbelt <palmer@dabbelt.com>, Helge Deller <deller@gmx.de>, Song Gao <gaosong@loongson.cn>, Bibo Mao <maobibo@loongson.cn>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Huacai Chen <chenhuacai@kernel.org>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Ran Wang <wangran@bosc.ac.cn>, Anup Patel <anup.patel@wdc.com>, Fam Zheng <fam@euphon.net>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>, Gerd Hoffmann <kraxel@redhat.com>, Jean-Christophe Dubois <jcd@tribudubois.net>
[PATCH 02/27] hw/sysbus: Have various helpers take a const SysBusDevice argument
Posted by Philippe Mathieu-Daudé 2 days, 16 hours ago
These getters don't update any SysBusDevice internal fields,
make the argument const.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/sysbus.h | 10 +++++-----
 hw/core/sysbus.c    | 10 +++++-----
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/include/hw/sysbus.h b/include/hw/sysbus.h
index 18fde8a7b48..69eb62e29c8 100644
--- a/include/hw/sysbus.h
+++ b/include/hw/sysbus.h
@@ -70,17 +70,17 @@ struct SysBusDevice {
 typedef void FindSysbusDeviceFunc(SysBusDevice *sbdev, void *opaque);
 
 void sysbus_init_mmio(SysBusDevice *dev, MemoryRegion *memory);
-MemoryRegion *sysbus_mmio_get_region(SysBusDevice *dev, int n);
+MemoryRegion *sysbus_mmio_get_region(const SysBusDevice *dev, int n);
 void sysbus_init_irq(SysBusDevice *dev, qemu_irq *p);
 void sysbus_pass_irq(SysBusDevice *dev, SysBusDevice *target);
 void sysbus_init_ioports(SysBusDevice *dev, uint32_t ioport, uint32_t size);
 
 
-bool sysbus_has_irq(SysBusDevice *dev, int n);
-bool sysbus_has_mmio(SysBusDevice *dev, unsigned int n);
+bool sysbus_has_irq(const SysBusDevice *dev, int n);
+bool sysbus_has_mmio(const SysBusDevice *dev, unsigned int n);
 void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq);
-bool sysbus_is_irq_connected(SysBusDevice *dev, int n);
-qemu_irq sysbus_get_connected_irq(SysBusDevice *dev, int n);
+bool sysbus_is_irq_connected(const SysBusDevice *dev, int n);
+qemu_irq sysbus_get_connected_irq(const SysBusDevice *dev, int n);
 void sysbus_mmio_map(SysBusDevice *dev, int n, hwaddr addr);
 int sysbus_mmio_map_name(SysBusDevice *dev, const char*name, hwaddr addr);
 void sysbus_mmio_map_overlap(SysBusDevice *dev, int n, hwaddr addr,
diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c
index ec69e877a2c..ae447c1196a 100644
--- a/hw/core/sysbus.c
+++ b/hw/core/sysbus.c
@@ -80,7 +80,7 @@ static void system_bus_class_init(ObjectClass *klass, const void *data)
 }
 
 /* Check whether an IRQ source exists */
-bool sysbus_has_irq(SysBusDevice *dev, int n)
+bool sysbus_has_irq(const SysBusDevice *dev, int n)
 {
     char *prop = g_strdup_printf("%s[%d]", SYSBUS_DEVICE_GPIO_IRQ, n);
     ObjectProperty *r;
@@ -91,12 +91,12 @@ bool sysbus_has_irq(SysBusDevice *dev, int n)
     return (r != NULL);
 }
 
-bool sysbus_is_irq_connected(SysBusDevice *dev, int n)
+bool sysbus_is_irq_connected(const SysBusDevice *dev, int n)
 {
     return !!sysbus_get_connected_irq(dev, n);
 }
 
-qemu_irq sysbus_get_connected_irq(SysBusDevice *dev, int n)
+qemu_irq sysbus_get_connected_irq(const SysBusDevice *dev, int n)
 {
     DeviceState *d = DEVICE(dev);
     return qdev_get_gpio_out_connector(d, SYSBUS_DEVICE_GPIO_IRQ, n);
@@ -114,7 +114,7 @@ void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq)
 }
 
 /* Check whether an MMIO region exists */
-bool sysbus_has_mmio(SysBusDevice *dev, unsigned int n)
+bool sysbus_has_mmio(const SysBusDevice *dev, unsigned int n)
 {
     return (n < dev->num_mmio);
 }
@@ -190,7 +190,7 @@ void sysbus_init_mmio(SysBusDevice *dev, MemoryRegion *memory)
     dev->mmio[n].memory = memory;
 }
 
-MemoryRegion *sysbus_mmio_get_region(SysBusDevice *dev, int n)
+MemoryRegion *sysbus_mmio_get_region(const SysBusDevice *dev, int n)
 {
     assert(n >= 0 && n < QDEV_MAX_MMIO);
     return dev->mmio[n].memory;
-- 
2.51.0


Re: [PATCH 02/27] hw/sysbus: Have various helpers take a const SysBusDevice argument
Posted by Mark Cave-Ayland 2 days, 16 hours ago
On 24/10/2025 20:03, Philippe Mathieu-Daudé wrote:

> These getters don't update any SysBusDevice internal fields,
> make the argument const.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   include/hw/sysbus.h | 10 +++++-----
>   hw/core/sysbus.c    | 10 +++++-----
>   2 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/include/hw/sysbus.h b/include/hw/sysbus.h
> index 18fde8a7b48..69eb62e29c8 100644
> --- a/include/hw/sysbus.h
> +++ b/include/hw/sysbus.h
> @@ -70,17 +70,17 @@ struct SysBusDevice {
>   typedef void FindSysbusDeviceFunc(SysBusDevice *sbdev, void *opaque);
>   
>   void sysbus_init_mmio(SysBusDevice *dev, MemoryRegion *memory);
> -MemoryRegion *sysbus_mmio_get_region(SysBusDevice *dev, int n);
> +MemoryRegion *sysbus_mmio_get_region(const SysBusDevice *dev, int n);
>   void sysbus_init_irq(SysBusDevice *dev, qemu_irq *p);
>   void sysbus_pass_irq(SysBusDevice *dev, SysBusDevice *target);
>   void sysbus_init_ioports(SysBusDevice *dev, uint32_t ioport, uint32_t size);
>   
>   
> -bool sysbus_has_irq(SysBusDevice *dev, int n);
> -bool sysbus_has_mmio(SysBusDevice *dev, unsigned int n);
> +bool sysbus_has_irq(const SysBusDevice *dev, int n);
> +bool sysbus_has_mmio(const SysBusDevice *dev, unsigned int n);
>   void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq);
> -bool sysbus_is_irq_connected(SysBusDevice *dev, int n);
> -qemu_irq sysbus_get_connected_irq(SysBusDevice *dev, int n);
> +bool sysbus_is_irq_connected(const SysBusDevice *dev, int n);
> +qemu_irq sysbus_get_connected_irq(const SysBusDevice *dev, int n);
>   void sysbus_mmio_map(SysBusDevice *dev, int n, hwaddr addr);
>   int sysbus_mmio_map_name(SysBusDevice *dev, const char*name, hwaddr addr);
>   void sysbus_mmio_map_overlap(SysBusDevice *dev, int n, hwaddr addr,
> diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c
> index ec69e877a2c..ae447c1196a 100644
> --- a/hw/core/sysbus.c
> +++ b/hw/core/sysbus.c
> @@ -80,7 +80,7 @@ static void system_bus_class_init(ObjectClass *klass, const void *data)
>   }
>   
>   /* Check whether an IRQ source exists */
> -bool sysbus_has_irq(SysBusDevice *dev, int n)
> +bool sysbus_has_irq(const SysBusDevice *dev, int n)
>   {
>       char *prop = g_strdup_printf("%s[%d]", SYSBUS_DEVICE_GPIO_IRQ, n);
>       ObjectProperty *r;
> @@ -91,12 +91,12 @@ bool sysbus_has_irq(SysBusDevice *dev, int n)
>       return (r != NULL);
>   }
>   
> -bool sysbus_is_irq_connected(SysBusDevice *dev, int n)
> +bool sysbus_is_irq_connected(const SysBusDevice *dev, int n)
>   {
>       return !!sysbus_get_connected_irq(dev, n);
>   }
>   
> -qemu_irq sysbus_get_connected_irq(SysBusDevice *dev, int n)
> +qemu_irq sysbus_get_connected_irq(const SysBusDevice *dev, int n)
>   {
>       DeviceState *d = DEVICE(dev);
>       return qdev_get_gpio_out_connector(d, SYSBUS_DEVICE_GPIO_IRQ, n);
> @@ -114,7 +114,7 @@ void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_irq irq)
>   }
>   
>   /* Check whether an MMIO region exists */
> -bool sysbus_has_mmio(SysBusDevice *dev, unsigned int n)
> +bool sysbus_has_mmio(const SysBusDevice *dev, unsigned int n)
>   {
>       return (n < dev->num_mmio);
>   }
> @@ -190,7 +190,7 @@ void sysbus_init_mmio(SysBusDevice *dev, MemoryRegion *memory)
>       dev->mmio[n].memory = memory;
>   }
>   
> -MemoryRegion *sysbus_mmio_get_region(SysBusDevice *dev, int n)
> +MemoryRegion *sysbus_mmio_get_region(const SysBusDevice *dev, int n)
>   {
>       assert(n >= 0 && n < QDEV_MAX_MMIO);
>       return dev->mmio[n].memory;

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.