2 * Copyright (C) 2014 Intel Corporation.
5 #ifndef __ENUMERATION_H__
6 #define __ENUMERATION_H__
11 * Macros associating iio sysfs entries to to sensor types ; see
12 * linux/kernel/drivers/iio/industrialio-core.c and
13 * hardware/libhardware/include/hardware/sensor.h
16 #define DECLARE_VOID_CHANNEL(tag) \
25 #define DECLARE_CHANNEL(tag, spacer, name) \
27 "in_"tag spacer name"_en", \
28 "in_"tag spacer name"_type", \
29 "in_"tag spacer name"_index", \
30 "in_"tag spacer name"_raw", \
31 "in_"tag spacer name"_input", \
32 "in_"tag spacer name"_scale", \
34 #define DECLARE_NAMED_CHANNEL(tag, name) DECLARE_CHANNEL(tag, "_", name)
36 #define DECLARE_GENERIC_CHANNEL(tag) DECLARE_CHANNEL(tag, "", "")
38 #define DECLARE_EVENT(tag, spacer1, name, spacer2, type, spacer3, dir) \
40 "in_"tag spacer1 name spacer2 type spacer3 dir"_en", \
41 "in_"tag spacer1 name spacer2 type spacer3 dir"_value", \
43 #define DECLARE_GENERIC_EVENT(tag, name, type, dir) \
44 DECLARE_EVENT(tag, "_", name, "_", type, "_", dir)
45 #define DECLARE_NAMED_EVENT(tag, name) \
46 DECLARE_EVENT(tag, "_", name, "","","","")
48 int get_sensors_list (struct sensors_module_t* module,
49 struct sensor_t const** list);
51 void enumerate_sensors (void);
52 void delete_enumeration_data (void);