drivers/net/wireless/realtek/rtw89/acpi.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/realtek/rtw89/acpi.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/realtek/rtw89/acpi.h- Extension
.h- Size
- 7476 bytes
- Lines
- 299
- 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
core.h
Detected Declarations
struct rtw89_acpi_datastruct rtw89_acpi_country_codestruct rtw89_acpi_policy_6ghzstruct rtw89_acpi_policy_6ghz_spstruct rtw89_acpi_policy_6ghz_vlpstruct rtw89_acpi_policy_tasstruct rtw89_acpi_policy_reg_rulesstruct rtw89_acpi_dsm_resultstruct rtw89_acpi_rtag_resultstruct rtw89_acpi_sar_std_legacystruct rtw89_acpi_sar_std_has_6ghzstruct rtw89_acpi_sar_sml_legacystruct rtw89_acpi_sar_sml_has_6ghzstruct rtw89_acpi_static_sar_hdrstruct rtw89_acpi_dynamic_sar_hdrstruct rtw89_acpi_sar_identifierstruct rtw89_acpi_sar_recognitionstruct rtw89_acpi_geo_sar_hp_valstruct rtw89_acpi_geo_sar_hp_legacy_entrystruct rtw89_acpi_geo_sar_hp_has_6ghz_entrystruct rtw89_acpi_geo_sar_hp_legacystruct rtw89_acpi_geo_sar_hp_has_6ghzstruct rtw89_acpi_geo_sar_rt_valstruct rtw89_acpi_geo_sar_rt_legacy_entrystruct rtw89_acpi_geo_sar_rt_has_6ghz_entrystruct rtw89_acpi_geo_sar_rt_legacystruct rtw89_acpi_geo_sar_rt_has_6ghzstruct rtw89_acpi_geo_sar_handlerenum rtw89_acpi_dsm_funcenum rtw89_acpi_conf_unii4enum rtw89_acpi_policy_modeenum rtw89_acpi_conf_tasenum rtw89_acpi_conf_6ghz_spenum rtw89_acpi_conf_6ghz_vlpenum rtw89_acpi_conf_reg_rulesenum rtw89_acpi_sar_cidenum rtw89_acpi_sar_revenum rtw89_acpi_geo_sar_regd_hpenum rtw89_acpi_geo_sar_regd_rt
Annotated Snippet
struct rtw89_acpi_data {
u32 len;
u8 buf[] __counted_by(len);
};
enum rtw89_acpi_dsm_func {
RTW89_ACPI_DSM_FUNC_IDN_BAND_SUP = 2,
RTW89_ACPI_DSM_FUNC_6G_DIS = 3,
RTW89_ACPI_DSM_FUNC_6G_BP = 4,
RTW89_ACPI_DSM_FUNC_TAS_EN = 5,
RTW89_ACPI_DSM_FUNC_UNII4_SUP = 6,
RTW89_ACPI_DSM_FUNC_6GHZ_SP_SUP = 7,
RTW89_ACPI_DSM_FUNC_REG_RULES_EN = 10,
RTW89_ACPI_DSM_FUNC_6GHZ_VLP_SUP = 11,
};
enum rtw89_acpi_conf_unii4 {
RTW89_ACPI_CONF_UNII4_US = BIT(0),
RTW89_ACPI_CONF_UNII4_CA = BIT(1),
};
enum rtw89_acpi_policy_mode {
RTW89_ACPI_POLICY_BLOCK = 0,
RTW89_ACPI_POLICY_ALLOW = 1,
};
enum rtw89_acpi_conf_tas {
RTW89_ACPI_CONF_TAS_US = BIT(0),
RTW89_ACPI_CONF_TAS_CA = BIT(1),
RTW89_ACPI_CONF_TAS_KR = BIT(2),
RTW89_ACPI_CONF_TAS_OTHERS = BIT(7),
};
struct rtw89_acpi_country_code {
/* below are allowed:
* * ISO alpha2 country code
* * EU for countries in Europe
*/
char alpha2[2];
} __packed;
struct rtw89_acpi_policy_6ghz {
u8 signature[3];
u8 rsvd;
u8 policy_mode;
u8 country_count;
struct rtw89_acpi_country_code country_list[] __counted_by(country_count);
} __packed;
enum rtw89_acpi_conf_6ghz_sp {
RTW89_ACPI_CONF_6GHZ_SP_US = BIT(0),
RTW89_ACPI_CONF_6GHZ_SP_CA = BIT(1),
};
struct rtw89_acpi_policy_6ghz_sp {
u8 signature[4];
u8 revision;
u8 override;
u8 conf;
u8 rsvd;
} __packed;
enum rtw89_acpi_conf_6ghz_vlp {
RTW89_ACPI_CONF_6GHZ_VLP_US = BIT(0),
RTW89_ACPI_CONF_6GHZ_VLP_CA = BIT(1),
};
struct rtw89_acpi_policy_6ghz_vlp {
u8 signature[4];
u8 revision;
u8 override;
u8 conf;
u8 rsvd;
} __packed;
struct rtw89_acpi_policy_tas {
u8 signature[4];
u8 revision;
u8 enable;
u8 enabled_countries;
u8 rsvd[3];
} __packed;
enum rtw89_acpi_conf_reg_rules {
RTW89_ACPI_CONF_REG_RULE_REGD_UK = BIT(0),
};
struct rtw89_acpi_policy_reg_rules {
u8 signature[4];
u8 revision;
Annotation
- Immediate include surface: `core.h`.
- Detected declarations: `struct rtw89_acpi_data`, `struct rtw89_acpi_country_code`, `struct rtw89_acpi_policy_6ghz`, `struct rtw89_acpi_policy_6ghz_sp`, `struct rtw89_acpi_policy_6ghz_vlp`, `struct rtw89_acpi_policy_tas`, `struct rtw89_acpi_policy_reg_rules`, `struct rtw89_acpi_dsm_result`, `struct rtw89_acpi_rtag_result`, `struct rtw89_acpi_sar_std_legacy`.
- 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.