aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/device.h4
-rw-r--r--include/linux/iio/accel/kxcjk_1013.h22
-rw-r--r--include/linux/iio/common/st_sensors.h12
-rw-r--r--include/linux/iio/common/st_sensors_i2c.h11
-rw-r--r--include/linux/iio/imu/adis.h33
-rw-r--r--include/linux/iio/trigger.h5
-rw-r--r--include/linux/iio/types.h5
-rw-r--r--include/linux/platform_data/ad7291.h12
-rw-r--r--include/linux/platform_data/dsp-omap.h34
9 files changed, 75 insertions, 63 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index 921fa0a74df6..b0aab0d6be7e 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -605,6 +605,10 @@ extern int devres_release_group(struct device *dev, void *id);
605 605
606/* managed devm_k.alloc/kfree for device drivers */ 606/* managed devm_k.alloc/kfree for device drivers */
607extern void *devm_kmalloc(struct device *dev, size_t size, gfp_t gfp); 607extern void *devm_kmalloc(struct device *dev, size_t size, gfp_t gfp);
608extern char *devm_kvasprintf(struct device *dev, gfp_t gfp, const char *fmt,
609 va_list ap);
610extern char *devm_kasprintf(struct device *dev, gfp_t gfp,
611 const char *fmt, ...);
608static inline void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp) 612static inline void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp)
609{ 613{
610 return devm_kmalloc(dev, size, gfp | __GFP_ZERO); 614 return devm_kmalloc(dev, size, gfp | __GFP_ZERO);
diff --git a/include/linux/iio/accel/kxcjk_1013.h b/include/linux/iio/accel/kxcjk_1013.h
new file mode 100644
index 000000000000..fd1d540ea62d
--- /dev/null
+++ b/include/linux/iio/accel/kxcjk_1013.h
@@ -0,0 +1,22 @@
1/*
2 * KXCJK-1013 3-axis accelerometer Interface
3 * Copyright (c) 2014, Intel Corporation.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License,
7 * version 2, as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 */
14
15#ifndef __IIO_KXCJK_1013_H__
16#define __IIO_KXCJK_1013_H__
17
18struct kxcjk_1013_platform_data {
19 bool active_high_intr;
20};
21
22#endif
diff --git a/include/linux/iio/common/st_sensors.h b/include/linux/iio/common/st_sensors.h
index 96f51f0e0096..d8257ab60bac 100644
--- a/include/linux/iio/common/st_sensors.h
+++ b/include/linux/iio/common/st_sensors.h
@@ -47,6 +47,7 @@
47 .type = device_type, \ 47 .type = device_type, \
48 .modified = mod, \ 48 .modified = mod, \
49 .info_mask_separate = mask, \ 49 .info_mask_separate = mask, \
50 .info_mask_shared_by_all = BIT(IIO_CHAN_INFO_SAMP_FREQ), \
50 .scan_index = index, \ 51 .scan_index = index, \
51 .channel2 = ch2, \ 52 .channel2 = ch2, \
52 .address = addr, \ 53 .address = addr, \
@@ -59,11 +60,6 @@
59 }, \ 60 }, \
60} 61}
61 62
62#define ST_SENSOR_DEV_ATTR_SAMP_FREQ() \
63 IIO_DEV_ATTR_SAMP_FREQ(S_IWUSR | S_IRUGO, \
64 st_sensors_sysfs_get_sampling_frequency, \
65 st_sensors_sysfs_set_sampling_frequency)
66
67#define ST_SENSORS_DEV_ATTR_SAMP_FREQ_AVAIL() \ 63#define ST_SENSORS_DEV_ATTR_SAMP_FREQ_AVAIL() \
68 IIO_DEV_ATTR_SAMP_FREQ_AVAIL( \ 64 IIO_DEV_ATTR_SAMP_FREQ_AVAIL( \
69 st_sensors_sysfs_sampling_frequency_avail) 65 st_sensors_sysfs_sampling_frequency_avail)
@@ -285,12 +281,6 @@ int st_sensors_read_info_raw(struct iio_dev *indio_dev,
285int st_sensors_check_device_support(struct iio_dev *indio_dev, 281int st_sensors_check_device_support(struct iio_dev *indio_dev,
286 int num_sensors_list, const struct st_sensors *sensors); 282 int num_sensors_list, const struct st_sensors *sensors);
287 283
288ssize_t st_sensors_sysfs_get_sampling_frequency(struct device *dev,
289 struct device_attribute *attr, char *buf);
290
291ssize_t st_sensors_sysfs_set_sampling_frequency(struct device *dev,
292 struct device_attribute *attr, const char *buf, size_t size);
293
294ssize_t st_sensors_sysfs_sampling_frequency_avail(struct device *dev, 284ssize_t st_sensors_sysfs_sampling_frequency_avail(struct device *dev,
295 struct device_attribute *attr, char *buf); 285 struct device_attribute *attr, char *buf);
296 286
diff --git a/include/linux/iio/common/st_sensors_i2c.h b/include/linux/iio/common/st_sensors_i2c.h
index 67d845385ae2..1796af093368 100644
--- a/include/linux/iio/common/st_sensors_i2c.h
+++ b/include/linux/iio/common/st_sensors_i2c.h
@@ -13,8 +13,19 @@
13 13
14#include <linux/i2c.h> 14#include <linux/i2c.h>
15#include <linux/iio/common/st_sensors.h> 15#include <linux/iio/common/st_sensors.h>
16#include <linux/of.h>
16 17
17void st_sensors_i2c_configure(struct iio_dev *indio_dev, 18void st_sensors_i2c_configure(struct iio_dev *indio_dev,
18 struct i2c_client *client, struct st_sensor_data *sdata); 19 struct i2c_client *client, struct st_sensor_data *sdata);
19 20
21#ifdef CONFIG_OF
22void st_sensors_of_i2c_probe(struct i2c_client *client,
23 const struct of_device_id *match);
24#else
25static inline void st_sensors_of_i2c_probe(struct i2c_client *client,
26 const struct of_device_id *match)
27{
28}
29#endif
30
20#endif /* ST_SENSORS_I2C_H */ 31#endif /* ST_SENSORS_I2C_H */
diff --git a/include/linux/iio/imu/adis.h b/include/linux/iio/imu/adis.h
index b665dc7f017b..fa2d01ef8f55 100644
--- a/include/linux/iio/imu/adis.h
+++ b/include/linux/iio/imu/adis.h
@@ -157,13 +157,14 @@ int adis_single_conversion(struct iio_dev *indio_dev,
157 const struct iio_chan_spec *chan, unsigned int error_mask, 157 const struct iio_chan_spec *chan, unsigned int error_mask,
158 int *val); 158 int *val);
159 159
160#define ADIS_VOLTAGE_CHAN(addr, si, chan, name, bits) { \ 160#define ADIS_VOLTAGE_CHAN(addr, si, chan, name, info_all, bits) { \
161 .type = IIO_VOLTAGE, \ 161 .type = IIO_VOLTAGE, \
162 .indexed = 1, \ 162 .indexed = 1, \
163 .channel = (chan), \ 163 .channel = (chan), \
164 .extend_name = name, \ 164 .extend_name = name, \
165 .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \ 165 .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \
166 BIT(IIO_CHAN_INFO_SCALE), \ 166 BIT(IIO_CHAN_INFO_SCALE), \
167 .info_mask_shared_by_all = info_all, \
167 .address = (addr), \ 168 .address = (addr), \
168 .scan_index = (si), \ 169 .scan_index = (si), \
169 .scan_type = { \ 170 .scan_type = { \
@@ -174,19 +175,20 @@ int adis_single_conversion(struct iio_dev *indio_dev,
174 }, \ 175 }, \
175} 176}
176 177
177#define ADIS_SUPPLY_CHAN(addr, si, bits) \ 178#define ADIS_SUPPLY_CHAN(addr, si, info_all, bits) \
178 ADIS_VOLTAGE_CHAN(addr, si, 0, "supply", bits) 179 ADIS_VOLTAGE_CHAN(addr, si, 0, "supply", info_all, bits)
179 180
180#define ADIS_AUX_ADC_CHAN(addr, si, bits) \ 181#define ADIS_AUX_ADC_CHAN(addr, si, info_all, bits) \
181 ADIS_VOLTAGE_CHAN(addr, si, 1, NULL, bits) 182 ADIS_VOLTAGE_CHAN(addr, si, 1, NULL, info_all, bits)
182 183
183#define ADIS_TEMP_CHAN(addr, si, bits) { \ 184#define ADIS_TEMP_CHAN(addr, si, info_all, bits) { \
184 .type = IIO_TEMP, \ 185 .type = IIO_TEMP, \
185 .indexed = 1, \ 186 .indexed = 1, \
186 .channel = 0, \ 187 .channel = 0, \
187 .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \ 188 .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \
188 BIT(IIO_CHAN_INFO_SCALE) | \ 189 BIT(IIO_CHAN_INFO_SCALE) | \
189 BIT(IIO_CHAN_INFO_OFFSET), \ 190 BIT(IIO_CHAN_INFO_OFFSET), \
191 .info_mask_shared_by_all = info_all, \
190 .address = (addr), \ 192 .address = (addr), \
191 .scan_index = (si), \ 193 .scan_index = (si), \
192 .scan_type = { \ 194 .scan_type = { \
@@ -197,13 +199,14 @@ int adis_single_conversion(struct iio_dev *indio_dev,
197 }, \ 199 }, \
198} 200}
199 201
200#define ADIS_MOD_CHAN(_type, mod, addr, si, info_sep, bits) { \ 202#define ADIS_MOD_CHAN(_type, mod, addr, si, info_sep, info_all, bits) { \
201 .type = (_type), \ 203 .type = (_type), \
202 .modified = 1, \ 204 .modified = 1, \
203 .channel2 = IIO_MOD_ ## mod, \ 205 .channel2 = IIO_MOD_ ## mod, \
204 .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \ 206 .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \
205 info_sep, \ 207 info_sep, \
206 .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE), \ 208 .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE), \
209 .info_mask_shared_by_all = info_all, \
207 .address = (addr), \ 210 .address = (addr), \
208 .scan_index = (si), \ 211 .scan_index = (si), \
209 .scan_type = { \ 212 .scan_type = { \
@@ -214,17 +217,17 @@ int adis_single_conversion(struct iio_dev *indio_dev,
214 }, \ 217 }, \
215} 218}
216 219
217#define ADIS_ACCEL_CHAN(mod, addr, si, info_sep, bits) \ 220#define ADIS_ACCEL_CHAN(mod, addr, si, info_sep, info_all, bits) \
218 ADIS_MOD_CHAN(IIO_ACCEL, mod, addr, si, info_sep, bits) 221 ADIS_MOD_CHAN(IIO_ACCEL, mod, addr, si, info_sep, info_all, bits)
219 222
220#define ADIS_GYRO_CHAN(mod, addr, si, info_sep, bits) \ 223#define ADIS_GYRO_CHAN(mod, addr, si, info_sep, info_all, bits) \
221 ADIS_MOD_CHAN(IIO_ANGL_VEL, mod, addr, si, info_sep, bits) 224 ADIS_MOD_CHAN(IIO_ANGL_VEL, mod, addr, si, info_sep, info_all, bits)
222 225
223#define ADIS_INCLI_CHAN(mod, addr, si, info_sep, bits) \ 226#define ADIS_INCLI_CHAN(mod, addr, si, info_sep, info_all, bits) \
224 ADIS_MOD_CHAN(IIO_INCLI, mod, addr, si, info_sep, bits) 227 ADIS_MOD_CHAN(IIO_INCLI, mod, addr, si, info_sep, info_all, bits)
225 228
226#define ADIS_ROT_CHAN(mod, addr, si, info_sep, bits) \ 229#define ADIS_ROT_CHAN(mod, addr, si, info_sep, info_all, bits) \
227 ADIS_MOD_CHAN(IIO_ROT, mod, addr, si, info_sep, bits) 230 ADIS_MOD_CHAN(IIO_ROT, mod, addr, si, info_sep, info_all, bits)
228 231
229#ifdef CONFIG_IIO_ADIS_LIB_BUFFER 232#ifdef CONFIG_IIO_ADIS_LIB_BUFFER
230 233
diff --git a/include/linux/iio/trigger.h b/include/linux/iio/trigger.h
index 369cf2cd5144..4b79ffe7b188 100644
--- a/include/linux/iio/trigger.h
+++ b/include/linux/iio/trigger.h
@@ -129,12 +129,11 @@ void iio_trigger_unregister(struct iio_trigger *trig_info);
129/** 129/**
130 * iio_trigger_poll() - called on a trigger occurring 130 * iio_trigger_poll() - called on a trigger occurring
131 * @trig: trigger which occurred 131 * @trig: trigger which occurred
132 * @time: timestamp when trigger occurred
133 * 132 *
134 * Typically called in relevant hardware interrupt handler. 133 * Typically called in relevant hardware interrupt handler.
135 **/ 134 **/
136void iio_trigger_poll(struct iio_trigger *trig, s64 time); 135void iio_trigger_poll(struct iio_trigger *trig);
137void iio_trigger_poll_chained(struct iio_trigger *trig, s64 time); 136void iio_trigger_poll_chained(struct iio_trigger *trig);
138 137
139irqreturn_t iio_trigger_generic_data_rdy_poll(int irq, void *private); 138irqreturn_t iio_trigger_generic_data_rdy_poll(int irq, void *private);
140 139
diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h
index d480631eabc2..4a2af8adf874 100644
--- a/include/linux/iio/types.h
+++ b/include/linux/iio/types.h
@@ -56,6 +56,10 @@ enum iio_modifier {
56 IIO_MOD_QUATERNION, 56 IIO_MOD_QUATERNION,
57 IIO_MOD_TEMP_AMBIENT, 57 IIO_MOD_TEMP_AMBIENT,
58 IIO_MOD_TEMP_OBJECT, 58 IIO_MOD_TEMP_OBJECT,
59 IIO_MOD_NORTH_MAGN,
60 IIO_MOD_NORTH_TRUE,
61 IIO_MOD_NORTH_MAGN_TILT_COMP,
62 IIO_MOD_NORTH_TRUE_TILT_COMP
59}; 63};
60 64
61enum iio_event_type { 65enum iio_event_type {
@@ -70,6 +74,7 @@ enum iio_event_info {
70 IIO_EV_INFO_ENABLE, 74 IIO_EV_INFO_ENABLE,
71 IIO_EV_INFO_VALUE, 75 IIO_EV_INFO_VALUE,
72 IIO_EV_INFO_HYSTERESIS, 76 IIO_EV_INFO_HYSTERESIS,
77 IIO_EV_INFO_PERIOD,
73}; 78};
74 79
75enum iio_event_direction { 80enum iio_event_direction {
diff --git a/include/linux/platform_data/ad7291.h b/include/linux/platform_data/ad7291.h
new file mode 100644
index 000000000000..bbd89fa51188
--- /dev/null
+++ b/include/linux/platform_data/ad7291.h
@@ -0,0 +1,12 @@
1#ifndef __IIO_AD7291_H__
2#define __IIO_AD7291_H__
3
4/**
5 * struct ad7291_platform_data - AD7291 platform data
6 * @use_external_ref: Whether to use an external or internal reference voltage
7 */
8struct ad7291_platform_data {
9 bool use_external_ref;
10};
11
12#endif
diff --git a/include/linux/platform_data/dsp-omap.h b/include/linux/platform_data/dsp-omap.h
deleted file mode 100644
index 5927709b1908..000000000000
--- a/include/linux/platform_data/dsp-omap.h
+++ /dev/null
@@ -1,34 +0,0 @@
1#ifndef __OMAP_DSP_H__
2#define __OMAP_DSP_H__
3
4#include <linux/types.h>
5
6struct omap_dsp_platform_data {
7 void (*dsp_set_min_opp) (u8 opp_id);
8 u8 (*dsp_get_opp) (void);
9 void (*cpu_set_freq) (unsigned long f);
10 unsigned long (*cpu_get_freq) (void);
11 unsigned long mpu_speed[6];
12
13 /* functions to write and read PRCM registers */
14 void (*dsp_prm_write)(u32, s16 , u16);
15 u32 (*dsp_prm_read)(s16 , u16);
16 u32 (*dsp_prm_rmw_bits)(u32, u32, s16, s16);
17 void (*dsp_cm_write)(u32, s16 , u16);
18 u32 (*dsp_cm_read)(s16 , u16);
19 u32 (*dsp_cm_rmw_bits)(u32, u32, s16, s16);
20
21 void (*set_bootaddr)(u32);
22 void (*set_bootmode)(u8);
23
24 phys_addr_t phys_mempool_base;
25 phys_addr_t phys_mempool_size;
26};
27
28#if defined(CONFIG_TIDSPBRIDGE) || defined(CONFIG_TIDSPBRIDGE_MODULE)
29extern void omap_dsp_reserve_sdram_memblock(void);
30#else
31static inline void omap_dsp_reserve_sdram_memblock(void) { }
32#endif
33
34#endif