[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 31/36] hw/arm/omap1: Inline creation of MMC
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 31/36] hw/arm/omap1: Inline creation of MMC |
Date: |
Fri, 31 Jan 2025 22:05:14 +0100 |
From: Peter Maydell <peter.maydell@linaro.org>
Our style for other conversions of OMAP devices to qdev has been to
inline the creation and wiring into omap310_mpu_init() -- see for
instance the handling of omap-intc, omap-gpio and omap_i2c. Do
the same for omap-mmc.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250128104519.3981448-7-peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/arm/omap1.c | 15 +++++++++++----
hw/sd/omap_mmc.c | 22 ----------------------
2 files changed, 11 insertions(+), 26 deletions(-)
diff --git a/hw/arm/omap1.c b/hw/arm/omap1.c
index 15ba0a0d0c4..ca2eb0d1576 100644
--- a/hw/arm/omap1.c
+++ b/hw/arm/omap1.c
@@ -3981,10 +3981,17 @@ struct omap_mpu_state_s *omap310_mpu_init(MemoryRegion
*dram,
if (!dinfo && !qtest_enabled()) {
warn_report("missing SecureDigital device");
}
- s->mmc = omap_mmc_init(0xfffb7800, system_memory,
- qdev_get_gpio_in(s->ih[1], OMAP_INT_OQN),
- &s->drq[OMAP_DMA_MMC_TX],
- omap_findclk(s, "mmc_ck"));
+
+ s->mmc = qdev_new(TYPE_OMAP_MMC);
+ sysbus_realize_and_unref(SYS_BUS_DEVICE(s->mmc), &error_fatal);
+ omap_mmc_set_clk(s->mmc, omap_findclk(s, "mmc_ck"));
+
+ memory_region_add_subregion(system_memory, 0xfffb7800,
+ sysbus_mmio_get_region(SYS_BUS_DEVICE(s->mmc),
0));
+ qdev_connect_gpio_out_named(s->mmc, "dma-tx", 0, s->drq[OMAP_DMA_MMC_TX]);
+ qdev_connect_gpio_out_named(s->mmc, "dma-rx", 0, s->drq[OMAP_DMA_MMC_RX]);
+ sysbus_connect_irq(SYS_BUS_DEVICE(s->mmc), 0,
+ qdev_get_gpio_in(s->ih[1], OMAP_INT_OQN));
if (dinfo) {
DeviceState *card = qdev_new(TYPE_SD_CARD);
diff --git a/hw/sd/omap_mmc.c b/hw/sd/omap_mmc.c
index c6b8cf65d71..a8b541ca788 100644
--- a/hw/sd/omap_mmc.c
+++ b/hw/sd/omap_mmc.c
@@ -590,28 +590,6 @@ void omap_mmc_set_clk(DeviceState *dev, omap_clk clk)
s->clk = clk;
}
-DeviceState *omap_mmc_init(hwaddr base,
- MemoryRegion *sysmem,
- qemu_irq irq, qemu_irq dma[], omap_clk clk)
-{
- DeviceState *dev;
- OMAPMMCState *s;
-
- dev = qdev_new(TYPE_OMAP_MMC);
- s = OMAP_MMC(dev);
- sysbus_realize_and_unref(SYS_BUS_DEVICE(s), &error_fatal);
-
- omap_mmc_set_clk(dev, clk);
-
- memory_region_add_subregion(sysmem, base,
- sysbus_mmio_get_region(SYS_BUS_DEVICE(s), 0));
- qdev_connect_gpio_out_named(dev, "dma-tx", 0, dma[0]);
- qdev_connect_gpio_out_named(dev, "dma-rx", 0, dma[1]);
- sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);
-
- return dev;
-}
-
static void omap_mmc_reset_hold(Object *obj, ResetType type)
{
OMAPMMCState *s = OMAP_MMC(obj);
--
2.47.1
- [PULL 19/36] hw/usb/hcd-ehci: Fix debug printf format string, (continued)
- [PULL 19/36] hw/usb/hcd-ehci: Fix debug printf format string, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 20/36] hw/avr/boot: Replace load_elf_ram_sym() -> load_elf_as(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 21/36] hw/loader: Remove unused load_elf_ram(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 22/36] hw/loader: Clarify local variable name in load_elf_ram_sym(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 23/36] hw/loader: Pass ELFDATA endian order argument to load_elf_ram_sym(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 24/36] hw/loader: Pass ELFDATA endian order argument to load_elf_as(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 25/36] hw/loader: Pass ELFDATA endian order argument to load_elf(), Philippe Mathieu-Daudé, 2025/01/31
- [PULL 26/36] hw/sd/omap_mmc: Do a minimal conversion to QDev, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 27/36] hw/sd/omap_mmc: Convert remaining 'struct omap_mmc_s' uses to OMAPMMCState, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 28/36] hw/sd/omap_mmc: Convert output qemu_irqs to gpio and sysbus IRQ APIs, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 31/36] hw/arm/omap1: Inline creation of MMC,
Philippe Mathieu-Daudé <=
- [PULL 32/36] hw/sd/omap_mmc: Remove unused coverswitch qemu_irq, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 29/36] hw/sd/omap_mmc: Convert to SDBus API, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 30/36] hw/sd/omap_mmc: Use similar API for "wire up omap_clk" to other OMAP devices, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 33/36] hw/sd/omap_mmc: Untabify, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 34/36] hw/sd: Remove unused 'enable' method from SDCardClass, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 35/36] hw/sd: Remove unused legacy functions, stop killing mammoths, Philippe Mathieu-Daudé, 2025/01/31
- [PULL 36/36] hw/sd: Remove unused SDState::enable, Philippe Mathieu-Daudé, 2025/01/31