hw/misc/allwinner-dramc: Do not use SysBus API to map local MMIO region
authorPhilippe Mathieu-Daudé <philmd@linaro.org>
Wed, 18 Oct 2023 08:13:54 +0000 (10:13 +0200)
committerPhilippe Mathieu-Daudé <philmd@linaro.org>
Fri, 20 Oct 2023 12:46:07 +0000 (14:46 +0200)
commit403b50fd3c78037f85aef76845056f8aecbb25e2
tree8e4113588cc7bcf1f9fc1f2187cda1cafc34fb2e
parenta4a81a2d57a4bac4efd482a1589b007702f92901
hw/misc/allwinner-dramc: Do not use SysBus API to map local MMIO region

There is no point in exposing an internal MMIO region via
SysBus and directly mapping it in the very same device.

Just map it without using the SysBus API.

Transformation done using the following coccinelle script:

  @@
  expression sbdev;
  expression index;
  expression addr;
  expression subregion;
  @@
  -    sysbus_init_mmio(sbdev, subregion);
       ... when != sbdev
  -    sysbus_mmio_map(sbdev, index, addr);
  +    memory_region_add_subregion(get_system_memory(),
  +                                addr, subregion);

  @@
  expression priority;
  @@
  -    sysbus_init_mmio(sbdev, subregion);
       ... when != sbdev
  -    sysbus_mmio_map_overlap(sbdev, index, addr, priority);
  +    memory_region_add_subregion_overlap(get_system_memory(),
  +                                        addr,
  +                                        subregion, priority);

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20231019071611.98885-5-philmd@linaro.org>
hw/misc/allwinner-r40-dramc.c