[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 30/36] hw/sd/omap_mmc: Use similar API for "wire up omap_clk" to o
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 30/36] hw/sd/omap_mmc: Use similar API for "wire up omap_clk" to other OMAP devices |
Date: |
Fri, 31 Jan 2025 22:05:13 +0100 |
From: Peter Maydell <peter.maydell@linaro.org>
The approach we've settled on for handling the omap_clk wiring for
OMAP devices converted to QDev is to have a function omap_foo_set_clk()
whose implementation just sets the field directly in the device's
state struct. (See the "TODO" comment near the top of omap.h.)
Make omap_mmc do the same.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250128104519.3981448-6-peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
include/hw/arm/omap.h | 3 +++
hw/sd/omap_mmc.c | 9 ++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/include/hw/arm/omap.h b/include/hw/arm/omap.h
index d20c55a8957..7cb87ea89cd 100644
--- a/include/hw/arm/omap.h
+++ b/include/hw/arm/omap.h
@@ -535,6 +535,9 @@ OBJECT_DECLARE_SIMPLE_TYPE(OMAPMMCState, OMAP_MMC)
DeviceState *omap_mmc_init(hwaddr base,
MemoryRegion *sysmem,
qemu_irq irq, qemu_irq dma[], omap_clk clk);
+/* TODO: clock framework (see above) */
+void omap_mmc_set_clk(DeviceState *dev, omap_clk clk);
+
/* omap_i2c.c */
I2CBus *omap_i2c_bus(DeviceState *omap_i2c);
diff --git a/hw/sd/omap_mmc.c b/hw/sd/omap_mmc.c
index 1bc8290f9d6..c6b8cf65d71 100644
--- a/hw/sd/omap_mmc.c
+++ b/hw/sd/omap_mmc.c
@@ -583,6 +583,13 @@ static const MemoryRegionOps omap_mmc_ops = {
.endianness = DEVICE_NATIVE_ENDIAN,
};
+void omap_mmc_set_clk(DeviceState *dev, omap_clk clk)
+{
+ OMAPMMCState *s = OMAP_MMC(dev);
+
+ s->clk = clk;
+}
+
DeviceState *omap_mmc_init(hwaddr base,
MemoryRegion *sysmem,
qemu_irq irq, qemu_irq dma[], omap_clk clk)
@@ -594,7 +601,7 @@ DeviceState *omap_mmc_init(hwaddr base,
s = OMAP_MMC(dev);
sysbus_realize_and_unref(SYS_BUS_DEVICE(s), &error_fatal);
- s->clk = clk;
+ omap_mmc_set_clk(dev, clk);
memory_region_add_subregion(sysmem, base,
sysbus_mmio_get_region(SYS_BUS_DEVICE(s), 0));
--
2.47.1
- [PULL 22/36] hw/loader: Clarify local variable name in load_elf_ram_sym(), (continued)
- [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é, 2025/01/31
- [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é <=
- [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