drivers/net/wireless/ath/ath11k/coredump.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath11k/coredump.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/ath/ath11k/coredump.h
Extension
.h
Size
1733 bytes
Lines
80
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 ath11k_tlv_dump_data {
	/* see ath11k_fw_crash_dump_type above */
	__le32 type;

	/* in bytes */
	__le32 tlv_len;

	/* pad to 32-bit boundaries as needed */
	u8 tlv_data[];
} __packed;

struct ath11k_dump_file_data {
	/* "ATH11K-FW-DUMP" */
	char df_magic[16];
	/* total dump len in bytes */
	__le32 len;
	/* file dump version */
	__le32 version;
	/* pci device id */
	__le32 chip_id;
	/* qrtr instance id */
	__le32 qrtr_id;
	/* pci domain id */
	__le32 bus_id;
	guid_t guid;
	/* time-of-day stamp */
	__le64 tv_sec;
	/* time-of-day stamp, nano-seconds */
	__le64 tv_nsec;
	/* room for growth w/out changing binary format */
	u8 unused[128];
	u8 data[];
} __packed;

#ifdef CONFIG_DEV_COREDUMP
enum ath11k_fw_crash_dump_type ath11k_coredump_get_dump_type(int type);
void ath11k_coredump_upload(struct work_struct *work);
void ath11k_coredump_collect(struct ath11k_base *ab);
#else
static inline enum
ath11k_fw_crash_dump_type ath11k_coredump_get_dump_type(int type)
{
	return FW_CRASH_DUMP_TYPE_MAX;
}

static inline void ath11k_coredump_upload(struct work_struct *work)
{
}

static inline void ath11k_coredump_collect(struct ath11k_base *ab)
{
}
#endif

#endif

Annotation

Implementation Notes