From patchwork Fri Mar 26 16:06:43 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Riku Voipio X-Patchwork-Id: 48671 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 3F9DBB7CEE for ; Sat, 27 Mar 2010 04:08:45 +1100 (EST) Received: from localhost ([127.0.0.1]:37916 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NvD0O-0003CZ-68 for incoming@patchwork.ozlabs.org; Fri, 26 Mar 2010 13:07:32 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NvC5R-000470-RU for qemu-devel@nongnu.org; Fri, 26 Mar 2010 12:08:41 -0400 Received: from [140.186.70.92] (port=41690 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NvC4e-0003hh-Id for qemu-devel@nongnu.org; Fri, 26 Mar 2010 12:08:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NvC4F-0006vb-7J for qemu-devel@nongnu.org; Fri, 26 Mar 2010 12:07:39 -0400 Received: from afflict.kos.to ([92.243.29.197]:33631) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NvC4B-0006tO-Fq for qemu-devel@nongnu.org; Fri, 26 Mar 2010 12:07:25 -0400 Received: by afflict.kos.to (Postfix, from userid 1000) id C63D0265BE; Fri, 26 Mar 2010 16:07:22 +0000 (UTC) From: Riku Voipio To: qemu-devel@nongnu.org Date: Fri, 26 Mar 2010 16:06:43 +0000 Message-Id: <5b3d6ea78f9cb0e95ef84d3b830d6f144bb795a1.1269617186.git.riku.voipio@nokia.com> X-Mailer: git-send-email 1.6.5 In-Reply-To: References: In-Reply-To: References: MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) Cc: Riku Voipio , =?UTF-8?q?Juha=20Riihim=C3=A4ki?= Subject: [Qemu-devel] [PATCH 23/48] multi-mmc support in init call X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Juha Riihimäki change sd_init convention to allow multiple entries Signed-Off-By: Riku Voipio Signed-Off-By: Juha Riihimäki --- 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; }