| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* Copyright 2020, NXP Semiconductors |
| */ |
| #ifndef _SJA1105_VL_H |
| #define _SJA1105_VL_H |
| |
| #include "sja1105.h" |
| |
| #if IS_ENABLED(CONFIG_NET_DSA_SJA1105_VL) |
| |
| int sja1105_vl_redirect(struct sja1105_private *priv, int port, |
| struct netlink_ext_ack *extack, unsigned long cookie, |
| struct sja1105_key *key, unsigned long destports, |
| bool append); |
| |
| int sja1105_vl_delete(struct sja1105_private *priv, int port, |
| struct sja1105_rule *rule, |
| struct netlink_ext_ack *extack); |
| |
| int sja1105_vl_gate(struct sja1105_private *priv, int port, |
| struct netlink_ext_ack *extack, unsigned long cookie, |
| struct sja1105_key *key, u32 index, s32 prio, |
| u64 base_time, u64 cycle_time, u64 cycle_time_ext, |
| u32 num_entries, struct action_gate_entry *entries); |
| |
| int sja1105_vl_stats(struct sja1105_private *priv, int port, |
| struct sja1105_rule *rule, struct flow_stats *stats, |
| struct netlink_ext_ack *extack); |
| |
| #else |
| |
| static inline int sja1105_vl_redirect(struct sja1105_private *priv, int port, |
| struct netlink_ext_ack *extack, |
| unsigned long cookie, |
| struct sja1105_key *key, |
| unsigned long destports, |
| bool append) |
| { |
| NL_SET_ERR_MSG_MOD(extack, "Virtual Links not compiled in"); |
| return -EOPNOTSUPP; |
| } |
| |
| static inline int sja1105_vl_delete(struct sja1105_private *priv, |
| int port, struct sja1105_rule *rule, |
| struct netlink_ext_ack *extack) |
| { |
| NL_SET_ERR_MSG_MOD(extack, "Virtual Links not compiled in"); |
| return -EOPNOTSUPP; |
| } |
| |
| static inline int sja1105_vl_gate(struct sja1105_private *priv, int port, |
| struct netlink_ext_ack *extack, |
| unsigned long cookie, |
| struct sja1105_key *key, u32 index, s32 prio, |
| u64 base_time, u64 cycle_time, |
| u64 cycle_time_ext, u32 num_entries, |
| struct action_gate_entry *entries) |
| { |
| NL_SET_ERR_MSG_MOD(extack, "Virtual Links not compiled in"); |
| return -EOPNOTSUPP; |
| } |
| |
| static inline int sja1105_vl_stats(struct sja1105_private *priv, int port, |
| struct sja1105_rule *rule, |
| struct flow_stats *stats, |
| struct netlink_ext_ack *extack) |
| { |
| NL_SET_ERR_MSG_MOD(extack, "Virtual Links not compiled in"); |
| return -EOPNOTSUPP; |
| } |
| |
| #endif /* IS_ENABLED(CONFIG_NET_DSA_SJA1105_VL) */ |
| |
| #endif /* _SJA1105_VL_H */ |