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

From: Saeed Mahameed
Date: Wed Apr 15 2020 - 23:25:32 EST


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