drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
Source file repositories/reference/linux-study-clean/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h- Extension
.h- Size
- 3158 bytes
- Lines
- 192
- Domain
- Driver Families
- Bucket
- drivers/hid
- 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
../amd_sfh_common.h
Detected Declarations
struct sfh_cmd_basestruct sfh_cmd_responsestruct sfh_platform_infostruct sfh_firmware_infostruct sfh_sensor_liststruct sfh_sensor_propstruct sfh_base_infostruct sfh_common_datastruct sfh_float32struct sfh_accel_datastruct sfh_gyro_datastruct sfh_mag_datastruct sfh_als_datastruct hpd_statusstruct sfh_op_modeenum sensor_index
Annotated Snippet
struct sfh_cmd_base {
union {
u32 ul;
struct {
u32 sensor_id : 4;
u32 cmd_id : 4;
u32 sub_cmd_id : 8;
u32 sub_cmd_value : 12;
u32 rsvd : 3;
u32 intr_disable : 1;
} cmd;
};
};
struct sfh_cmd_response {
union {
u32 resp;
struct {
u32 response : 8;
u32 sensor_id : 4;
u32 cmd_id : 4;
u32 sub_cmd : 6;
u32 rsvd2 : 10;
} response;
};
};
struct sfh_platform_info {
union {
u32 pi;
struct {
u32 cust_id : 16;
u32 plat_id : 6;
u32 interface_id : 4;
u32 rsvd : 6;
} pinfo;
};
};
struct sfh_firmware_info {
union {
u32 fw_ver;
struct {
u32 minor_rev : 8;
u32 major_rev : 8;
u32 minor_ver : 8;
u32 major_ver : 8;
} fver;
};
};
struct sfh_sensor_list {
union {
u32 slist;
struct {
u32 sensors : 16;
u32 rsvd : 16;
} sl;
};
};
struct sfh_sensor_prop {
union {
u32 sprop;
struct {
u32 elist : 16;
u32 feat : 16;
} sf;
};
};
struct sfh_base_info {
union {
u32 sfh_base[24];
struct {
struct sfh_platform_info plat_info;
struct sfh_firmware_info fw_info;
struct sfh_sensor_list s_list;
u32 rsvd;
struct sfh_sensor_prop s_prop[16];
} sbase;
};
};
struct sfh_common_data {
u64 timestamp;
u32 intr_cnt;
u32 featvalid : 16;
u32 rsvd : 13;
u32 sensor_state : 3;
Annotation
- Immediate include surface: `../amd_sfh_common.h`.
- Detected declarations: `struct sfh_cmd_base`, `struct sfh_cmd_response`, `struct sfh_platform_info`, `struct sfh_firmware_info`, `struct sfh_sensor_list`, `struct sfh_sensor_prop`, `struct sfh_base_info`, `struct sfh_common_data`, `struct sfh_float32`, `struct sfh_accel_data`.
- Atlas domain: Driver Families / drivers/hid.
- 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.