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: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
a710cc77db
commit
7ae8cf6275
|
@ -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 {
|
||||||
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 @@
|
||||||
#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)
|
||||||
#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 @@
|
||||||
#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)
|
||||||
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 @@
|
||||||
#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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue