Message ID | 20250128104519.3981448-6-peter.maydell@linaro.org |
---|---|
State | Accepted |
Headers | show |
Series | hw/sd: QOMify omap-mmc, remove legacy APIs | expand |
On 28/1/25 11:45, Peter Maydell wrote: > 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> > --- > include/hw/arm/omap.h | 3 +++ > hw/sd/omap_mmc.c | 9 ++++++++- > 2 files changed, 11 insertions(+), 1 deletion(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
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 46fdeac1121..fcec2899afb 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));
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> --- include/hw/arm/omap.h | 3 +++ hw/sd/omap_mmc.c | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-)