On Tue, Apr 14, 2020 at 04:27:41PM +0200, Arnd Bergmann wrote: > On Tue, Apr 14, 2020 at 3:29 PM Jason Gunthorpe <jgg@xxxxxxxx> wrote: > > On Fri, Apr 10, 2020 at 07:04:27PM +0000, Saeed Mahameed wrote: > > > On Fri, 2020-04-10 at 14:13 -0300, Jason Gunthorpe wrote: > > > > 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 ? > > > > > > Yes, if VXLAN IS_REACHABLE to MLX5, mlx5_vxlan.o will be > > > compiled/linked. > > > > So mlx5_core-m does the right thing somehow? > > What happens with CONFIG_VXLAN=m is that the above turns into > > mlx5_core-y := mlx5_core.o > mlx5_core-m += mlx5_vxlan.o > > which in turn leads to mlx5_core.ko *not* containing mlx5_vxlan.o, > and in turn causing that link error against > mlx5_vxlan_create/mlx5_vxlan_destroy, unless the IS_ENABLED() > is changed to IS_REACHABLE(). What about the reverse if mlx5_core is 'm' and VLXAN is 'y'? mlx5_core-m := mlx5_core.o mlx5_core-y += mlx5_vxlan.o Magically works out? > > IIRC that isn't what the expression does, if vxlan is 'n' then > > n || !n == true > > It forces MLX5_CORE to 'm' or 'n' but not 'y' if VXLAN=m, > but allows any option if VXLAN=y And any option if VXLAN=n ? Jason _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel