• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/iio/accel/
1
2#include "../sysfs.h"
3
4/* Accelerometer types of attribute */
5#define IIO_DEV_ATTR_ACCEL_OFFSET(_mode, _show, _store, _addr)	\
6	IIO_DEVICE_ATTR(accel_offset, _mode, _show, _store, _addr)
7
8#define IIO_DEV_ATTR_ACCEL_X_OFFSET(_mode, _show, _store, _addr)	\
9	IIO_DEVICE_ATTR(accel_x_offset, _mode, _show, _store, _addr)
10
11#define IIO_DEV_ATTR_ACCEL_Y_OFFSET(_mode, _show, _store, _addr)	\
12	IIO_DEVICE_ATTR(accel_y_offset, _mode, _show, _store, _addr)
13
14#define IIO_DEV_ATTR_ACCEL_Z_OFFSET(_mode, _show, _store, _addr)	\
15	IIO_DEVICE_ATTR(accel_z_offset, _mode, _show, _store, _addr)
16
17#define IIO_DEV_ATTR_ACCEL_X_GAIN(_mode, _show, _store, _addr)		\
18	IIO_DEVICE_ATTR(accel_x_gain, _mode, _show, _store, _addr)
19
20#define IIO_DEV_ATTR_ACCEL_Y_GAIN(_mode, _show, _store, _addr)		\
21	IIO_DEVICE_ATTR(accel_y_gain, _mode, _show, _store, _addr)
22
23#define IIO_DEV_ATTR_ACCEL_Z_GAIN(_mode, _show, _store, _addr)		\
24	IIO_DEVICE_ATTR(accel_z_gain, _mode, _show, _store, _addr)
25
26#define IIO_DEV_ATTR_ACCEL(_show, _addr)			\
27	IIO_DEVICE_ATTR(accel_raw, S_IRUGO, _show, NULL, _addr)
28
29#define IIO_DEV_ATTR_ACCEL_X(_show, _addr)			\
30	IIO_DEVICE_ATTR(accel_x_raw, S_IRUGO, _show, NULL, _addr)
31
32#define IIO_DEV_ATTR_ACCEL_Y(_show, _addr)			\
33	IIO_DEVICE_ATTR(accel_y_raw, S_IRUGO, _show, NULL, _addr)
34
35#define IIO_DEV_ATTR_ACCEL_Z(_show, _addr)			\
36	IIO_DEVICE_ATTR(accel_z_raw, S_IRUGO, _show, NULL, _addr)
37
38/* Thresholds are somewhat chip dependent - may need quite a few defs here */
39/* For unified thresholds (shared across all directions */
40
41/**
42 * IIO_DEV_ATTR_ACCEL_THRESH: unified threshold
43 * @_mode: read/write
44 * @_show: read detector threshold value
45 * @_store: write detector threshold value
46 * @_addr: driver specific data, typically a register address
47 *
48 * This one is for cases where as single threshold covers all directions
49 **/
50#define IIO_DEV_ATTR_ACCEL_THRESH(_mode, _show, _store, _addr)	\
51	IIO_DEVICE_ATTR(thresh, _mode, _show, _store, _addr)
52
53/**
54 * IIO_DEV_ATTR_ACCEL_THRESH_X: independant direction threshold, x axis
55 * @_mode: readable / writable
56 * @_show: read x axis detector threshold value
57 * @_store: write x axis detector threshold value
58 * @_addr: device driver dependant, typically a register address
59 **/
60#define IIO_DEV_ATTR_ACCEL_THRESH_X(_mode, _show, _store, _addr)	\
61	IIO_DEVICE_ATTR(thresh_accel_x, _mode, _show, _store, _addr)
62
63#define IIO_DEV_ATTR_ACCEL_THRESH_Y(_mode, _show, _store, _addr)	\
64	IIO_DEVICE_ATTR(thresh_accel_y, _mode, _show, _store, _addr)
65
66#define IIO_DEV_ATTR_ACCEL_THRESH_Z(_mode, _show, _store, _addr)	\
67	IIO_DEVICE_ATTR(thresh_accel_z, _mode, _show, _store, _addr)
68
69/**
70 * IIO_EVENT_ATTR_ACCEL_X_HIGH: threshold event, x acceleration
71 * @_show: read x acceleration high threshold
72 * @_store: write x acceleration high threshold
73 * @_mask: device dependant, typically a bit mask
74 * @_handler: the iio_handler associated with this attribute
75 **/
76#define IIO_EVENT_ATTR_ACCEL_X_HIGH(_show, _store, _mask, _handler)	\
77	IIO_EVENT_ATTR(accel_x_high, _show, _store, _mask, _handler)
78
79/**
80 * IIO_EVENT_ATTR_ACCEL_X_HIGH_SH: threshold event, x accel high, shared handler
81 * @_evlist: event list used to share the handler
82 * @_show: attribute read
83 * @_store: attribute write
84 * @_mask: driver specific data, typically a bit mask
85 **/
86#define IIO_EVENT_ATTR_ACCEL_X_HIGH_SH(_evlist, _show, _store, _mask)	\
87	IIO_EVENT_ATTR_SH(accel_x_high, _evlist, _show, _store, _mask)
88
89/**
90 * IIO_EVENT_CODE_ACCEL_X_HIGH - event code for x axis high accel threshold
91 **/
92#define IIO_EVENT_CODE_ACCEL_X_HIGH IIO_EVENT_CODE_ACCEL_BASE
93
94#define IIO_EVENT_ATTR_ACCEL_Y_HIGH(_show, _store, _mask, _handler)	\
95	IIO_EVENT_ATTR(accel_y_high, _show, _store, _mask, _handler)
96
97#define IIO_EVENT_ATTR_ACCEL_Y_HIGH_SH(_evlist, _show, _store, _mask)	\
98	IIO_EVENT_ATTR_SH(accel_y_high, _evlist, _show, _store, _mask)
99
100#define IIO_EVENT_CODE_ACCEL_Y_HIGH (IIO_EVENT_CODE_ACCEL_BASE + 1)
101
102#define IIO_EVENT_ATTR_ACCEL_Z_HIGH(_show, _store, _mask, _handler)	\
103	IIO_EVENT_ATTR(accel_z_high, _show, _store, _mask, _handler)
104
105#define IIO_EVENT_ATTR_ACCEL_Z_HIGH_SH(_evlist, _show, _store, _mask)	\
106	IIO_EVENT_ATTR_SH(accel_z_high, _evlist, _show, _store, _mask)
107
108#define IIO_EVENT_CODE_ACCEL_Z_HIGH (IIO_EVENT_CODE_ACCEL_BASE + 2)
109
110#define IIO_EVENT_ATTR_ACCEL_X_LOW(_show, _store, _mask, _handler)	\
111	IIO_EVENT_ATTR(accel_x_low, _show, _store, _mask, _handler)
112
113#define IIO_EVENT_ATTR_ACCEL_X_LOW_SH(_evlist, _show, _store, _mask)	\
114	IIO_EVENT_ATTR_SH(accel_x_low, _evlist, _show, _store, _mask)
115
116#define IIO_EVENT_CODE_ACCEL_X_LOW (IIO_EVENT_CODE_ACCEL_BASE + 3)
117
118#define IIO_EVENT_ATTR_ACCEL_Y_LOW(_show, _store, _mask, _handler) \
119	IIO_EVENT_ATTR(accel_y_low, _show, _store, _mask, _handler)
120
121#define IIO_EVENT_ATTR_ACCEL_Y_LOW_SH(_evlist, _show, _store, _mask)\
122	IIO_EVENT_ATTR_SH(accel_y_low, _evlist, _show, _store, _mask)
123
124#define IIO_EVENT_CODE_ACCEL_Y_LOW (IIO_EVENT_CODE_ACCEL_BASE + 4)
125
126#define IIO_EVENT_ATTR_ACCEL_Z_LOW(_show, _store, _mask, _handler)	\
127	IIO_EVENT_ATTR(accel_z_low, _show, _store, _mask, _handler)
128
129#define IIO_EVENT_ATTR_ACCEL_Z_LOW_SH(_evlist, _show, _store, _mask)	\
130	IIO_EVENT_ATTR_SH(accel_z_low, _evlist, _show, _store, _mask)
131
132#define IIO_EVENT_CODE_ACCEL_Z_LOW (IIO_EVENT_CODE_ACCEL_BASE + 5)
133
134#define IIO_EVENT_ATTR_FREE_FALL_DETECT(_show, _store, _mask, _handler)	\
135	IIO_EVENT_ATTR(free_fall, _show, _store, _mask, _handler)
136
137#define IIO_EVENT_ATTR_FREE_FALL_DETECT_SH(_evlist, _show, _store, _mask) \
138	IIO_EVENT_ATTR_SH(free_fall, _evlist, _show, _store, _mask)
139
140#define IIO_EVENT_CODE_FREE_FALL (IIO_EVENT_CODE_ACCEL_BASE + 6)
141
142
143#define IIO_EVENT_ATTR_ACCEL_X_ROC_HIGH_SH(_evlist, _show, _store, _mask) \
144	IIO_EVENT_ATTR_SH(accel_x_roc_high, _evlist, _show, _store, _mask)
145
146#define IIO_EVENT_CODE_ACCEL_X_ROC_HIGH (IIO_EVENT_CODE_ACCEL_BASE + 10)
147
148#define IIO_EVENT_ATTR_ACCEL_X_ROC_LOW_SH(_evlist, _show, _store, _mask) \
149	IIO_EVENT_ATTR_SH(accel_x_roc_low, _evlist, _show, _store, _mask)
150
151#define IIO_EVENT_CODE_ACCEL_X_ROC_LOW (IIO_EVENT_CODE_ACCEL_BASE + 11)
152
153#define IIO_EVENT_ATTR_ACCEL_Y_ROC_HIGH_SH(_evlist, _show, _store, _mask) \
154	IIO_EVENT_ATTR_SH(accel_y_roc_high, _evlist, _show, _store, _mask)
155
156#define IIO_EVENT_CODE_ACCEL_Y_ROC_HIGH (IIO_EVENT_CODE_ACCEL_BASE + 12)
157
158#define IIO_EVENT_ATTR_ACCEL_Y_ROC_LOW_SH(_evlist, _show, _store, _mask) \
159	IIO_EVENT_ATTR_SH(accel_y_roc_low, _evlist, _show, _store, _mask)
160
161#define IIO_EVENT_CODE_ACCEL_Y_ROC_LOW (IIO_EVENT_CODE_ACCEL_BASE + 13)
162
163#define IIO_EVENT_ATTR_ACCEL_Z_ROC_HIGH_SH(_evlist, _show, _store, _mask) \
164	IIO_EVENT_ATTR_SH(accel_z_roc_high, _evlist, _show, _store, _mask)
165
166#define IIO_EVENT_CODE_ACCEL_Z_ROC_HIGH (IIO_EVENT_CODE_ACCEL_BASE + 14)
167
168#define IIO_EVENT_ATTR_ACCEL_Z_ROC_LOW_SH(_evlist, _show, _store, _mask) \
169	IIO_EVENT_ATTR_SH(accel_z_roc_low, _evlist, _show, _store, _mask)
170
171#define IIO_EVENT_CODE_ACCEL_Z_ROC_LOW (IIO_EVENT_CODE_ACCEL_BASE + 15)
172