Re: [RFC 0/6] Regressions for "imply" behavior change

From: Jason Gunthorpe
Date: Fri Apr 10 2020 - 13:13:26 EST


On Fri, Apr 10, 2020 at 02:40:42AM +0000, Saeed Mahameed wrote:

> This assumes that the module using FOO has its own flag representing
> FOO which is not always the case.
>
> for example in mlx5 we use VXLAN config flag directly to compile VXLAN
> related files:
>
> mlx5/core/Makefile:
>
> obj-$(CONFIG_MLX5_CORE) += mlx5_core.o
>
> mlx5_core-y := mlx5_core.o
> mlx5_core-$(VXLAN) += mlx5_vxlan.o
>
> and in mlx5_main.o we do:

Does this work if VXLAN = m ?

> if (IS_ENABLED(VXLAN))
> mlx5_vxlan_init()
>
> after the change in imply semantics:
> our options are:
>
> 1) use IS_REACHABLE(VXLAN) instead of IS_ENABLED(VXLAN)
>
> 2) have MLX5_VXLAN in mlx5 Kconfig and use IS_ENABLED(MLX5_VXLAN)
> config MLX5_VXLAN
> depends on VXLAN || !VXLAN
> bool

Does this trick work when vxlan is a bool not a tristate?

Why not just put the VXLAN || !VXLAN directly on MLX5_CORE?

Jason