From patchwork Thu Dec 13 14:54:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 153663 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp903976ljp; Thu, 13 Dec 2018 07:03:16 -0800 (PST) X-Google-Smtp-Source: AFSGD/USrHsYuewHcs4eX2KA40NjOx/zqKpE3xBmPjXa9N3sr9bBaLbkTGqzc/qU7gbgdg+PxitY X-Received: by 2002:ae9:c20b:: with SMTP id j11mr23000809qkg.211.1544713396073; Thu, 13 Dec 2018 07:03:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544713396; cv=none; d=google.com; s=arc-20160816; b=orG9ji9IAm7BN0HJ98DL7/Hy7yUkcRl0Tv16vCo9pohmACLBiEUs63l/XwoIk0CydK OPh8QYWfL0a99XGShKUC5SPI+4Gsj1umAoA9h/+7edpZPOjxK3Dv2LGCS6vzSIrO2TvP ftRdtqL1/ii/Okko5uM7xVw4rBVmQkVKUnCtNTK5n7KRt2bOPRXAlrO9/kAh2IswDtpp eQxfGLFcRL0l3XDa2rW+n13X+1aSRSUsJOK5ZNJaLBONa+AwlTtQxMk08THT6btp7rbb 7THW/EcLZqHSPA/6EdpW6NvQ5+C+j1HhGTugQl8e/y2kR8AUrx2FkgHQrTPS4U0qv3tz ivug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from; bh=euBjYJOhqI2jgD4oyuDY0rjo5vmU0zdYL6s5prFCxQQ=; b=0zofx1dIyRDQ0yly/uZHW3XapbSJF2uikGunRBHH10lnoLDRc6SIF1jj9dCvRF6ljC dtoLONp31n714FvLZIHXdTC7AqJGvXHqnXJsW3rjvQlCAtVlN/2rZrokuNjtm8FuaFZK iMw5jd4TF4HNVGlnfnbQC2Q27H70kzcgWLCwK5OKtsaP1D7W10twlY4D/iCAjwoFrDPw OtjDesaYEqx8aI0JXnHGJpTwYfxArkzwbnFxBZoDpM0WnPhg9COpSsmq5KRYp0eeMKdl HTRR8hWnYURuM535mwjQ4HdqU/Dzw2n7pmLFvcGMyfQQ69vmOQil9NCMfMNm8/KhL86s FmKA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id l90si1180038qte.331.2018.12.13.07.03.15 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 13 Dec 2018 07:03:16 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:53114 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gXSWB-0002En-Fw for patch@linaro.org; Thu, 13 Dec 2018 10:03:15 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35739) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gXSO3-0003wH-7h for qemu-devel@nongnu.org; Thu, 13 Dec 2018 09:54:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gXSO2-00070x-98 for qemu-devel@nongnu.org; Thu, 13 Dec 2018 09:54:51 -0500 Received: from orth.archaic.org.uk ([2001:8b0:1d0::2]:53504) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gXSO1-0006w2-VW for qemu-devel@nongnu.org; Thu, 13 Dec 2018 09:54:50 -0500 Received: from pm215 by orth.archaic.org.uk with local (Exim 4.89) (envelope-from ) id 1gXSO0-0007Fr-3W for qemu-devel@nongnu.org; Thu, 13 Dec 2018 14:54:48 +0000 From: Peter Maydell To: qemu-devel@nongnu.org Date: Thu, 13 Dec 2018 14:54:12 +0000 Message-Id: <20181213145445.17935-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181213145445.17935-1-peter.maydell@linaro.org> References: <20181213145445.17935-1-peter.maydell@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2001:8b0:1d0::2 Subject: [Qemu-devel] [PULL 04/37] block/noenand: Convert sysbus init function to realize 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: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Mao Zhongyi Use DeviceClass rather than SysBusDeviceClass in onenand_class_init(). Cc: kwolf@redhat.com Cc: mreitz@redhat.com Cc: qemu-block@nongnu.org Signed-off-by: Mao Zhongyi Signed-off-by: Zhang Shengju Reviewed-by: Philippe Mathieu-Daudé Message-id: 20181130093852.20739-3-maozhongyi@cmss.chinamobile.com Signed-off-by: Peter Maydell --- hw/block/onenand.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) -- 2.19.2 diff --git a/hw/block/onenand.c b/hw/block/onenand.c index 2b48609776d..f11118a6876 100644 --- a/hw/block/onenand.c +++ b/hw/block/onenand.c @@ -772,9 +772,9 @@ static const MemoryRegionOps onenand_ops = { .endianness = DEVICE_NATIVE_ENDIAN, }; -static int onenand_initfn(SysBusDevice *sbd) +static void onenand_realize(DeviceState *dev, Error **errp) { - DeviceState *dev = DEVICE(sbd); + SysBusDevice *sbd = SYS_BUS_DEVICE(dev); OneNANDState *s = ONE_NAND(dev); uint32_t size = 1 << (24 + ((s->id.dev >> 4) & 7)); void *ram; @@ -794,14 +794,14 @@ static int onenand_initfn(SysBusDevice *sbd) 0xff, size + (size >> 5)); } else { if (blk_is_read_only(s->blk)) { - error_report("Can't use a read-only drive"); - return -1; + error_setg(errp, "Can't use a read-only drive"); + return; } blk_set_perm(s->blk, BLK_PERM_CONSISTENT_READ | BLK_PERM_WRITE, BLK_PERM_ALL, &local_err); if (local_err) { - error_report_err(local_err); - return -1; + error_propagate(errp, local_err); + return; } s->blk_cur = s->blk; } @@ -826,7 +826,6 @@ static int onenand_initfn(SysBusDevice *sbd) | ((s->id.dev & 0xff) << 8) | (s->id.ver & 0xff), &vmstate_onenand, s); - return 0; } static Property onenand_properties[] = { @@ -841,9 +840,8 @@ static Property onenand_properties[] = { static void onenand_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); - SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass); - k->init = onenand_initfn; + dc->realize = onenand_realize; dc->reset = onenand_system_reset; dc->props = onenand_properties; }