of/device: Don't NULLify match table in of_match_device() with CONFIG_OF=n
authorStephen Boyd <swboyd@chromium.org>
Sat, 23 Jan 2021 03:44:28 +0000 (19:44 -0800)
committerRob Herring <robh@kernel.org>
Thu, 28 Jan 2021 21:53:08 +0000 (15:53 -0600)
commitc52eef0b6ee1a3c57f6fccb30ea0b5ae19358471
tree171693947dfc94ba9fd0b54b2b073ef0488b4100
parent6e09d75513d2670b7ab91ab3584fc5bcf2675a75
of/device: Don't NULLify match table in of_match_device() with CONFIG_OF=n

This effectively reverts 1db73ae39a97 ("of/device: Nullify match table
in of_match_device() for CONFIG_OF=n") because that commit makes it more
surprising to users of this API that the arguments may never be
referenced by any code. This is because the pre-processor will replace
the argument with NULL and then the match table will be left unreferenced
by any code but the compiler optimizer doesn't know to drop it. This can
lead to compilers warning that match tables are unused, when we really
want to pass the match table to the API but have the compiler see that
it's all inlined and not used and then drop the match table while
silencing the warning. We're being too smart here and not giving the
compiler the chance to do dead code elimination.

Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Acked-by: Frank Rowand <frowand.list@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210123034428.2841052-7-swboyd@chromium.org
include/linux/of_device.h