aspeed/smc: Remove the 'flash' attribute from AspeedSMCFlash
There is no need to keep a reference of the flash qdev in the AspeedSMCFlash state: the SPI bus takes ownership and will release its resources. Remove AspeedSMCFlash::flash. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
30b6852ce4
commit
a7d78beff4
|
@ -274,18 +274,17 @@ static void aspeed_board_init_flashes(AspeedSMCState *s,
|
||||||
int i ;
|
int i ;
|
||||||
|
|
||||||
for (i = 0; i < s->num_cs; ++i) {
|
for (i = 0; i < s->num_cs; ++i) {
|
||||||
AspeedSMCFlash *fl = &s->flashes[i];
|
|
||||||
DriveInfo *dinfo = drive_get_next(IF_MTD);
|
DriveInfo *dinfo = drive_get_next(IF_MTD);
|
||||||
qemu_irq cs_line;
|
qemu_irq cs_line;
|
||||||
|
DeviceState *dev;
|
||||||
|
|
||||||
fl->flash = qdev_new(flashtype);
|
dev = qdev_new(flashtype);
|
||||||
if (dinfo) {
|
if (dinfo) {
|
||||||
qdev_prop_set_drive(fl->flash, "drive",
|
qdev_prop_set_drive(dev, "drive", blk_by_legacy_dinfo(dinfo));
|
||||||
blk_by_legacy_dinfo(dinfo));
|
|
||||||
}
|
}
|
||||||
qdev_realize_and_unref(fl->flash, BUS(s->spi), &error_fatal);
|
qdev_realize_and_unref(dev, BUS(s->spi), &error_fatal);
|
||||||
|
|
||||||
cs_line = qdev_get_gpio_in_named(fl->flash, SSI_GPIO_CS, 0);
|
cs_line = qdev_get_gpio_in_named(dev, SSI_GPIO_CS, 0);
|
||||||
sysbus_connect_irq(SYS_BUS_DEVICE(s), i + 1, cs_line);
|
sysbus_connect_irq(SYS_BUS_DEVICE(s), i + 1, cs_line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,6 @@ typedef struct AspeedSMCFlash {
|
||||||
uint32_t size;
|
uint32_t size;
|
||||||
|
|
||||||
MemoryRegion mmio;
|
MemoryRegion mmio;
|
||||||
DeviceState *flash;
|
|
||||||
} AspeedSMCFlash;
|
} AspeedSMCFlash;
|
||||||
|
|
||||||
#define TYPE_ASPEED_SMC "aspeed.smc"
|
#define TYPE_ASPEED_SMC "aspeed.smc"
|
||||||
|
|
Loading…
Reference in New Issue