net: dsa: move notifier definitions to switch.h
authorVladimir Oltean <vladimir.oltean@nxp.com>
Mon, 21 Nov 2022 13:55:50 +0000 (15:55 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 23 Nov 2022 04:41:52 +0000 (20:41 -0800)
Reduce bloat in dsa_priv.h by moving the cross-chip notifier data
structures to switch.h.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/dsa/dsa_priv.h
net/dsa/switch.h

index 8cf8608..e5d421c 100644 (file)
 
 #define DSA_MAX_NUM_OFFLOADING_BRIDGES         BITS_PER_LONG
 
-enum {
-       DSA_NOTIFIER_AGEING_TIME,
-       DSA_NOTIFIER_BRIDGE_JOIN,
-       DSA_NOTIFIER_BRIDGE_LEAVE,
-       DSA_NOTIFIER_FDB_ADD,
-       DSA_NOTIFIER_FDB_DEL,
-       DSA_NOTIFIER_HOST_FDB_ADD,
-       DSA_NOTIFIER_HOST_FDB_DEL,
-       DSA_NOTIFIER_LAG_FDB_ADD,
-       DSA_NOTIFIER_LAG_FDB_DEL,
-       DSA_NOTIFIER_LAG_CHANGE,
-       DSA_NOTIFIER_LAG_JOIN,
-       DSA_NOTIFIER_LAG_LEAVE,
-       DSA_NOTIFIER_MDB_ADD,
-       DSA_NOTIFIER_MDB_DEL,
-       DSA_NOTIFIER_HOST_MDB_ADD,
-       DSA_NOTIFIER_HOST_MDB_DEL,
-       DSA_NOTIFIER_VLAN_ADD,
-       DSA_NOTIFIER_VLAN_DEL,
-       DSA_NOTIFIER_HOST_VLAN_ADD,
-       DSA_NOTIFIER_HOST_VLAN_DEL,
-       DSA_NOTIFIER_MTU,
-       DSA_NOTIFIER_TAG_PROTO,
-       DSA_NOTIFIER_TAG_PROTO_CONNECT,
-       DSA_NOTIFIER_TAG_PROTO_DISCONNECT,
-       DSA_NOTIFIER_TAG_8021Q_VLAN_ADD,
-       DSA_NOTIFIER_TAG_8021Q_VLAN_DEL,
-       DSA_NOTIFIER_MASTER_STATE_CHANGE,
-};
-
-/* DSA_NOTIFIER_AGEING_TIME */
-struct dsa_notifier_ageing_time_info {
-       unsigned int ageing_time;
-};
-
-/* DSA_NOTIFIER_BRIDGE_* */
-struct dsa_notifier_bridge_info {
-       const struct dsa_port *dp;
-       struct dsa_bridge bridge;
-       bool tx_fwd_offload;
-       struct netlink_ext_ack *extack;
-};
-
-/* DSA_NOTIFIER_FDB_* */
-struct dsa_notifier_fdb_info {
-       const struct dsa_port *dp;
-       const unsigned char *addr;
-       u16 vid;
-       struct dsa_db db;
-};
-
-/* DSA_NOTIFIER_LAG_FDB_* */
-struct dsa_notifier_lag_fdb_info {
-       struct dsa_lag *lag;
-       const unsigned char *addr;
-       u16 vid;
-       struct dsa_db db;
-};
-
-/* DSA_NOTIFIER_MDB_* */
-struct dsa_notifier_mdb_info {
-       const struct dsa_port *dp;
-       const struct switchdev_obj_port_mdb *mdb;
-       struct dsa_db db;
-};
-
-/* DSA_NOTIFIER_LAG_* */
-struct dsa_notifier_lag_info {
-       const struct dsa_port *dp;
-       struct dsa_lag lag;
-       struct netdev_lag_upper_info *info;
-       struct netlink_ext_ack *extack;
-};
-
-/* DSA_NOTIFIER_VLAN_* */
-struct dsa_notifier_vlan_info {
-       const struct dsa_port *dp;
-       const struct switchdev_obj_port_vlan *vlan;
-       struct netlink_ext_ack *extack;
-};
-
-/* DSA_NOTIFIER_MTU */
-struct dsa_notifier_mtu_info {
-       const struct dsa_port *dp;
-       int mtu;
-};
-
-/* DSA_NOTIFIER_TAG_PROTO_* */
-struct dsa_notifier_tag_proto_info {
-       const struct dsa_device_ops *tag_ops;
-};
-
-/* DSA_NOTIFIER_TAG_8021Q_VLAN_* */
-struct dsa_notifier_tag_8021q_vlan_info {
-       const struct dsa_port *dp;
-       u16 vid;
-};
-
-/* DSA_NOTIFIER_MASTER_STATE_CHANGE */
-struct dsa_notifier_master_state_info {
-       const struct net_device *master;
-       bool operational;
-};
+struct dsa_notifier_tag_8021q_vlan_info;
 
 struct dsa_switchdev_event_work {
        struct net_device *dev;
index b2fd496..15e67b9 100644 (file)
@@ -3,8 +3,113 @@
 #ifndef __DSA_SWITCH_H
 #define __DSA_SWITCH_H
 
-struct dsa_switch_tree;
-struct dsa_switch;
+#include <net/dsa.h>
+
+struct netlink_ext_ack;
+
+enum {
+       DSA_NOTIFIER_AGEING_TIME,
+       DSA_NOTIFIER_BRIDGE_JOIN,
+       DSA_NOTIFIER_BRIDGE_LEAVE,
+       DSA_NOTIFIER_FDB_ADD,
+       DSA_NOTIFIER_FDB_DEL,
+       DSA_NOTIFIER_HOST_FDB_ADD,
+       DSA_NOTIFIER_HOST_FDB_DEL,
+       DSA_NOTIFIER_LAG_FDB_ADD,
+       DSA_NOTIFIER_LAG_FDB_DEL,
+       DSA_NOTIFIER_LAG_CHANGE,
+       DSA_NOTIFIER_LAG_JOIN,
+       DSA_NOTIFIER_LAG_LEAVE,
+       DSA_NOTIFIER_MDB_ADD,
+       DSA_NOTIFIER_MDB_DEL,
+       DSA_NOTIFIER_HOST_MDB_ADD,
+       DSA_NOTIFIER_HOST_MDB_DEL,
+       DSA_NOTIFIER_VLAN_ADD,
+       DSA_NOTIFIER_VLAN_DEL,
+       DSA_NOTIFIER_HOST_VLAN_ADD,
+       DSA_NOTIFIER_HOST_VLAN_DEL,
+       DSA_NOTIFIER_MTU,
+       DSA_NOTIFIER_TAG_PROTO,
+       DSA_NOTIFIER_TAG_PROTO_CONNECT,
+       DSA_NOTIFIER_TAG_PROTO_DISCONNECT,
+       DSA_NOTIFIER_TAG_8021Q_VLAN_ADD,
+       DSA_NOTIFIER_TAG_8021Q_VLAN_DEL,
+       DSA_NOTIFIER_MASTER_STATE_CHANGE,
+};
+
+/* DSA_NOTIFIER_AGEING_TIME */
+struct dsa_notifier_ageing_time_info {
+       unsigned int ageing_time;
+};
+
+/* DSA_NOTIFIER_BRIDGE_* */
+struct dsa_notifier_bridge_info {
+       const struct dsa_port *dp;
+       struct dsa_bridge bridge;
+       bool tx_fwd_offload;
+       struct netlink_ext_ack *extack;
+};
+
+/* DSA_NOTIFIER_FDB_* */
+struct dsa_notifier_fdb_info {
+       const struct dsa_port *dp;
+       const unsigned char *addr;
+       u16 vid;
+       struct dsa_db db;
+};
+
+/* DSA_NOTIFIER_LAG_FDB_* */
+struct dsa_notifier_lag_fdb_info {
+       struct dsa_lag *lag;
+       const unsigned char *addr;
+       u16 vid;
+       struct dsa_db db;
+};
+
+/* DSA_NOTIFIER_MDB_* */
+struct dsa_notifier_mdb_info {
+       const struct dsa_port *dp;
+       const struct switchdev_obj_port_mdb *mdb;
+       struct dsa_db db;
+};
+
+/* DSA_NOTIFIER_LAG_* */
+struct dsa_notifier_lag_info {
+       const struct dsa_port *dp;
+       struct dsa_lag lag;
+       struct netdev_lag_upper_info *info;
+       struct netlink_ext_ack *extack;
+};
+
+/* DSA_NOTIFIER_VLAN_* */
+struct dsa_notifier_vlan_info {
+       const struct dsa_port *dp;
+       const struct switchdev_obj_port_vlan *vlan;
+       struct netlink_ext_ack *extack;
+};
+
+/* DSA_NOTIFIER_MTU */
+struct dsa_notifier_mtu_info {
+       const struct dsa_port *dp;
+       int mtu;
+};
+
+/* DSA_NOTIFIER_TAG_PROTO_* */
+struct dsa_notifier_tag_proto_info {
+       const struct dsa_device_ops *tag_ops;
+};
+
+/* DSA_NOTIFIER_TAG_8021Q_VLAN_* */
+struct dsa_notifier_tag_8021q_vlan_info {
+       const struct dsa_port *dp;
+       u16 vid;
+};
+
+/* DSA_NOTIFIER_MASTER_STATE_CHANGE */
+struct dsa_notifier_master_state_info {
+       const struct net_device *master;
+       bool operational;
+};
 
 int dsa_tree_notify(struct dsa_switch_tree *dst, unsigned long e, void *v);
 int dsa_broadcast(unsigned long e, void *v);