From nobody Fri May 3 13:51:28 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1490622595789415.44329219376175; Mon, 27 Mar 2017 06:49:55 -0700 (PDT) Received: from localhost ([::1]:46915 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1csV1u-00073m-7f for importer@patchew.org; Mon, 27 Mar 2017 09:49:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41317) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1csRvw-0007FC-DG for qemu-devel@nongnu.org; Mon, 27 Mar 2017 06:31:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1csRvt-0007mW-HI for qemu-devel@nongnu.org; Mon, 27 Mar 2017 06:31:32 -0400 Received: from mail-pg0-x242.google.com ([2607:f8b0:400e:c05::242]:33904) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1csRvt-0007mH-BR for qemu-devel@nongnu.org; Mon, 27 Mar 2017 06:31:29 -0400 Received: by mail-pg0-x242.google.com with SMTP id o123so8995036pga.1 for ; Mon, 27 Mar 2017 03:31:29 -0700 (PDT) Received: from localhost.localdomain ([117.209.235.126]) by smtp.gmail.com with ESMTPSA id w189sm255186pfw.82.2017.03.27.03.31.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 27 Mar 2017 03:31:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=EsxFoqh941AJeUn/PNVGiB39wtxtEzlPk/b0bdRDNJ8=; b=OzEPX9h5hpTckIvD1bLZvOd34UtEYvS15S81u6ABiUDfZA5p0kWOJp3OpuReZ4JYod 8NmyH9tZS45U9jSLnEBIoW3g9fylZr0N+KaqrGyzQknPs4JUDxvNZIe8sg4NN5HPC/Pq /mu4zjSHsiZPjV1K6iwwhjSi9qP1MDLezU5mHyqWjUAYcxCfJzsDKcyEKwDZmD6dvIjM Dp3xuV4TExptz96dfLS630ZSEiJ4zPip1KShNdFF+y/TWnlKLwA3l0FE/bgQ9Z821Cj0 /VRE5WLQ+nK4+h5JuAKAsFXGjrmwDVcUzuwRd4AQkIPl8iWUVTsK5H1JP/8raFs+zqJo GbbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=EsxFoqh941AJeUn/PNVGiB39wtxtEzlPk/b0bdRDNJ8=; b=rUAzRDkIkNVxYermtvojo9pjSr0tOvTgxcJ9lGYj/No1SoLoX/CyUsp2RH/uSQ3jd5 YJH/mbokctuAkn2aLb0ks1dYNjoVN/D5gRvzGAi+NYg+Ad+ikJSIg96Z6mpxBaQpSKg0 lDa3kuS0d9wQyge0COZxhKWBtILxHDiPl60Sj5oLvCH63fa3YfI/rlpi9ZnQmYnfAQ78 dArPKNmOYsq5FiGiNeS82oXI72YN5Zh0bq3Kke2PLHo+0Wu0yJZkc3Pdq8/Sr0VE5kBU aPZrSL4InvF5akrpNM7GfUP1cH6NrhiuV/y6OQSlgQyHC48ktWwOjdE4UjUg3jlsXM3O iwnA== X-Gm-Message-State: AFeK/H3csl+UE4FZZNZSx8lqmn66QSUxFO3ZT5qVA4ocyD2EJ4AjBZt5GFBU2u29gIxcgg== X-Received: by 10.84.174.131 with SMTP id r3mr28560376plb.136.1490610688351; Mon, 27 Mar 2017 03:31:28 -0700 (PDT) From: Tejaswini To: qemu-devel@nongnu.org Date: Mon, 27 Mar 2017 16:01:02 +0530 Message-Id: <1490610662-5483-1-git-send-email-tejaswinipoluri3@gmail.com> X-Mailer: git-send-email 2.7.4 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400e:c05::242 X-Mailman-Approved-At: Mon, 27 Mar 2017 09:48:38 -0400 Subject: [Qemu-devel] [[RFC]PATCH:hw/sd:sd_init()] hw/sd : modified the sd_init() function X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, stefanha@redhat.com, Tejaswini Poluri Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Tejaswini Poluri Changed sd_init() to take SDstate by value and return state as success/fail= ure Edited the rest of the functions using sd_init() to accommodate the change Signed-off-by: Tejaswini Poluri --- hw/sd/milkymist-memcard.c | 3 +-- hw/sd/omap_mmc.c | 6 ++---- hw/sd/pl181.c | 4 ++-- hw/sd/sd.c | 13 ++++++++----- hw/sd/ssi-sd.c | 3 +-- include/hw/sd/sd.h | 2 +- 6 files changed, 15 insertions(+), 16 deletions(-) diff --git a/hw/sd/milkymist-memcard.c b/hw/sd/milkymist-memcard.c index 1f2f0ed..68e50e5 100644 --- a/hw/sd/milkymist-memcard.c +++ b/hw/sd/milkymist-memcard.c @@ -259,8 +259,7 @@ static int milkymist_memcard_init(SysBusDevice *dev) /* FIXME use a qdev drive property instead of drive_get_next() */ dinfo =3D drive_get_next(IF_SD); blk =3D dinfo ? blk_by_legacy_dinfo(dinfo) : NULL; - s->card =3D sd_init(blk, false); - if (s->card =3D=3D NULL) { + if (sd_init(s->card, blk, false) < 0) { return -1; } =20 diff --git a/hw/sd/omap_mmc.c b/hw/sd/omap_mmc.c index e934cd3..add48a6 100644 --- a/hw/sd/omap_mmc.c +++ b/hw/sd/omap_mmc.c @@ -593,8 +593,7 @@ struct omap_mmc_s *omap_mmc_init(hwaddr base, memory_region_add_subregion(sysmem, base, &s->iomem); =20 /* Instantiate the storage */ - s->card =3D sd_init(blk, false); - if (s->card =3D=3D NULL) { + if (sd_init(s->card, blk, false) < 0) { exit(1); } =20 @@ -620,8 +619,7 @@ struct omap_mmc_s *omap2_mmc_init(struct omap_target_ag= ent_s *ta, omap_l4_attach(ta, 0, &s->iomem); =20 /* Instantiate the storage */ - s->card =3D sd_init(blk, false); - if (s->card =3D=3D NULL) { + if (sd_init(s->card, blk, false) < 0) { exit(1); } =20 diff --git a/hw/sd/pl181.c b/hw/sd/pl181.c index 82c63a4..c2e2459 100644 --- a/hw/sd/pl181.c +++ b/hw/sd/pl181.c @@ -502,8 +502,8 @@ static void pl181_realize(DeviceState *dev, Error **err= p) =20 /* FIXME use a qdev drive property instead of drive_get_next() */ dinfo =3D drive_get_next(IF_SD); - s->card =3D sd_init(dinfo ? blk_by_legacy_dinfo(dinfo) : NULL, false); - if (s->card =3D=3D NULL) { + if (sd_init(s->card, dinfo ? + blk_by_legacy_dinfo(dinfo) : NULL, false) < 0) { error_setg(errp, "sd_init failed"); } } diff --git a/hw/sd/sd.c b/hw/sd/sd.c index ba47bff..b593939 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -562,7 +562,7 @@ static const VMStateDescription sd_vmstate =3D { }; =20 /* Legacy initialization function for use by non-qdevified callers */ -SDState *sd_init(BlockBackend *blk, bool is_spi) +int sd_init(SDState *sd_state, BlockBackend *blk, bool is_spi) { Object *obj; DeviceState *dev; @@ -573,16 +573,19 @@ SDState *sd_init(BlockBackend *blk, bool is_spi) qdev_prop_set_drive(dev, "drive", blk, &err); if (err) { error_report("sd_init failed: %s", error_get_pretty(err)); - return NULL; + return -1; } qdev_prop_set_bit(dev, "spi", is_spi); object_property_set_bool(obj, true, "realized", &err); if (err) { error_report("sd_init failed: %s", error_get_pretty(err)); - return NULL; + return -1; } - - return SD_CARD(dev); + sd_state =3D SD_CARD(dev); + if (!sd_state) { + return -1; + } + return 0; } =20 void sd_set_cb(SDState *sd, qemu_irq readonly, qemu_irq insert) diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c index 24001dc..c70b32d 100644 --- a/hw/sd/ssi-sd.c +++ b/hw/sd/ssi-sd.c @@ -244,8 +244,7 @@ static void ssi_sd_realize(SSISlave *d, Error **errp) s->mode =3D SSI_SD_CMD; /* FIXME use a qdev drive property instead of drive_get_next() */ dinfo =3D drive_get_next(IF_SD); - s->sd =3D sd_init(dinfo ? blk_by_legacy_dinfo(dinfo) : NULL, true); - if (s->sd =3D=3D NULL) { + if (sd_init(s->sd, dinfo ? blk_by_legacy_dinfo(dinfo) : NULL, true) < = 0) { error_setg(errp, "Device initialization failed."); return; } diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h index 96caefe..63741c0 100644 --- a/include/hw/sd/sd.h +++ b/include/hw/sd/sd.h @@ -115,7 +115,7 @@ typedef struct { } SDBusClass; =20 /* Legacy functions to be used only by non-qdevified callers */ -SDState *sd_init(BlockBackend *bs, bool is_spi); +int sd_init(SDState *sd, BlockBackend *bs, bool is_spi); int sd_do_command(SDState *sd, SDRequest *req, uint8_t *response); void sd_write_data(SDState *sd, uint8_t value); --=20 2.7.4