From: Juha Riihimäki <juha.riihim...@nokia.com> change sd_init convention to allow multiple entries
Signed-Off-By: Riku Voipio <riku.voi...@nokia.com> Signed-Off-By: Juha Riihimäki <juha.riihim...@nokia.com> --- hw/omap_mmc.c | 4 ++-- hw/pl181.c | 2 +- hw/pxa2xx_mmci.c | 2 +- hw/sd.h | 4 +++- hw/ssi-sd.c | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hw/omap_mmc.c b/hw/omap_mmc.c index 15cbf06..7c94d91 100644 --- a/hw/omap_mmc.c +++ b/hw/omap_mmc.c @@ -590,7 +590,7 @@ struct omap_mmc_s *omap_mmc_init(target_phys_addr_t base, cpu_register_physical_memory(base, 0x800, iomemtype); /* Instantiate the storage */ - s->card = sd_init(bd, 0); + s->card = sd_init(bd, 0, 0); return s; } @@ -616,7 +616,7 @@ struct omap_mmc_s *omap2_mmc_init(struct omap_target_agent_s *ta, omap_l4_attach(ta, 0, iomemtype); /* Instantiate the storage */ - s->card = sd_init(bd, 0); + s->card = sd_init(bd, 0, 0); s->cdet = qemu_allocate_irqs(omap_mmc_cover_cb, s, 1)[0]; sd_set_cb(s->card, NULL, s->cdet); diff --git a/hw/pl181.c b/hw/pl181.c index 1924053..fd5ee81 100644 --- a/hw/pl181.c +++ b/hw/pl181.c @@ -458,7 +458,7 @@ static int pl181_init(SysBusDevice *dev) sysbus_init_irq(dev, &s->irq[0]); sysbus_init_irq(dev, &s->irq[1]); bd = qdev_init_bdrv(&dev->qdev, IF_SD); - s->card = sd_init(bd, 0); + s->card = sd_init(bd, 0, 0); qemu_register_reset(pl181_reset, s); pl181_reset(s); /* ??? Save/restore. */ diff --git a/hw/pxa2xx_mmci.c b/hw/pxa2xx_mmci.c index a415349..01e7f1e 100644 --- a/hw/pxa2xx_mmci.c +++ b/hw/pxa2xx_mmci.c @@ -532,7 +532,7 @@ PXA2xxMMCIState *pxa2xx_mmci_init(target_phys_addr_t base, cpu_register_physical_memory(base, 0x00100000, iomemtype); /* Instantiate the actual storage */ - s->card = sd_init(bd, 0); + s->card = sd_init(bd, 0, 0); register_savevm("pxa2xx_mmci", 0, 0, pxa2xx_mmci_save, pxa2xx_mmci_load, s); diff --git a/hw/sd.h b/hw/sd.h index ac4b7c4..96450f2 100644 --- a/hw/sd.h +++ b/hw/sd.h @@ -67,7 +67,8 @@ typedef struct { typedef struct SDState SDState; -SDState *sd_init(BlockDriverState *bs, int is_spi); +SDState *sd_init(BlockDriverState *bs, int is_spi, int is_mmc); +void sd_reset(SDState *sd); int sd_do_command(SDState *sd, SDRequest *req, uint8_t *response); void sd_write_data(SDState *sd, uint8_t value); @@ -75,5 +76,6 @@ uint8_t sd_read_data(SDState *sd); void sd_set_cb(SDState *sd, qemu_irq readonly, qemu_irq insert); int sd_data_ready(SDState *sd); void sd_enable(SDState *sd, int enable); +int sd_is_mmc(SDState *sd); #endif /* __hw_sd_h */ diff --git a/hw/ssi-sd.c b/hw/ssi-sd.c index 5e74e5d..a5d350d 100644 --- a/hw/ssi-sd.c +++ b/hw/ssi-sd.c @@ -236,7 +236,7 @@ static int ssi_sd_init(SSISlave *dev) s->mode = SSI_SD_CMD; bs = qdev_init_bdrv(&dev->qdev, IF_SD); - s->sd = sd_init(bs, 1); + s->sd = sd_init(bs, 1, 0); register_savevm("ssi_sd", -1, 1, ssi_sd_save, ssi_sd_load, s); return 0; } -- 1.6.5