ams.h
来自「linux 内核源代码」· C头文件 代码 · 共 72 行
H
72 行
#include <linux/i2c.h>#include <linux/input-polldev.h>#include <linux/kthread.h>#include <linux/mutex.h>#include <linux/spinlock.h>#include <linux/types.h>#include <asm/of_device.h>enum ams_irq { AMS_IRQ_FREEFALL = 0x01, AMS_IRQ_SHOCK = 0x02, AMS_IRQ_GLOBAL = 0x04, AMS_IRQ_ALL = AMS_IRQ_FREEFALL | AMS_IRQ_SHOCK | AMS_IRQ_GLOBAL,};struct ams { /* Locks */ spinlock_t irq_lock; struct mutex lock; /* General properties */ struct device_node *of_node; struct of_device *of_dev; char has_device; char vflag; u32 orient1; u32 orient2; /* Interrupt worker */ struct work_struct worker; u8 worker_irqs; /* Implementation * * Only call these functions with the main lock held. */ void (*exit)(void); void (*get_xyz)(s8 *x, s8 *y, s8 *z); u8 (*get_vendor)(void); void (*clear_irq)(enum ams_irq reg);#ifdef CONFIG_SENSORS_AMS_I2C /* I2C properties */ int i2c_bus; int i2c_address; struct i2c_client i2c_client;#endif /* Joystick emulation */ struct input_polled_dev *idev; __u16 bustype; /* calibrated null values */ int xcalib, ycalib, zcalib;};extern struct ams ams_info;extern void ams_sensors(s8 *x, s8 *y, s8 *z);extern int ams_sensor_attach(void);extern int ams_pmu_init(struct device_node *np);extern int ams_i2c_init(struct device_node *np);extern int ams_input_init(void);extern void ams_input_exit(void);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?