@@ -23,7 +23,6 @@ typedef struct BCM2835GpioState {
MemoryRegion iomem;
/* SDBus selector */
- SDBus sdbus;
SDBus *sdbus_sdhci;
SDBus *sdbus_sdhost;
@@ -360,7 +360,7 @@ static void bcm2835_peripherals_realize(DeviceState *dev, Error **errp)
memory_region_add_subregion(&s->peri_mr, GPIO_OFFSET,
sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->gpio), 0));
- object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->gpio), "sd-bus",
+ object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->sdhci), "sd-bus",
&err);
if (err) {
error_propagate(errp, err);
@@ -267,9 +267,6 @@ static void bcm2835_gpio_reset(DeviceState *dev)
s->sd_fsel = 0;
- /* SDHCI is selected by default */
- sdbus_reparent_card(&s->sdbus, s->sdbus_sdhci);
-
s->lev0 = 0;
s->lev1 = 0;
}
@@ -299,9 +296,6 @@ static void bcm2835_gpio_init(Object *obj)
DeviceState *dev = DEVICE(obj);
SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
- qbus_create_inplace(&s->sdbus, sizeof(s->sdbus),
- TYPE_SD_BUS, DEVICE(s), "sd-bus");
-
memory_region_init_io(&s->iomem, obj,
&bcm2835_gpio_ops, s, "bcm2835_gpio", 0x1000);
sysbus_init_mmio(sbd, &s->iomem);
Remove gpio/sdbus which is only used to host the sd card before reset. Instead directly we exhibit the sdhci bus to the soc and machine. Thus the sd card is created on the sdhci bus and do not need to be moved during first reset. Signed-off-by: Damien Hedde <damien.hedde@greensocs.com> --- include/hw/gpio/bcm2835_gpio.h | 1 - hw/arm/bcm2835_peripherals.c | 2 +- hw/gpio/bcm2835_gpio.c | 6 ------ 3 files changed, 1 insertion(+), 8 deletions(-)