Re: [PATCH 01/12] net: dsa: lantiq_gswip: mark OF related data as maybe unused

From: Vladimir Oltean
Date: Sun Mar 12 2023 - 06:57:41 EST


On Sun, Mar 12, 2023 at 11:20:38AM +0100, Krzysztof Kozlowski wrote:
> On 11/03/2023 19:14, Vladimir Oltean wrote:
> > On Sat, Mar 11, 2023 at 06:32:52PM +0100, Krzysztof Kozlowski wrote:
> >> The driver can be compile tested with !CONFIG_OF making certain data
> >> unused:
> >>
> >> drivers/net/dsa/lantiq_gswip.c:1888:34: error: ‘xway_gphy_match’ defined but not used [-Werror=unused-const-variable=]
> >>
> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> >> ---
> >
> > Do you happen to have any context as to why of_match_node() without
> > CONFIG_OF is implemented as:
> >
> > #define of_match_node(_matches, _node) NULL
> >
> > and not as:
> >
> > static inline const struct of_device_id *
> > of_match_node(const struct of_device_id *matches,
> > const struct device_node *node)
> > {
> > return NULL;
> > }
> >
> > ?
> >
> > Generally, the static inline shim function model is nicer, because it
> > allows us to not scatter __maybe_unused all around.
>
> Sorry, I don't follow. I don't touch that wrappers, just fix errors
> related to OF device ID tables, although in few cases it is indeed
> related to of_match_node.

I'm saying this because in lantiq_gswip.c, xway_gphy_match is accessed
through of_match_node(). If the shim definition for of_match_node() was
different, the variable wouldn't have been unused with CONFIG_OF=n.
I guess it's worth considering changing that wrapper instead of adding
the __maybe_unused.