aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Cameron <jic23@cam.ac.uk>2011-05-18 09:42:21 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-05-19 19:15:02 -0400
commit3b8ebfb47f0cacc82c88b6f886ad84d78d6fdd61 (patch)
tree19f2692214e39d20c145b2d189fb5fc56f301c0f
parentd731aea081dc96b91be680c23b844f33aa4759e1 (diff)
staging:iio: iio_event_interfaces - clean out unused elements
Also removed const casting of _name that was unnecessary. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/iio/chrdev.h8
-rw-r--r--drivers/staging/iio/industrialio-core.c18
2 files changed, 8 insertions, 18 deletions
diff --git a/drivers/staging/iio/chrdev.h b/drivers/staging/iio/chrdev.h
index 10491f0e179e..6523273d563a 100644
--- a/drivers/staging/iio/chrdev.h
+++ b/drivers/staging/iio/chrdev.h
@@ -60,24 +60,18 @@ struct iio_detected_event_list {
60 * @det_events: list of detected events 60 * @det_events: list of detected events
61 * @max_events: maximum number of events before new ones are dropped 61 * @max_events: maximum number of events before new ones are dropped
62 * @current_events: number of events in detected list 62 * @current_events: number of events in detected list
63 * @owner: ensure the driver module owns the file, not iio
64 * @private: driver specific data
65 * @_name: used internally to store the sysfs name for minor id 63 * @_name: used internally to store the sysfs name for minor id
66 * attribute 64 * attribute
67 * @_attrname: the event interface's attribute name
68 */ 65 */
69struct iio_event_interface { 66struct iio_event_interface {
70 struct device dev; 67 struct device dev;
71 struct iio_handler handler; 68 struct iio_handler handler;
72 wait_queue_head_t wait; 69 wait_queue_head_t wait;
73 struct mutex event_list_lock; 70 struct mutex event_list_lock;
74 struct iio_detected_event_list det_events; 71 struct list_head det_events;
75 int max_events; 72 int max_events;
76 int current_events; 73 int current_events;
77 struct module *owner;
78 void *private;
79 char _name[35]; 74 char _name[35];
80 char _attrname[20];
81 struct list_head dev_attr_list; 75 struct list_head dev_attr_list;
82}; 76};
83 77
diff --git a/drivers/staging/iio/industrialio-core.c b/drivers/staging/iio/industrialio-core.c
index 49560e4c95ae..b5b658c9b8ed 100644
--- a/drivers/staging/iio/industrialio-core.c
+++ b/drivers/staging/iio/industrialio-core.c
@@ -112,7 +112,7 @@ int iio_push_event(struct iio_dev *dev_info,
112 ev->ev.id = ev_code; 112 ev->ev.id = ev_code;
113 ev->ev.timestamp = timestamp; 113 ev->ev.timestamp = timestamp;
114 114
115 list_add_tail(&ev->list, &ev_int->det_events.list); 115 list_add_tail(&ev->list, &ev_int->det_events);
116 ev_int->current_events++; 116 ev_int->current_events++;
117 mutex_unlock(&ev_int->event_list_lock); 117 mutex_unlock(&ev_int->event_list_lock);
118 wake_up_interruptible(&ev_int->wait); 118 wake_up_interruptible(&ev_int->wait);
@@ -146,7 +146,7 @@ static ssize_t iio_event_chrdev_read(struct file *filep,
146 size_t len; 146 size_t len;
147 147
148 mutex_lock(&ev_int->event_list_lock); 148 mutex_lock(&ev_int->event_list_lock);
149 if (list_empty(&ev_int->det_events.list)) { 149 if (list_empty(&ev_int->det_events)) {
150 if (filep->f_flags & O_NONBLOCK) { 150 if (filep->f_flags & O_NONBLOCK) {
151 ret = -EAGAIN; 151 ret = -EAGAIN;
152 goto error_mutex_unlock; 152 goto error_mutex_unlock;
@@ -155,14 +155,14 @@ static ssize_t iio_event_chrdev_read(struct file *filep,
155 /* Blocking on device; waiting for something to be there */ 155 /* Blocking on device; waiting for something to be there */
156 ret = wait_event_interruptible(ev_int->wait, 156 ret = wait_event_interruptible(ev_int->wait,
157 !list_empty(&ev_int 157 !list_empty(&ev_int
158 ->det_events.list)); 158 ->det_events));
159 if (ret) 159 if (ret)
160 goto error_ret; 160 goto error_ret;
161 /* Single access device so no one else can get the data */ 161 /* Single access device so no one else can get the data */
162 mutex_lock(&ev_int->event_list_lock); 162 mutex_lock(&ev_int->event_list_lock);
163 } 163 }
164 164
165 el = list_first_entry(&ev_int->det_events.list, 165 el = list_first_entry(&ev_int->det_events,
166 struct iio_detected_event_list, 166 struct iio_detected_event_list,
167 list); 167 list);
168 len = sizeof el->ev; 168 len = sizeof el->ev;
@@ -197,7 +197,7 @@ static int iio_event_chrdev_release(struct inode *inode, struct file *filep)
197 * clear out any awaiting events. The mask will prevent 197 * clear out any awaiting events. The mask will prevent
198 * any new __iio_push_event calls running. 198 * any new __iio_push_event calls running.
199 */ 199 */
200 list_for_each_entry_safe(el, t, &ev_int->det_events.list, list) { 200 list_for_each_entry_safe(el, t, &ev_int->det_events, list) {
201 list_del(&el->list); 201 list_del(&el->list);
202 kfree(el); 202 kfree(el);
203 } 203 }
@@ -300,7 +300,7 @@ static int iio_setup_ev_int(struct iio_event_interface *ev_int,
300 /* discussion point - make this variable? */ 300 /* discussion point - make this variable? */
301 ev_int->max_events = 10; 301 ev_int->max_events = 10;
302 ev_int->current_events = 0; 302 ev_int->current_events = 0;
303 INIT_LIST_HEAD(&ev_int->det_events.list); 303 INIT_LIST_HEAD(&ev_int->det_events);
304 init_waitqueue_head(&ev_int->wait); 304 init_waitqueue_head(&ev_int->wait);
305 ev_int->handler.private = ev_int; 305 ev_int->handler.private = ev_int;
306 ev_int->handler.flags = 0; 306 ev_int->handler.flags = 0;
@@ -1041,17 +1041,13 @@ static int iio_device_register_eventset(struct iio_dev *dev_info)
1041 } 1041 }
1042 1042
1043 for (i = 0; i < dev_info->num_interrupt_lines; i++) { 1043 for (i = 0; i < dev_info->num_interrupt_lines; i++) {
1044 dev_info->event_interfaces[i].owner = dev_info->driver_module;
1045
1046 snprintf(dev_info->event_interfaces[i]._name, 20, 1044 snprintf(dev_info->event_interfaces[i]._name, 20,
1047 "%s:event%d", 1045 "%s:event%d",
1048 dev_name(&dev_info->dev), 1046 dev_name(&dev_info->dev),
1049 i); 1047 i);
1050 1048
1051 ret = iio_setup_ev_int(&dev_info->event_interfaces[i], 1049 ret = iio_setup_ev_int(&dev_info->event_interfaces[i],
1052 (const char *)(dev_info 1050 dev_info->event_interfaces[i]._name,
1053 ->event_interfaces[i]
1054 ._name),
1055 dev_info->driver_module, 1051 dev_info->driver_module,
1056 &dev_info->dev); 1052 &dev_info->dev);
1057 if (ret) { 1053 if (ret) {