diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2011-10-25 09:18:11 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-10-25 09:18:11 +0200 |
commit | 43a3beb6da994549ec28a9f31727b997a025f958 (patch) | |
tree | 9fea6f7e2abd5ba7ce4d5f725a8ceed0a4e0ab80 /drivers/staging/iio/iio_core.h | |
parent | c3b92c8787367a8bb53d57d9789b558f1295cc96 (diff) | |
parent | 68cf162a1af23c35db8e3b78659c99196c9882ff (diff) | |
download | op-kernel-dev-43a3beb6da994549ec28a9f31727b997a025f958.zip op-kernel-dev-43a3beb6da994549ec28a9f31727b997a025f958.tar.gz |
Merge branch 'staging-next' into Linux 3.1
This was done to resolve a conflict in the
drivers/staging/comedi/drivers/ni_labpc.c file that resolved a build
bugfix in Linus's tree with a "better" bugfix that was in the
staging-next tree that resolved the issue in a more complete manner.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/iio_core.h')
-rw-r--r-- | drivers/staging/iio/iio_core.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/drivers/staging/iio/iio_core.h b/drivers/staging/iio/iio_core.h new file mode 100644 index 0000000..36159e0 --- /dev/null +++ b/drivers/staging/iio/iio_core.h @@ -0,0 +1,63 @@ +/* The industrial I/O core function defs. + * + * Copyright (c) 2008 Jonathan Cameron + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + * + * These definitions are meant for use only within the IIO core, not individual + * drivers. + */ + +#ifndef _IIO_CORE_H_ +#define _IIO_CORE_H_ + +int __iio_add_chan_devattr(const char *postfix, + struct iio_chan_spec const *chan, + ssize_t (*func)(struct device *dev, + struct device_attribute *attr, + char *buf), + ssize_t (*writefunc)(struct device *dev, + struct device_attribute *attr, + const char *buf, + size_t len), + u64 mask, + bool generic, + struct device *dev, + struct list_head *attr_list); + +/* Event interface flags */ +#define IIO_BUSY_BIT_POS 1 + +#ifdef CONFIG_IIO_BUFFER +struct poll_table_struct; + +int iio_chrdev_buffer_open(struct iio_dev *indio_dev); +void iio_chrdev_buffer_release(struct iio_dev *indio_dev); + +unsigned int iio_buffer_poll(struct file *filp, + struct poll_table_struct *wait); +ssize_t iio_buffer_read_first_n_outer(struct file *filp, char __user *buf, + size_t n, loff_t *f_ps); + + +#define iio_buffer_poll_addr (&iio_buffer_poll) +#define iio_buffer_read_first_n_outer_addr (&iio_buffer_read_first_n_outer) + +#else + +static inline int iio_chrdev_buffer_open(struct iio_dev *indio_dev) +{ + return -EINVAL; +} + +static inline void iio_chrdev_buffer_release(struct iio_dev *indio_dev) +{} + +#define iio_buffer_poll_addr NULL +#define iio_buffer_read_first_n_outer_addr NULL + +#endif + +#endif |