summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-03-29 08:37:58 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-03-29 08:37:58 -0700
commitf7046bf08549a39dfc8365f8013e6ab43f42995a (patch)
treef28057b1f462a21a1398fb078b0b72a754623999 /include/linux
parent698f57f48a3b0b2caad20c560b2ba44932c2c76f (diff)
parent2b684024b59c4b1a1440e8c7499b7060a22d1ec1 (diff)
Merge tag 'iio-for-3.10b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes: Second round of IIO cleanups for the 3.10 cycle 1) A nice little removal of the unwanted private pointer from struct iio_trigger. 2) Some clean up of the ad799x driver. 3) Couple of cleanups for the exynos_adc driver and some documentation. 4) Move the mxs-lradc initialization a little earlier in the driver to avoid wiping out the configuration just after setting it. A nice small set of worthy bits and bobs.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/iio/trigger.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/include/linux/iio/trigger.h b/include/linux/iio/trigger.h
index c66e0a96f6e8..3869c525b052 100644
--- a/include/linux/iio/trigger.h
+++ b/include/linux/iio/trigger.h
@@ -44,7 +44,6 @@ struct iio_trigger_ops {
* @id: [INTERN] unique id number
* @name: [DRIVER] unique name
* @dev: [DRIVER] associated device (if relevant)
- * @private_data: [DRIVER] device specific data
* @list: [INTERN] used in maintenance of global trigger list
* @alloc_list: [DRIVER] used for driver specific trigger list
* @use_count: use count for the trigger
@@ -60,7 +59,6 @@ struct iio_trigger {
const char *name;
struct device dev;
- void *private_data;
struct list_head list;
struct list_head alloc_list;
int use_count;
@@ -92,6 +90,30 @@ static inline void iio_trigger_get(struct iio_trigger *trig)
}
/**
+ * iio_device_set_drvdata() - Set trigger driver data
+ * @trig: IIO trigger structure
+ * @data: Driver specific data
+ *
+ * Allows to attach an arbitrary pointer to an IIO trigger, which can later be
+ * retrieved by iio_trigger_get_drvdata().
+ */
+static inline void iio_trigger_set_drvdata(struct iio_trigger *trig, void *data)
+{
+ dev_set_drvdata(&trig->dev, data);
+}
+
+/**
+ * iio_trigger_get_drvdata() - Get trigger driver data
+ * @trig: IIO trigger structure
+ *
+ * Returns the data previously set with iio_trigger_set_drvdata()
+ */
+static inline void *iio_trigger_get_drvdata(struct iio_trigger *trig)
+{
+ return dev_get_drvdata(&trig->dev);
+}
+
+/**
* iio_trigger_register() - register a trigger with the IIO core
* @trig_info: trigger to be registered
**/