drivers/net/wireless/marvell/libertas/mesh.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/marvell/libertas/mesh.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/marvell/libertas/mesh.h- Extension
.h- Size
- 1756 bytes
- Lines
- 77
- Domain
- Driver Families
- Bucket
- drivers/net
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
net/iw_handler.hhost.hdev.h
Detected Declarations
struct net_devicestruct rxpdstruct txpdstruct cmd_ds_commandstruct cmd_ds_mesh_accessstruct cmd_ds_mesh_configstruct ethtool_statsfunction lbs_mesh_activated
Annotated Snippet
#ifndef _LBS_MESH_H_
#define _LBS_MESH_H_
#include <net/iw_handler.h>
#include "host.h"
#include "dev.h"
#ifdef CONFIG_LIBERTAS_MESH
struct net_device;
void lbs_init_mesh(struct lbs_private *priv);
void lbs_start_mesh(struct lbs_private *priv);
int lbs_deinit_mesh(struct lbs_private *priv);
void lbs_remove_mesh(struct lbs_private *priv);
static inline bool lbs_mesh_activated(struct lbs_private *priv)
{
return !!priv->mesh_tlv;
}
int lbs_mesh_set_channel(struct lbs_private *priv, u8 channel);
/* Sending / Receiving */
struct rxpd;
struct txpd;
struct net_device *lbs_mesh_set_dev(struct lbs_private *priv,
struct net_device *dev, struct rxpd *rxpd);
void lbs_mesh_set_txpd(struct lbs_private *priv,
struct net_device *dev, struct txpd *txpd);
/* Command handling */
struct cmd_ds_command;
struct cmd_ds_mesh_access;
struct cmd_ds_mesh_config;
/* Ethtool statistics */
struct ethtool_stats;
void lbs_mesh_ethtool_get_stats(struct net_device *dev,
struct ethtool_stats *stats, uint64_t *data);
int lbs_mesh_ethtool_get_sset_count(struct net_device *dev, int sset);
void lbs_mesh_ethtool_get_strings(struct net_device *dev,
uint32_t stringset, uint8_t *s);
#else
#define lbs_init_mesh(priv) do { } while (0)
#define lbs_deinit_mesh(priv) do { } while (0)
#define lbs_start_mesh(priv) do { } while (0)
#define lbs_add_mesh(priv) do { } while (0)
#define lbs_remove_mesh(priv) do { } while (0)
#define lbs_mesh_set_dev(priv, dev, rxpd) (dev)
#define lbs_mesh_set_txpd(priv, dev, txpd) do { } while (0)
#define lbs_mesh_set_channel(priv, channel) (0)
#define lbs_mesh_activated(priv) (false)
#endif
#endif
Annotation
- Immediate include surface: `net/iw_handler.h`, `host.h`, `dev.h`.
- Detected declarations: `struct net_device`, `struct rxpd`, `struct txpd`, `struct cmd_ds_command`, `struct cmd_ds_mesh_access`, `struct cmd_ds_mesh_config`, `struct ethtool_stats`, `function lbs_mesh_activated`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.