From nobody Tue Feb 10 20:14:33 2026 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.zohomail.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 151569953157652.34551109924132; Thu, 11 Jan 2018 11:38:51 -0800 (PST) Received: from localhost ([::1]:36750 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZigY-0000sN-Gf for importer@patchew.org; Thu, 11 Jan 2018 14:38:46 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZiYn-0002jf-Or for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZiYm-0005RS-NB for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:45 -0500 Received: from mail-qk0-x241.google.com ([2607:f8b0:400d:c09::241]:36119) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZiYm-0005Qr-Iv for qemu-devel@nongnu.org; Thu, 11 Jan 2018 14:30:44 -0500 Received: by mail-qk0-x241.google.com with SMTP id d21so5778363qkj.3 for ; Thu, 11 Jan 2018 11:30:44 -0800 (PST) Received: from x1.local ([138.117.48.219]) by smtp.gmail.com with ESMTPSA id i37sm4870538qtc.80.2018.01.11.11.30.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jan 2018 11:30:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SaYNVRACEWNYkqejOn5RR+d76acUtUGsgqTpasM4oU8=; b=nJowfhtHyuLg7sNdLG8rkVLUFwlkpBCFyf0xFnVSq6fdbOu0OAFvP3MbQJEk+fCGzK HN3uF6q4n3WGUPjn+LNuJxWnRu7qTDwr2df4VryxXSg2Dq2nrmFpOa/bNIz+jBiebdu8 nifQnWKrUoXnneQPX1Lit5FTubAo2mXN3/OS3Nwp5Yn7xYqt/A4ZhOUv6PjjR74i6Ueo k3xOOgULP3egNujtHElgalWUsxWsRKbgoupaGNGiestQ/GES/hWWGgyfS/p8WSv1HijM 7EPbJCdMoa/dWUmB/aQSdm7rq8fk79jOkZvHPd2WjNOroXtmXfW5YZ/ZsSclsTc7x5eT C1rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=SaYNVRACEWNYkqejOn5RR+d76acUtUGsgqTpasM4oU8=; b=n/YEoKRsIH3HlRnQ+Y/2WRHjr5Tzbjo0Ydc0A3aBiJRzb+tau7ibCPtanNm6JbiPjs 8XEzWuyDPwlxS/4DmgWf4WhNj5XuWGTiirdl0LaPJOxj/85Hxy5EdrdrBwcer3diWgLJ EllU4iuJInFYvJpvJ+RBTirMlziRjVKk+wiGffgSbP5T0ePfffvMCasrQ05EwNJXVvp3 gzwgFcgUGvNdNP7kMk4CxZ2pFnkLxJWtSj2JxNlaik3tT56xRO8jKLwgWM1Y2b7he3WN 7JaqSjoPFcgiBf9OTCCNYwW4TDYNX/ncUZjju++5jxRcdBabAg4IxVllc8LWGMbF61R6 Zf7A== X-Gm-Message-State: AKwxytdoYPBSHc2szOL/59vw718oOTMe3P+YE2pv+iJ9CB/aeZcUVmr3 YNPujRpPDOjWf5p3zKxSoTs= X-Google-Smtp-Source: ACJfBosk7JmMBSgN2UQLsOZX+GK7ZzBoD7et8Bqo/HQtHMfiCsFWVjBUfFAXTCywey1AVAPG+M+mIQ== X-Received: by 10.55.215.65 with SMTP id m62mr24504880qki.172.1515699044127; Thu, 11 Jan 2018 11:30:44 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Alistair Francis , Peter Maydell Date: Thu, 11 Jan 2018 16:30:13 -0300 Message-Id: <20180111193021.17466-6-f4bug@amsat.org> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20180111193021.17466-1-f4bug@amsat.org> References: <20180111193021.17466-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400d:c09::241 Subject: [Qemu-devel] [PATCH v6 05/13] sdhci: refactor common sysbus/pci realize() into sdhci_common_realize() 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: "Edgar E . Iglesias" , Andrey Smirnov , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org 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 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis --- hw/sd/sdhci.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c index 68bcf75478..b3dbd994fd 100644 --- a/hw/sd/sdhci.c +++ b/hw/sd/sdhci.c @@ -1194,6 +1194,15 @@ static void sdhci_initfn(SDHCIState *s) s->transfer_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL, sdhci_data_tran= sfer, s); } =20 +static void sdhci_common_realize(SDHCIState *s, Error **errp) +{ + s->buf_maxsz =3D sdhci_get_fifolen(s); + s->fifo_buffer =3D g_malloc0(s->buf_maxsz); + + memory_region_init_io(&s->iomem, OBJECT(s), &sdhci_mmio_ops, s, "sdhci= ", + SDHC_REGISTERS_MAP_SIZE); +} + static void sdhci_uninitfn(SDHCIState *s) { timer_del(s->insert_timer); @@ -1290,14 +1299,16 @@ static void sdhci_common_class_init(ObjectClass *kl= ass, void *data) static void sdhci_pci_realize(PCIDevice *dev, Error **errp) { SDHCIState *s =3D PCI_SDHCI(dev); + + sdhci_initfn(s); + sdhci_common_realize(s, errp); + if (errp && *errp) { + return; + } + dev->config[PCI_CLASS_PROG] =3D 0x01; /* Standard Host supported DMA */ dev->config[PCI_INTERRUPT_PIN] =3D 0x01; /* interrupt pin A */ - sdhci_initfn(s); - s->buf_maxsz =3D sdhci_get_fifolen(s); - s->fifo_buffer =3D g_malloc0(s->buf_maxsz); s->irq =3D pci_allocate_irq(dev); - memory_region_init_io(&s->iomem, OBJECT(s), &sdhci_mmio_ops, s, "sdhci= ", - SDHC_REGISTERS_MAP_SIZE); pci_register_bar(dev, 0, 0, &s->iomem); } =20 @@ -1351,11 +1362,12 @@ static void sdhci_sysbus_realize(DeviceState *dev, = Error ** errp) SDHCIState *s =3D SYSBUS_SDHCI(dev); SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); =20 - s->buf_maxsz =3D sdhci_get_fifolen(s); - s->fifo_buffer =3D g_malloc0(s->buf_maxsz); + sdhci_common_realize(s, errp); + if (errp && *errp) { + return; + } + sysbus_init_irq(sbd, &s->irq); - memory_region_init_io(&s->iomem, OBJECT(s), &sdhci_mmio_ops, s, "sdhci= ", - SDHC_REGISTERS_MAP_SIZE); sysbus_init_mmio(sbd, &s->iomem); } =20 --=20 2.15.1