summaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio/industrialio-trigger.c
diff options
context:
space:
mode:
authorJonathan Cameron <jic23@cam.ac.uk>2011-05-18 14:42:11 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-05-19 16:15:00 -0700
commit1f785681a87068f123d3e23da13b2c55ab4f93ac (patch)
tree885195dc260626faa37bd1fa8b766fb736b24c1c /drivers/staging/iio/industrialio-trigger.c
parent586d15255dd529be94253b2d4bbb9f40ef680c1a (diff)
downloadop-kernel-dev-1f785681a87068f123d3e23da13b2c55ab4f93ac.zip
op-kernel-dev-1f785681a87068f123d3e23da13b2c55ab4f93ac.tar.gz
staging:iio:trigger sysfs userspace trigger rework.
Awaiting comments on using the nested_irq_trick so that may change. Moves away from platform device to sysfs controlled creation and removal of these triggers. Fix double free of name on trigger allocation failure thanks to Michael Hennerich. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Reviewed-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/industrialio-trigger.c')
-rw-r--r--drivers/staging/iio/industrialio-trigger.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/staging/iio/industrialio-trigger.c b/drivers/staging/iio/industrialio-trigger.c
index dd762f0..86d026b 100644
--- a/drivers/staging/iio/industrialio-trigger.c
+++ b/drivers/staging/iio/industrialio-trigger.c
@@ -181,6 +181,19 @@ irqreturn_t iio_trigger_generic_data_rdy_poll(int irq, void *private)
}
EXPORT_SYMBOL(iio_trigger_generic_data_rdy_poll);
+void iio_trigger_poll_chained(struct iio_trigger *trig, s64 time)
+{
+ int i;
+ if (!trig->use_count) {
+ for (i = 0; i < CONFIG_IIO_CONSUMERS_PER_TRIGGER; i++)
+ if (trig->subirqs[i].enabled) {
+ trig->use_count++;
+ handle_nested_irq(trig->subirq_base + i);
+ }
+ }
+}
+EXPORT_SYMBOL(iio_trigger_poll_chained);
+
void iio_trigger_notify_done(struct iio_trigger *trig)
{
trig->use_count--;
OpenPOWER on IntegriCloud