hw/misc/allwinner-dramc: Move sysbus_mmio_map call from init -> realize
In order to make the next commit trivial, move the sysbus_init_mmio() call in allwinner_r40_dramc_init() just before the corresponding sysbus_mmio_map_overlap() call in allwinner_r40_dramc_realize(). Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20231019071611.98885-4-philmd@linaro.org>
This commit is contained in:
		@@ -414,6 +414,7 @@ static void allwinner_r40_dramc_reset(DeviceState *dev)
 | 
			
		||||
static void allwinner_r40_dramc_realize(DeviceState *dev, Error **errp)
 | 
			
		||||
{
 | 
			
		||||
    AwR40DramCtlState *s = AW_R40_DRAMC(dev);
 | 
			
		||||
    SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
 | 
			
		||||
 | 
			
		||||
    if (!get_match_ddr(s->ram_size)) {
 | 
			
		||||
        error_report("%s: ram-size %u MiB is not supported",
 | 
			
		||||
@@ -421,8 +422,12 @@ static void allwinner_r40_dramc_realize(DeviceState *dev, Error **errp)
 | 
			
		||||
        exit(1);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* detect_cells */
 | 
			
		||||
    sysbus_mmio_map_overlap(SYS_BUS_DEVICE(s), 3, s->ram_addr, 10);
 | 
			
		||||
    /* R40 support max 2G memory but we only support up to 1G now. index 3 */
 | 
			
		||||
    memory_region_init_io(&s->detect_cells, OBJECT(s),
 | 
			
		||||
                          &allwinner_r40_detect_ops, s,
 | 
			
		||||
                          "DRAMCELLS", 1 * GiB);
 | 
			
		||||
    sysbus_init_mmio(sbd, &s->detect_cells);
 | 
			
		||||
    sysbus_mmio_map_overlap(sbd, 3, s->ram_addr, 10);
 | 
			
		||||
    memory_region_set_enabled(&s->detect_cells, false);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
@@ -458,12 +463,6 @@ static void allwinner_r40_dramc_init(Object *obj)
 | 
			
		||||
                          &allwinner_r40_dramphy_ops, s,
 | 
			
		||||
                          "DRAMPHY", 4 * KiB);
 | 
			
		||||
    sysbus_init_mmio(sbd, &s->dramphy_iomem);
 | 
			
		||||
 | 
			
		||||
    /* R40 support max 2G memory but we only support up to 1G now. index 3 */
 | 
			
		||||
    memory_region_init_io(&s->detect_cells, OBJECT(s),
 | 
			
		||||
                          &allwinner_r40_detect_ops, s,
 | 
			
		||||
                          "DRAMCELLS", 1 * GiB);
 | 
			
		||||
    sysbus_init_mmio(sbd, &s->detect_cells);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static Property allwinner_r40_dramc_properties[] = {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user