From 097017c37626a2f13eefdb3620986e715018c5cb Mon Sep 17 00:00:00 2001 From: Jonathan Cameron Date: Wed, 18 May 2011 14:42:21 +0100 Subject: [PATCH] --- yaml --- r: 249855 b: refs/heads/master c: 3b8ebfb47f0cacc82c88b6f886ad84d78d6fdd61 h: refs/heads/master i: 249853: 2b6a9b9ea7e15a3ea7afd8e0078d9f9c6840c85c 249851: 749dcb8c5766f57f2e93384e82a4eeac8ab78008 249847: 5eb429150cc08e46be58cf1116c82465a801676f 249839: 9e82401d2b2f69047b57c4c0cc146644d85fce4c 249823: 15e45f46b7b9b5e6a1ee20d4638c338a3f1f75e8 249791: efdca3c4116f37e3ca324d803ad259f43ef00444 249727: 2c2c4cdc841dc9b5fc78d78411a244fbb315be23 249599: c8671a147cfd70890c5352d55ca5b4663f87ca91 249343: bd5b9c42531d8b2415aa2fae85c3186407aada7d 248831: 9b1fade141dab63225fb3d45078dd77e175fdfef 247807: 3d0bcdca1244640f3c455c296e8068e97f4e01cd 245759: ce03e5cb338c4326b9d7ef0ee2b677d4aecb887a v: v3 --- [refs] | 2 +- trunk/drivers/staging/iio/chrdev.h | 8 +------- trunk/drivers/staging/iio/industrialio-core.c | 18 +++++++----------- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/[refs] b/[refs] index 1ac0893fb347..2a6ccb2607d3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d731aea081dc96b91be680c23b844f33aa4759e1 +refs/heads/master: 3b8ebfb47f0cacc82c88b6f886ad84d78d6fdd61 diff --git a/trunk/drivers/staging/iio/chrdev.h b/trunk/drivers/staging/iio/chrdev.h index 10491f0e179e..6523273d563a 100644 --- a/trunk/drivers/staging/iio/chrdev.h +++ b/trunk/drivers/staging/iio/chrdev.h @@ -60,24 +60,18 @@ struct iio_detected_event_list { * @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 list_head dev_attr_list; }; diff --git a/trunk/drivers/staging/iio/industrialio-core.c b/trunk/drivers/staging/iio/industrialio-core.c index 49560e4c95ae..b5b658c9b8ed 100644 --- a/trunk/drivers/staging/iio/industrialio-core.c +++ b/trunk/drivers/staging/iio/industrialio-core.c @@ -112,7 +112,7 @@ int iio_push_event(struct iio_dev *dev_info, ev->ev.id = ev_code; ev->ev.timestamp = timestamp; - list_add_tail(&ev->list, &ev_int->det_events.list); + list_add_tail(&ev->list, &ev_int->det_events); ev_int->current_events++; mutex_unlock(&ev_int->event_list_lock); wake_up_interruptible(&ev_int->wait); @@ -146,7 +146,7 @@ static ssize_t iio_event_chrdev_read(struct file *filep, size_t len; mutex_lock(&ev_int->event_list_lock); - if (list_empty(&ev_int->det_events.list)) { + if (list_empty(&ev_int->det_events)) { if (filep->f_flags & O_NONBLOCK) { ret = -EAGAIN; goto error_mutex_unlock; @@ -155,14 +155,14 @@ static ssize_t iio_event_chrdev_read(struct file *filep, /* Blocking on device; waiting for something to be there */ ret = wait_event_interruptible(ev_int->wait, !list_empty(&ev_int - ->det_events.list)); + ->det_events)); if (ret) goto error_ret; /* Single access device so no one else can get the data */ mutex_lock(&ev_int->event_list_lock); } - el = list_first_entry(&ev_int->det_events.list, + el = list_first_entry(&ev_int->det_events, struct iio_detected_event_list, list); len = sizeof el->ev; @@ -197,7 +197,7 @@ static int iio_event_chrdev_release(struct inode *inode, struct file *filep) * clear out any awaiting events. The mask will prevent * any new __iio_push_event calls running. */ - list_for_each_entry_safe(el, t, &ev_int->det_events.list, list) { + list_for_each_entry_safe(el, t, &ev_int->det_events, list) { list_del(&el->list); kfree(el); } @@ -300,7 +300,7 @@ static int iio_setup_ev_int(struct iio_event_interface *ev_int, /* discussion point - make this variable? */ ev_int->max_events = 10; ev_int->current_events = 0; - INIT_LIST_HEAD(&ev_int->det_events.list); + INIT_LIST_HEAD(&ev_int->det_events); init_waitqueue_head(&ev_int->wait); ev_int->handler.private = ev_int; ev_int->handler.flags = 0; @@ -1041,17 +1041,13 @@ static int iio_device_register_eventset(struct iio_dev *dev_info) } for (i = 0; i < dev_info->num_interrupt_lines; i++) { - dev_info->event_interfaces[i].owner = dev_info->driver_module; - snprintf(dev_info->event_interfaces[i]._name, 20, "%s:event%d", dev_name(&dev_info->dev), i); ret = iio_setup_ev_int(&dev_info->event_interfaces[i], - (const char *)(dev_info - ->event_interfaces[i] - ._name), + dev_info->event_interfaces[i]._name, dev_info->driver_module, &dev_info->dev); if (ret) {