]> Pileus Git - ~andy/linux/blobdiff - drivers/staging/iio/chrdev.h
Merge branch 'iommu-for-tony' of git://github.com/ohadbc/omap-iommu into devel-fixes
[~andy/linux] / drivers / staging / iio / chrdev.h
index 4fcb99c816f91d618f18a6b331c7b2d6a91757b6..3e31ee6220edab7659371a6cd84473362c217edb 100644 (file)
@@ -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