From: Vivien Didelot <vivien.dide...@savoirfairelinux.com> Date: Thu, 26 Oct 2017 11:22:50 -0400
> The DSA code currently has 3 bitmaps in the dsa_switch structure: > cpu_port_mask, dsa_port_mask and enabled_port_mask. > > They are used to store the type of each switch port. This dates back > from when DSA didn't have a dsa_port structure to hold port-specific > data. > > The dsa_switch structure is mainly used to communicate with DSA drivers > and must not contain such static data parsed from DTS or pdata, which > belongs the DSA core structures, such as dsa_switch_tree and dsa_port. > > Also the enabled_port_mask is misleading, often misinterpreted as the > complement of disabled ports (thus including DSA and CPU ports), while > in fact it only masks the user ports. > > A port can be of 3 types when it is not unused: "cpu" (interfacing with > a master device), "dsa" (interconnecting with another "dsa" port from > another switch chip), or "user" (user-facing port.) > > This patchset first fixes the usage of DSA port type helpers, then > defines the DSA_PORT_TYPE_UNUSED, DSA_PORT_TYPE_CPU, DSA_PORT_TYPE_DSA, > and DSA_PORT_TYPE_USER port types, and finally removes the misleading > port bitmaps. Series applied, thanks Vivien.