1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Contains all definitions needed for the Libertas' MESH implementation.
9 #include <net/iw_handler.h>
14 #ifdef CONFIG_LIBERTAS_MESH
18 void lbs_init_mesh(struct lbs_private
*priv
);
19 void lbs_start_mesh(struct lbs_private
*priv
);
20 int lbs_deinit_mesh(struct lbs_private
*priv
);
22 void lbs_remove_mesh(struct lbs_private
*priv
);
24 static inline bool lbs_mesh_activated(struct lbs_private
*priv
)
26 return !!priv
->mesh_tlv
;
29 int lbs_mesh_set_channel(struct lbs_private
*priv
, u8 channel
);
31 /* Sending / Receiving */
36 struct net_device
*lbs_mesh_set_dev(struct lbs_private
*priv
,
37 struct net_device
*dev
, struct rxpd
*rxpd
);
38 void lbs_mesh_set_txpd(struct lbs_private
*priv
,
39 struct net_device
*dev
, struct txpd
*txpd
);
42 /* Command handling */
44 struct cmd_ds_command
;
45 struct cmd_ds_mesh_access
;
46 struct cmd_ds_mesh_config
;
49 /* Ethtool statistics */
53 void lbs_mesh_ethtool_get_stats(struct net_device
*dev
,
54 struct ethtool_stats
*stats
, uint64_t *data
);
55 int lbs_mesh_ethtool_get_sset_count(struct net_device
*dev
, int sset
);
56 void lbs_mesh_ethtool_get_strings(struct net_device
*dev
,
57 uint32_t stringset
, uint8_t *s
);
62 #define lbs_init_mesh(priv) do { } while (0)
63 #define lbs_deinit_mesh(priv) do { } while (0)
64 #define lbs_start_mesh(priv) do { } while (0)
65 #define lbs_add_mesh(priv) do { } while (0)
66 #define lbs_remove_mesh(priv) do { } while (0)
67 #define lbs_mesh_set_dev(priv, dev, rxpd) (dev)
68 #define lbs_mesh_set_txpd(priv, dev, txpd) do { } while (0)
69 #define lbs_mesh_set_channel(priv, channel) (0)
70 #define lbs_mesh_activated(priv) (false)