The GSI code that supports IPA avoids having knowledge about the IPA layer it serves. One result of this is that Boolean flags are used during GSI initialization to convey that certain hardware version-dependent special behaviors should be used.
A given version of IPA hardware uses a fixed/well-defined version of GSI, so the IPA version really implies the GSI version. If given only the IPA version, the GSI code supporting IPA can use it to implement certain special behaviors required for IPA *or* GSI. This avoids the need to pass and maintain numerous Boolean flags. Note: the last patch in this series depends on this patch posted for review earlier today: https://lore.kernel.org/netdev/20201102173435.5987-1-el...@linaro.org -Alex Alex Elder (6): net: ipa: expose IPA version to the GSI layer net: ipa: record IPA version in GSI structure net: ipa: use version in gsi_channel_init() net: ipa: use version in gsi_channel_reset() net: ipa: use version in gsi_channel_program() net: ipa: eliminate legacy arguments drivers/net/ipa/gsi.c | 52 ++++++++++++++++++---------------- drivers/net/ipa/gsi.h | 24 +++++++++------- drivers/net/ipa/ipa_endpoint.c | 16 ++++------- drivers/net/ipa/ipa_main.c | 14 ++------- 4 files changed, 51 insertions(+), 55 deletions(-) -- 2.20.1