Commit 7ae8cf62 authored by Jonathan Cameron's avatar Jonathan Cameron Committed by Greg Kroah-Hartman

staging: iio: chrdev.h rationalization.

Push some functions out of header and include this where it is needed
in other headers only.
Signed-off-by: default avatarJonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent a710cc77
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#ifndef _IIO_CHRDEV_H_ #ifndef _IIO_CHRDEV_H_
#define _IIO_CHRDEV_H_ #define _IIO_CHRDEV_H_
struct iio_dev;
/** /**
* struct iio_handler - Structure used to specify file operations * struct iio_handler - Structure used to specify file operations
...@@ -41,35 +40,4 @@ struct iio_event_data { ...@@ -41,35 +40,4 @@ struct iio_event_data {
s64 timestamp; s64 timestamp;
}; };
/**
* struct iio_detected_event_list - list element for events that have occurred
* @list: linked list header
* @ev: the event itself
*/
struct iio_detected_event_list {
struct list_head list;
struct iio_event_data ev;
};
/**
* struct iio_event_interface - chrdev interface for an event line
* @dev: device assocated with event interface
* @handler: fileoperations and related control for the chrdev
* @wait: wait queue to allow blocking reads of events
* @event_list_lock: mutex to protect the list of detected events
* @det_events: list of detected events
* @max_events: maximum number of events before new ones are dropped
* @current_events: number of events in detected list
*/
struct iio_event_interface {
struct device dev;
struct iio_handler handler;
wait_queue_head_t wait;
struct mutex event_list_lock;
struct list_head det_events;
int max_events;
int current_events;
struct list_head dev_attr_list;
};
#endif #endif
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include <linux/cdev.h> #include <linux/cdev.h>
#include <linux/irq.h> #include <linux/irq.h>
#include "sysfs.h" #include "sysfs.h"
#include "chrdev.h"
/* IIO TODO LIST */ /* IIO TODO LIST */
/* /*
...@@ -178,6 +177,7 @@ static inline s64 iio_get_time_ns(void) ...@@ -178,6 +177,7 @@ static inline s64 iio_get_time_ns(void)
#define IIO_VAL_INT_PLUS_NANO 3 #define IIO_VAL_INT_PLUS_NANO 3
struct iio_trigger; /* forward declaration */ struct iio_trigger; /* forward declaration */
struct iio_dev;
/** /**
* struct iio_info - constant information about device * struct iio_info - constant information about device
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include "iio.h" #include "iio.h"
#include "iio_core.h" #include "iio_core.h"
#include "iio_core_trigger.h" #include "iio_core_trigger.h"
#include "chrdev.h"
#define IIO_ID_PREFIX "device" #define IIO_ID_PREFIX "device"
#define IIO_ID_FORMAT IIO_ID_PREFIX "%d" #define IIO_ID_FORMAT IIO_ID_PREFIX "%d"
...@@ -117,6 +118,37 @@ static void iio_free_ida_val(struct ida *this_ida, int id) ...@@ -117,6 +118,37 @@ static void iio_free_ida_val(struct ida *this_ida, int id)
spin_unlock(&iio_ida_lock); spin_unlock(&iio_ida_lock);
} }
/**
* struct iio_detected_event_list - list element for events that have occurred
* @list: linked list header
* @ev: the event itself
*/
struct iio_detected_event_list {
struct list_head list;
struct iio_event_data ev;
};
/**
* struct iio_event_interface - chrdev interface for an event line
* @dev: device assocated with event interface
* @handler: fileoperations and related control for the chrdev
* @wait: wait queue to allow blocking reads of events
* @event_list_lock: mutex to protect the list of detected events
* @det_events: list of detected events
* @max_events: maximum number of events before new ones are dropped
* @current_events: number of events in detected list
*/
struct iio_event_interface {
struct device dev;
struct iio_handler handler;
wait_queue_head_t wait;
struct mutex event_list_lock;
struct list_head det_events;
int max_events;
int current_events;
struct list_head dev_attr_list;
};
int iio_push_event(struct iio_dev *dev_info, int iio_push_event(struct iio_dev *dev_info,
int ev_line, int ev_line,
int ev_code, int ev_code,
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#ifndef _IIO_RING_GENERIC_H_ #ifndef _IIO_RING_GENERIC_H_
#define _IIO_RING_GENERIC_H_ #define _IIO_RING_GENERIC_H_
#include "iio.h" #include "iio.h"
#include "chrdev.h"
#ifdef CONFIG_IIO_RING_BUFFER #ifdef CONFIG_IIO_RING_BUFFER
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment