Re: [PATCH 2/2] of: fix unittest build without CONFIG_OF_OVERLAY

From: Frank Rowand
Date: Fri Apr 28 2017 - 11:41:33 EST


On 04/28/17 02:44, Arnd Bergmann wrote:
> We get a link error when the new tests are used by overlays
> are not:
>
> drivers/of/built-in.o: In function `unflatten_device_tree':
> (.init.text+0x967): undefined reference to `unittest_unflatten_overlay_base'
>
> This makes the #ifdef check match the symbols that lead to building
> the unittest_unflatten_overlay_base function.
>
> Fixes: 81d0848fc8d2 ("of: Add unit tests for applying overlays")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/of/of_private.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h
> index de5c604f5cc4..4ebb0149d118 100644
> --- a/drivers/of/of_private.h
> +++ b/drivers/of/of_private.h
> @@ -55,7 +55,7 @@ static inline int of_property_notify(int action, struct device_node *np,
> }
> #endif /* CONFIG_OF_DYNAMIC */
>
> -#ifdef CONFIG_OF_UNITTEST
> +#if defined(CONFIG_OF_UNITTEST) && defined(CONFIG_OF_OVERLAY)
> extern void __init unittest_unflatten_overlay_base(void);
> #else
> static inline void unittest_unflatten_overlay_base(void) {};
>

I thought I had tested that OF_UNITTEST forced OF_OVERLAY. But
going back and trying again, I can confirm your results that it
does not. Thanks for catching this!

Reviewed-by: Frank Rowand <frank.rowand@xxxxxxxx>
Tested-by: Frank Rowand <frank.rowand@xxxxxxxx>

-Frank