[net-next PATCH v3 0/9] Multiple cleanup and feature for qca8k

From: Ansuel Smith
Date: Mon Nov 22 2021 - 10:24:23 EST


This is a reduced version of the old massive series.
Refer to the changelog to know what is removed from this.

We clean and convert the driver to GENMASK FIELD_PREP to clean multiple
use of various naming scheme. (example we have a mix of _MASK, _S _M,
and various name) The idea is to ""simplify"" and remove some shift and
data handling by using FIELD API.
The patch contains various checkpatch warning and are ignored to not
create more mess in the header file. (fixing the too long line warning
would results in regs definition less readable)

We conver the driver to regmap API as ipq40xx SoC is based on the same
reg structure and we need to generilize the read/write access to split
the driver to commond and specific code.

The conversion to regmap is NOT done for the read/write/rmw operation,
the function are reworked to use the regmap helper instead.
This is done to keep the patch delta low but will come sooner or later
when the code will be split.
Any new feature will directly use the regmap helper and the reg
set/clear and the busy wait function are migrated to regmap helper as
the use of these function is low.

We also add a minor patch for MIB counter as qca8337 is missing 2 extra
counter, support for mdb and ageing settings.

v3:
- Try to reduce regmap conversion patch
v2:
- Move regmap init to sw_probe instead of moving switch id check.
- Removed LAGs, mirror extra features will come later in another
smaller series.
- Squash 2 ageing patch
- Add more description about the regmap patch
- Rework mdb patch to do operation under the same lock

Ansuel Smith (9):
net: dsa: qca8k: remove redundant check in parse_port_config
net: dsa: qca8k: convert to GENMASK/FIELD_PREP/FIELD_GET
net: dsa: qca8k: remove extra mutex_init in qca8k_setup
net: dsa: qca8k: move regmap init in probe and set it mandatory
net: dsa: qca8k: initial conversion to regmap helper
net: dsa: qca8k: add additional MIB counter and make it dynamic
net: dsa: qca8k: add support for port fast aging
net: dsa: qca8k: add set_ageing_time support
net: dsa: qca8k: add support for mdb_add/del

drivers/net/dsa/qca8k.c | 381 +++++++++++++++++++++++++++-------------
drivers/net/dsa/qca8k.h | 161 +++++++++--------
2 files changed, 349 insertions(+), 193 deletions(-)

--
2.32.0