On Tue, 2017-09-19 at 07:27 -0400, John Ferlan wrote:
> First of all, you're removing a number of checks
> on unrelated symbols
> that are still used in the code, and if any of those is not present
> then we shouldn't compile the relevant bits at all.
I checked - up through 4.8 "most" are available. At 4.8 the *ESWITCH*
ones were added. Checking for a minimum version for a symbol is
something we do in other code under the assumption that any symbol that
is in a counted enum/list for a command or structure before it is
available. Otherwise, we'd have more symbol and field checking all over
the place.
Okay, I see what you were aiminig for now, and I don't disagree
with it; however, the rationale was not explained clearly in the
original commit message.
> Second, we're using
> DEVLINK_CMD_ESWITCH_GET in the code, but as you
> explain that version is only available in newer kernels.
>
> I think the approach need to be more nuanced:
>
> - use
> DEVLINK_CMD_ESWITCH_GET or DEVLINK_CMD_ESWITCH_MODE_GET,
> depending on which on is available, with the former one being the
> preferred option;
That's another option to what I posted a few moments ago to use:
# ifndef...
Sure, that would work too, and look a little bit better than
what I proposed.
--
Andrea Bolognani / Red Hat / Virtualization