drivers/net/wireless/ath/ath10k/p2p.c

Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath10k/p2p.c

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/ath/ath10k/p2p.c
Extension
.c
Size
3630 bytes
Lines
146
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct ath10k_p2p_noa_arg {
	u32 vdev_id;
	const struct wmi_p2p_noa_info *noa;
};

static void ath10k_p2p_noa_update_vdev_iter(void *data, u8 *mac,
					    struct ieee80211_vif *vif)
{
	struct ath10k_vif *arvif = (void *)vif->drv_priv;
	struct ath10k_p2p_noa_arg *arg = data;

	if (arvif->vdev_id != arg->vdev_id)
		return;

	ath10k_p2p_noa_update(arvif, arg->noa);
}

void ath10k_p2p_noa_update_by_vdev_id(struct ath10k *ar, u32 vdev_id,
				      const struct wmi_p2p_noa_info *noa)
{
	struct ath10k_p2p_noa_arg arg = {
		.vdev_id = vdev_id,
		.noa = noa,
	};

	ieee80211_iterate_active_interfaces_atomic(ar->hw,
						   ATH10K_ITER_NORMAL_FLAGS,
						   ath10k_p2p_noa_update_vdev_iter,
						   &arg);
}

Annotation

Implementation Notes