include/linux/mfd/iqs62x.h

Source file repositories/reference/linux-study-clean/include/linux/mfd/iqs62x.h

File Facts

System
Linux kernel
Corpus path
include/linux/mfd/iqs62x.h
Extension
.h
Size
2974 bytes
Lines
144
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct iqs62x_event_data {
	u16 ui_data;
	u8 als_flags;
	u8 ir_flags;
	u8 interval;
};

struct iqs62x_event_desc {
	enum iqs62x_event_reg reg;
	u8 mask;
	u8 val;
};

struct iqs62x_dev_desc {
	const char *dev_name;
	const struct mfd_cell *sub_devs;
	int num_sub_devs;
	u8 prod_num;
	u8 sw_num;
	const u8 *cal_regs;
	int num_cal_regs;
	u8 prox_mask;
	u8 sar_mask;
	u8 hall_mask;
	u8 hyst_mask;
	u8 temp_mask;
	u8 als_mask;
	u8 ir_mask;
	u8 prox_settings;
	u8 als_flags;
	u8 hall_flags;
	u8 hyst_shift;
	u8 interval;
	u8 interval_div;
	const char *fw_name;
	const enum iqs62x_event_reg (*event_regs)[IQS62X_EVENT_SIZE];
};

struct iqs62x_core {
	const struct iqs62x_dev_desc *dev_desc;
	struct i2c_client *client;
	struct regmap *regmap;
	struct blocking_notifier_head nh;
	struct list_head fw_blk_head;
	struct completion ati_done;
	struct completion fw_done;
	enum iqs62x_ui_sel ui_sel;
	unsigned long event_cache;
	u8 sw_num;
	u8 hw_num;
};

extern const struct iqs62x_event_desc iqs62x_events[IQS62X_NUM_EVENTS];

#endif /* __LINUX_MFD_IQS62X_H */

Annotation

Implementation Notes