On Mon, Mar 14, 2022 at 22:32, Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > On Tue, 15 Mar 2022 01:25:32 +0100 Tobias Waldekranz wrote: >> Trigger a switchdev event whenever the bridge's MST mode is >> enabled/disabled. This allows constituent ports to either perform any >> required hardware config, or refuse the change if it not supported. >> >> Signed-off-by: Tobias Waldekranz <tobias@xxxxxxxxxxxxxx> > > ../net/bridge/br_mst.c: In function ‘br_mst_set_enabled’: > ../net/bridge/br_mst.c:102:16: error: variable ‘attr’ has initializer but incomplete type > 102 | struct switchdev_attr attr = { > | ^~~~~~~~~~~~~~ > ../net/bridge/br_mst.c:103:18: error: ‘struct switchdev_attr’ has no member named ‘id’ > 103 | .id = SWITCHDEV_ATTR_ID_BRIDGE_MST, > | ^~ > ../net/bridge/br_mst.c:103:23: error: ‘SWITCHDEV_ATTR_ID_BRIDGE_MST’ undeclared (first use in this function) > 103 | .id = SWITCHDEV_ATTR_ID_BRIDGE_MST, > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../net/bridge/br_mst.c:103:23: note: each undeclared identifier is reported only once for each function it appears in > ../net/bridge/br_mst.c:103:23: warning: excess elements in struct initializer > ../net/bridge/br_mst.c:103:23: note: (near initialization for ‘attr’) > ../net/bridge/br_mst.c:104:18: error: ‘struct switchdev_attr’ has no member named ‘orig_dev’ > 104 | .orig_dev = br->dev, > | ^~~~~~~~ > ../net/bridge/br_mst.c:104:29: warning: excess elements in struct initializer > 104 | .orig_dev = br->dev, > | ^~ > ../net/bridge/br_mst.c:104:29: note: (near initialization for ‘attr’) > ../net/bridge/br_mst.c:105:18: error: ‘struct switchdev_attr’ has no member named ‘u’ > 105 | .u.mst = on, > | ^ > ../net/bridge/br_mst.c:105:26: warning: excess elements in struct initializer > 105 | .u.mst = on, > | ^~ > ../net/bridge/br_mst.c:105:26: note: (near initialization for ‘attr’) > ../net/bridge/br_mst.c:102:31: error: storage size of ‘attr’ isn’t known > 102 | struct switchdev_attr attr = { > | ^~~~ > ../net/bridge/br_mst.c:125:15: error: implicit declaration of function ‘switchdev_port_attr_set’; did you mean ‘br_switchdev_port_vlan_del’? [-Werror=implicit-function-declaration] > 125 | err = switchdev_port_attr_set(br->dev, &attr, extack); > | ^~~~~~~~~~~~~~~~~~~~~~~ > | br_switchdev_port_vlan_del > ../net/bridge/br_mst.c:102:31: warning: unused variable ‘attr’ [-Wunused-variable] > 102 | struct switchdev_attr attr = { > | ^~~~ Sorry about that. Forgot to run the incremental build after the rebase. Will be fixed in v5.