Staging: hv: netvsc: Cleanup error code in rndis_filter_device_add()
[cascardo/linux.git] / drivers / staging / iio / iio_core.h
1 /* The industrial I/O core function defs.
2  *
3  * Copyright (c) 2008 Jonathan Cameron
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 as published by
7  * the Free Software Foundation.
8  *
9  * These definitions are meant for use only within the IIO core, not indvidual
10  * drivers.
11  */
12
13 /**
14  * iio_device_get_chrdev_minor() - get an unused minor number
15  **/
16 int iio_device_get_chrdev_minor(void);
17 void iio_device_free_chrdev_minor(int val);
18
19
20 /**
21  * iio_put() - internal module reference count reduce
22  **/
23 void iio_put(void);
24
25 /**
26  * iio_get() - internal module reference count increase
27  **/
28 void iio_get(void);
29
30 extern dev_t iio_devt;
31
32 int __iio_add_chan_devattr(const char *postfix,
33                            const char *group,
34                            struct iio_chan_spec const *chan,
35                            ssize_t (*func)(struct device *dev,
36                                            struct device_attribute *attr,
37                                            char *buf),
38                            ssize_t (*writefunc)(struct device *dev,
39                                                 struct device_attribute *attr,
40                                                 const char *buf,
41                                                 size_t len),
42                            int mask,
43                            bool generic,
44                            struct device *dev,
45                            struct list_head *attr_list);
46
47 /* Event interface flags */
48 #define IIO_BUSY_BIT_POS 1