Skip to content

Commit

Permalink
staging:iio:triggers. Add a reference get to the core for triggers.
Browse files Browse the repository at this point in the history
This is to do with dynamically allocated triggers and the need to ensure
the underlying structures don't go away when a consumer is using them.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Jonathan Cameron authored and Greg Kroah-Hartman committed Aug 24, 2011
1 parent 6f4ebab commit 5f9c035
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/staging/iio/industrialio-trigger.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
*/

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/idr.h>
#include <linux/err.h>
#include <linux/device.h>
Expand Down Expand Up @@ -478,6 +477,7 @@ struct iio_trigger *iio_allocate_trigger(const char *fmt, ...)
IRQ_NOPROBE);
}
iio_get();
get_device(&trig->dev);
}
return trig;
}
Expand All @@ -501,6 +501,9 @@ EXPORT_SYMBOL(iio_device_register_trigger_consumer);

int iio_device_unregister_trigger_consumer(struct iio_dev *dev_info)
{
/* Clean up and associated but not attached triggers references */
if (dev_info->trig)
iio_put_trigger(dev_info->trig);
sysfs_remove_group(&dev_info->dev.kobj,
&iio_trigger_consumer_attr_group);
return 0;
Expand Down

0 comments on commit 5f9c035

Please sign in to comment.