Re: [PATCH] mmc: use empty initializer list to zero-clear structures

From: Linus Walleij
Date: Fri Dec 30 2016 - 03:09:30 EST


On Mon, Dec 19, 2016 at 12:51 PM, Masahiro Yamada
<yamada.masahiro@xxxxxxxxxxxxx> wrote:

> In the MMC subsystem, we see such initializers that only clears the
> first member explicitly.
>
> For example,
>
> struct mmc_request mrq = {NULL};
>
> sets the first member (.sbc) to NULL explicitly. However, this is
> an unstable form because we may insert a non-pointer member at the
> top of the struct mmc_request in the future. (if we do so, the
> compiler will spit warnings.)
>
> So, using a designated initializer is preferred coding style. The
> expression above is equivalent to:
>
> struct mmc_request mrq = { .sbc = NULL };
>
> Of course, this does not express our intention. We want to fill
> all struct members with zeros. Please note struct members are
> implicitly zero-cleared unless otherwise specified in the initializer.
>
> After all, the most reasonable (and stable) form is:
>
> struct mmc_request mrq = {};
>
> Do likewise for mmc_command, mmc_data as well.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>

Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Yours,
Linus Walleij