public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Marcin Wojtas <mw@semihalf.com>
Cc: Laszlo Ersek <lersek@redhat.com>, Hua Jing <jinghua@marvell.com>,
	 Grzegorz Jaszczyk <jaz@semihalf.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	 Leif Lindholm <leif.lindholm@linaro.org>,
	Nadav Haklai <nadavh@marvell.com>,
	 Neta Zur Hershkovits <neta@marvell.com>
Subject: Re: [platforms PATCH 1/2] Marvell/Drivers: MvFvbDxe: Adjust to new dependencies
Date: Tue, 17 Apr 2018 07:32:59 +0200	[thread overview]
Message-ID: <CAKv+Gu-X=S6oN6o-GZgbMDxOT9v4vXN6zA67sgOq9DNwSOaVAQ@mail.gmail.com> (raw)
In-Reply-To: <CAPv3WKfBh=cUuHza_AZVGeqbc8kcWkOrucZ2ReKqiKLJxoUVLQ@mail.gmail.com>

On 17 April 2018 at 07:15, Marcin Wojtas <mw@semihalf.com> wrote:
> Hi Laszlo,
>
> 2018-04-16 21:41 GMT+02:00 Laszlo Ersek <lersek@redhat.com>:
>> On 04/16/18 07:40, Ard Biesheuvel wrote:
>>> (+ Laszlo)
>>>
>>> On 16 April 2018 at 07:09, Marcin Wojtas <mw@semihalf.com> wrote:
>>>> Recent changes in the EDK2 mainline resulted in breaking
>>>> of compilation and booting of Armada platforms.
>>>> This patch adjust the MvFvbDxe driver by:
>>>>
>>>>  * installation of gEdkiiNvVarStoreFormattedGuid in order to signal
>>>>    NvVarStoreFormattedLib to the generic variable runtime driver
>>>>
>>>
>>> Hello Marcin,
>>>
>>> Installing this GUID is only necessary if you update your platform
>>> .DSC to make the generic variable runtime driver depend on it by
>>> adding a NULL library class resolution using NvVarStoreFormattedLib.
>>> So I think this patch is correct, but you'll need an additional change
>>> to make it work as expected. (Otherwise, the variable runtime driver
>>> could still be dispatched early and invoked for read access before the
>>> variable store is reformatted)
>>
>> I agree.
>>
>> I'd also like to point out another frequent pitfall in this patch:
>>
>>
>> While gBS->InstallProtocolInterface() takes a *pointer* to a handle
>> (because it can *create* a handle, if the handle is NULL on input, and
>> the first protocol interface is installed on it),
>> gBS->UninstallProtocolInterface() takes the handle *itself*. If the last
>> protocol interface is uninstalled from the handle, then the handle is
>> destroyed, but gBS->UninstallProtocolInterface() does not attempt to
>> NULL the handle itself. So, here you should pass "gImageHandle", not
>> "&gImageHandle".
>>
>
> Right, I'll correct it.
>

Ah, I missed that. Thanks for spotting that Laszlo

>> There's also a bit of whitespace mangling here that's not compatible
>> with either multiline function call style that we like in edk2, but
>> perhaps edk2-platforms treats that more laxly.
>>
>
> We had some discussions last year - I followed the coding standards:
>
> Function (
>   Argument1,
>   Argument2,
>   Argument3
>   );
>
> But was requested to place Argument1 to the function line and the last
> bracket to Argument3 line:
>
> Function (Argument1,
>   Argument2,
>   Argument3);
>
> Afair, there were some attempts to modify coding standards at the
> time, but I see the original version persisted. In fact I can do
> whatever line-breaking necessary:
>
> Ard - what style do you prefer in future patches?
>

I tend to treat the coding style document as a guideline rather than
rule of law, given that it is not entirely consistent with current
practice to begin with. In my opinion, self consistency and legibility
are more important than adhering to some rule, although I realize
legibility is a subjective quality

Personally, I think the former takes up too much space in general, but
with complex expressions as arguments, it is more readable than the
latter.


  reply	other threads:[~2018-04-17  5:33 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-16  5:09 [platforms PATCH 0/2] Armada7k8k adjustments to EDK2 Marcin Wojtas
2018-04-16  5:09 ` [platforms PATCH 1/2] Marvell/Drivers: MvFvbDxe: Adjust to new dependencies Marcin Wojtas
2018-04-16  5:40   ` Ard Biesheuvel
2018-04-16  6:13     ` Marcin Wojtas
2018-04-16 19:41     ` Laszlo Ersek
2018-04-17  5:15       ` Marcin Wojtas
2018-04-17  5:32         ` Ard Biesheuvel [this message]
2018-04-17  6:04           ` Marcin Wojtas
2018-04-17  6:05             ` Ard Biesheuvel
2018-04-17  7:20         ` Laszlo Ersek
2018-04-16  5:09 ` [platforms PATCH 2/2] Marvell/Armada: RealTimeClockLib: Depend on gEfiCpuArchProtocolGuid Marcin Wojtas
2018-04-16  5:40   ` Ard Biesheuvel
2018-04-16 19:43   ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKv+Gu-X=S6oN6o-GZgbMDxOT9v4vXN6zA67sgOq9DNwSOaVAQ@mail.gmail.com' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox