Browse Source

mlxsw: core: Introduce generic macro for event

Create a macro for creating the generic listener struct for events,
similar to the one for rx traps.

Signed-off-by: Nogah Frankel <nogahf@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Nogah Frankel 8 years ago
parent
commit
fb9012d93f
1 changed files with 12 additions and 0 deletions
  1. 12 0
      drivers/net/ethernet/mellanox/mlxsw/core.h

+ 12 - 0
drivers/net/ethernet/mellanox/mlxsw/core.h

@@ -115,6 +115,18 @@ struct mlxsw_listener {
 		.is_event = false,					\
 	}
 
+#define MLXSW_EVENTL(_func, _trap_id)				\
+	{							\
+		.trap_id = MLXSW_TRAP_ID_##_trap_id,		\
+		.u.event_listener =				\
+		{						\
+			.func = _func,				\
+			.trap_id = MLXSW_TRAP_ID_##_trap_id,	\
+		},						\
+		.action = MLXSW_REG_HPKT_ACTION_TRAP_TO_CPU,	\
+		.is_event = true,				\
+	}
+
 int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core,
 				    const struct mlxsw_rx_listener *rxl,
 				    void *priv);