diff options
Diffstat (limited to 'drivers/staging/iio/chrdev.h')
-rw-r--r-- | drivers/staging/iio/chrdev.h | 44 |
1 files changed, 2 insertions, 42 deletions
diff --git a/drivers/staging/iio/chrdev.h b/drivers/staging/iio/chrdev.h index 4fcb99c816f9..3e31ee6220ed 100644 --- a/drivers/staging/iio/chrdev.h +++ b/drivers/staging/iio/chrdev.h @@ -45,23 +45,10 @@ struct iio_event_data { * struct iio_detected_event_list - list element for events that have occurred * @list: linked list header * @ev: the event itself - * @shared_pointer: used when the event is shared - i.e. can be escallated - * on demand (eg ring buffer 50%->100% full) */ struct iio_detected_event_list { struct list_head list; struct iio_event_data ev; - struct iio_shared_ev_pointer *shared_pointer; -}; -/** - * struct iio_shared_ev_pointer - allows shared events to identify if currently - * in the detected event list - * @ev_p: pointer to detected event list element (null if not in list) - * @lock: protect this element to prevent simultaneous edit and remove - */ -struct iio_shared_ev_pointer { - struct iio_detected_event_list *ev_p; - spinlock_t lock; }; /** @@ -73,43 +60,16 @@ struct iio_shared_ev_pointer { * @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 - * @owner: ensure the driver module owns the file, not iio - * @private: driver specific data - * @_name: used internally to store the sysfs name for minor id - * attribute - * @_attrname: the event interface's attribute name */ struct iio_event_interface { struct device dev; struct iio_handler handler; wait_queue_head_t wait; struct mutex event_list_lock; - struct iio_detected_event_list det_events; + struct list_head det_events; int max_events; int current_events; - struct module *owner; - void *private; - char _name[35]; - char _attrname[20]; -}; - -/** - * struct iio_event_handler_list - element in list of handlers for events - * @list: list header - * @refcount: as the handler may be shared between multiple device - * side events, reference counting ensures clean removal - * @exist_lock: prevents race conditions related to refcount usage. - * @handler: event handler function - called on event if this - * event_handler is enabled. - * - * Each device has one list of these per interrupt line. - **/ -struct iio_event_handler_list { - struct list_head list; - int refcount; - struct mutex exist_lock; - int (*handler)(struct iio_dev *dev_info, int index, s64 timestamp, - int no_test); + struct list_head dev_attr_list; }; #endif |