From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4001:c06::242; helo=mail-io0-x242.google.com; envelope-from=ard.biesheuvel@linaro.org; receiver=edk2-devel@lists.01.org Received: from mail-io0-x242.google.com (mail-io0-x242.google.com [IPv6:2607:f8b0:4001:c06::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 463712034A88B for ; Fri, 27 Oct 2017 05:39:13 -0700 (PDT) Received: by mail-io0-x242.google.com with SMTP id b186so12423283iof.8 for ; Fri, 27 Oct 2017 05:43:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=WFocNDXxnMUlKi0A0uCoUNHObDBz1KrijrQ5MuxEaeA=; b=eSP+kckMz/Ren7J87chvcw6A3sqkwqGe8Wj8DgWnVdyP9d8bGGhyVDgg0hTXkymdzw QExT0SE5wmK+uqunrX8hp73iLoFBpiZyuN1TDwtb21KX3/wfJeoKLTF4P4asQWrEZ0HL RYY8onXhzFn1c+A9TFW5SGq/pMOwMA+t6Rz5g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=WFocNDXxnMUlKi0A0uCoUNHObDBz1KrijrQ5MuxEaeA=; b=DKkKJkNLNURTWsBoNaVAuPVj80rwWkoMWJAR0p4ruNvj29eSyT+n5HifarWcq1jYbQ 2mu6L/id+0UbOk9dHzv7er5OZyKGz0u7MfIzLrj8mAHcY68ZQhS1TaL+Rgwm7JGpqXFq jIvkEGQ4MfqVFV/PGMBN6e9nCpe3Di5VPTez1Z9DF714Z3iojE2Pwgr6yFL/L9oZR2Oj 03D5l+zlZkD8jvu8QM0KZsvYdYSvh3Rmw+p9QsZUkrjHbpRV5vBVWU36HtG3S8wV5q9D mBcFLdH6teZvroSzAfeL2z52pFzsD7srzoNB297BAEF2bblNYPCaF54Qa8lkdn+wc355 daOQ== X-Gm-Message-State: AMCzsaXft2vJ/PevXrgiWfuaRlwN+rwV5s3qpRHkS5ToL46mEQ6w4XoL MtQuWgjFg80kp4ThZwa27Y+3kI4Xcvl+b3l2hvYeng== X-Google-Smtp-Source: ABhQp+QvTB9mES+XkVOOXWmfIc958DKBW7pJ2K70Q2xQSCHjm0aoEIQn9KwZ3Wd7ToZN5Jqv8Shme4RYrtuNbIHJPZg= X-Received: by 10.36.254.140 with SMTP id w134mr419453ith.73.1509108180189; Fri, 27 Oct 2017 05:43:00 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.131.167 with HTTP; Fri, 27 Oct 2017 05:42:59 -0700 (PDT) In-Reply-To: <20171027053326.48815-4-daniil.egranov@arm.com> References: <20171027053326.48815-1-daniil.egranov@arm.com> <20171027053326.48815-4-daniil.egranov@arm.com> From: Ard Biesheuvel Date: Fri, 27 Oct 2017 13:42:59 +0100 Message-ID: To: Daniil Egranov Cc: "edk2-devel@lists.01.org" , Leif Lindholm Subject: Re: [PATCH 3/4] Drivers/SataSiI3132Dxe: Enable multi-controller support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Oct 2017 12:39:14 -0000 Content-Type: text/plain; charset="UTF-8" On 27 October 2017 at 06:33, Daniil Egranov wrote: > Saved controller specific data into the driver's information structure. > Removed global variable indicating the driver's status and added > check for the driver's status based on the available protocol. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Daniil Egranov > --- > EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132.c | 21 ++++++++++++++------- > 1 file changed, 14 insertions(+), 7 deletions(-) > > diff --git a/EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132.c b/EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132.c > index c1760fdc1b..50253b9160 100644 > --- a/EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132.c > +++ b/EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132.c > @@ -309,8 +309,6 @@ ON_EXIT: > return Status; > } > > -BOOLEAN mbStarted = FALSE; > - > /** > Starting the Pci SATA Driver. > > @@ -342,9 +340,18 @@ SataSiI3132DriverBindingStart ( > > SATA_TRACE ("SataSiI3132DriverBindingStart()"); > > - //TODO: Find a nicer way to do it ! > - if (mbStarted) { > - return EFI_SUCCESS; // Don't restart me ! > + Status = gBS->OpenProtocol ( > + Controller, > + &gEfiAtaPassThruProtocolGuid, > + NULL, > + This->DriverBindingHandle, > + Controller, > + EFI_OPEN_PROTOCOL_TEST_PROTOCOL > + ); > + > + if (!EFI_ERROR (Status)) { > + SATA_TRACE ("SataSiI3132DriverBindingStart: driver already started"); > + return Status; Can you explain what this does? Does it check whether the protocol we will install is already installed? Is this how other PCI drivers deal with this? > } > > // > @@ -426,6 +433,8 @@ SataSiI3132DriverBindingStart ( > return Status; > } > > + SataSiI3132Instance->OriginalPciAttributes = OriginalPciAttributes; > + Does this belong in the same patch? > // Initialize SiI3132 Sata Controller > Status = SataSiI3132Initialization (SataSiI3132Instance); > if (EFI_ERROR (Status)) { > @@ -458,8 +467,6 @@ SataSiI3132DriverBindingStart ( > goto UNINSTALL_USBHC; > }*/ > > - mbStarted = TRUE; > - > SATA_TRACE ("SataSiI3132DriverBindingStart() Success!"); > return EFI_SUCCESS; > > -- > 2.11.0 >