On Tue, 2020-04-14 at 20:47 +0200, Arnd Bergmann wrote: > On Tue, Apr 14, 2020 at 7:49 PM Saeed Mahameed <saeedm@xxxxxxxxxxxx> > wrote: > > On Tue, 2020-04-14 at 17:25 +0200, Arnd Bergmann wrote: > > > On Tue, Apr 14, 2020 at 5:23 PM Jason Gunthorpe <jgg@xxxxxxxx> > > > wrote: > > > Correct. > > > > > > > Great ! > > > > Then bottom line we will change mlx5/Kconfig: to > > > > depends on VXLAN || !VXLAN > > Ok > BTW how about adding a new Kconfig option to hide the details of ( BAR || !BAR) ? as Jason already explained and suggested, this will make it easier for the users and developers to understand the actual meaning behind this tristate weird condition. e.g have a new keyword: reach VXLAN which will be equivalent to: depends on VXLAN && !VXLAN > > This will force MLX5_CORE to m when necessary to make vxlan > > reachable > > to mlx5_core. So no need for explicit use of IS_REACHABLE(). > > in mlx5 there are 4 of these: > > > > imply PTP_1588_CLOCK > > imply VXLAN > > imply MLXFW > > imply PCI_HYPERV_INTERFACE > > As mentioned earlier, we do need to replace the 'imply > PTP_1588_CLOCK' > with the same > > depends on PTP_1588_CLOCK || !PTP_1588_CLOCK > > So far I have not seen problems for the other two options, so I > assume they > are fine for now -- it seems to build just fine without > PCI_HYPERV_INTERFACE, > and MLXFW has no other dependencies, meaning that 'imply' is the > same as 'select' here. Using 'select MLXFW' would make it clearer > perhaps. No, I would like to avoid select and allow building mlx5 without MLXFW, MLXFW already has a stub protected with IS_REACHABLE(), this is why we don't have an issue with it. > > Arnd