diff options
author | Jonathan Cameron <jic23@cam.ac.uk> | 2011-05-18 14:42:11 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-05-19 16:15:00 -0700 |
commit | 1f785681a87068f123d3e23da13b2c55ab4f93ac (patch) | |
tree | 885195dc260626faa37bd1fa8b766fb736b24c1c /drivers/staging/iio/industrialio-trigger.c | |
parent | 586d15255dd529be94253b2d4bbb9f40ef680c1a (diff) |
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.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/staging/iio/industrialio-trigger.c b/drivers/staging/iio/industrialio-trigger.c index dd762f053850..86d026b2ec31 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--; |