Messages in this thread | | | From | Ansuel Smith <> | Subject | [net-next PATCH 0/4] Reduce qca8k_priv space usage | Date | Tue, 22 Mar 2022 02:45:02 +0100 |
| |
These 4 patch is a first attempt at reducting qca8k_priv space. The code changed a lot during times and we have many old logic that can be replaced with new implementation
The first patch drop the tracking of MTU. We now base all on the MTU saved in the slave dev. Just like DSA core does to get the max MTU across all port to set a correct MTU for the cpu port.
The second patch finally drop a piece of story of this driver. The ar8xxx_port_status struct was used by the first implementation of this driver to put all sort of status data for the port... With the evolution of DSA all that stuff got dropped till only the enabled state was the only part of the that struct. Since it's overkill to keep an array of int, we convert the variable to a simple u8 where we store the status of each port. This is needed to don't reanable ports on system resume.
The third patch is a preparation for patch 4. As Vladimir explained in another patch, we waste a tons of space by keeping a duplicate of the switch dsa ops in qca8k_priv. The only reason for this is to dynamically set the correct mdiobus configuration (a legacy dsa one, or a custom dedicated one) To solve this problem, we just drop the phy_read/phy_write and we declare a custom mdiobus in any case. This way we can use a static dsa switch ops struct and we can drop it from qca8k_priv
Patch 4 finally drop the duplicated dsa_switch_ops.
Ansuel Smith (4): drivers: net: dsa: qca8k: drop MTU tracking from qca8k_priv drivers: net: dsa: qca8k: drop port_sts from qca8k_priv drivers: net: dsa: qca8k: rework and simplify mdiobus logic drivers: net: dsa: qca8k: drop dsa_switch_ops from qca8k_priv
drivers/net/dsa/qca8k.c | 157 +++++++++++++++++----------------------- drivers/net/dsa/qca8k.h | 12 +-- 2 files changed, 71 insertions(+), 98 deletions(-)
-- 2.34.1
| |