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