drivers/net/wireless/intersil/p54/eeprom.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/intersil/p54/eeprom.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/intersil/p54/eeprom.h
Extension
.h
Size
6619 bytes
Lines
243
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 pda_entry {
	__le16 len;	/* includes both code and data */
	__le16 code;
	u8 data[];
} __packed;

struct eeprom_pda_wrap {
	__le32 magic;
	__le16 pad;
	__le16 len;
	__le32 arm_opcode;
	u8 data[];
} __packed;

struct p54_iq_autocal_entry {
	__le16 iq_param[4];
} __packed;

struct pda_iq_autocal_entry {
	__le16 freq;
	struct p54_iq_autocal_entry params;
} __packed;

struct pda_channel_output_limit {
	__le16 freq;
	u8 val_bpsk;
	u8 val_qpsk;
	u8 val_16qam;
	u8 val_64qam;
	u8 rate_set_mask;
	u8 rate_set_size;
} __packed;

struct pda_channel_output_limit_point_longbow {
	__le16 val_bpsk;
	__le16 val_qpsk;
	__le16 val_16qam;
	__le16 val_64qam;
} __packed;

struct pda_channel_output_limit_longbow {
	__le16 freq;
	struct pda_channel_output_limit_point_longbow point[3];
} __packed;

struct pda_pa_curve_data_sample_rev0 {
	u8 rf_power;
	u8 pa_detector;
	u8 pcv;
} __packed;

struct pda_pa_curve_data_sample_rev1 {
	u8 rf_power;
	u8 pa_detector;
	u8 data_barker;
	u8 data_bpsk;
	u8 data_qpsk;
	u8 data_16qam;
	u8 data_64qam;
} __packed;

struct pda_pa_curve_data {
	u8 cal_method_rev;
	u8 channels;
	u8 points_per_channel;
	u8 padding;
	u8 data[];
} __packed;

struct pda_rssi_cal_ext_entry {
	__le16 freq;
	__le16 mul;
	__le16 add;
} __packed;

struct pda_rssi_cal_entry {
	__le16 mul;
	__le16 add;
} __packed;

struct pda_country {
	u8 regdomain;
	u8 alpha2[2];
	u8 flags;
} __packed;

struct pda_antenna_gain {
	DECLARE_FLEX_ARRAY(struct {
		u8 gain_5GHz;	/* 0.25 dBi units */
		u8 gain_2GHz;	/* 0.25 dBi units */

Annotation

Implementation Notes