All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] blue part 4: IIO general cleanup
@ 2011-07-25 13:10 Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 1/8] staging:iio:core flatten convenience function that only has one user Jonathan Cameron
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Jonathan Cameron @ 2011-07-25 13:10 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron

Nothing overwhelming in here, but all sensible (I think) bits and bobs.

Some are necessary precursors for following series, but not explicitly
relevant to them.

Thanks,

Jonathan

Jonathan Cameron (8):
  staging:iio:core flatten convenience function that only has one user.
  staging:iio:core squash trivial wrappers and use ida allocation func.
  staging:iio:trigger core. Trivial code cleanups.
  staging:iio: Introduce iio_core.h and move all core only stuff out of
    iio.h.
  staging:iio:sysfs cleanout header for unused definitions.
  staging:iio:events: use IIO_<TYPE> and IIO_MOD_<> instead of
    IIO_EV_CLASS_<TYPE> etc
  staging:iio:trigger push functions that don't need to be generaly
    available down into the core.
  staging:iio:kfifo buffer - push structure definition down into
    implementation.

 drivers/staging/iio/accel/lis3l02dq_core.c |   24 +++---
 drivers/staging/iio/accel/sca3000_core.c   |   18 ++--
 drivers/staging/iio/adc/ad7150.c           |    8 +-
 drivers/staging/iio/adc/ad7816.c           |    2 +-
 drivers/staging/iio/adc/ad799x_core.c      |    4 +-
 drivers/staging/iio/adc/adt75.c            |    2 +-
 drivers/staging/iio/adc/max1363_core.c     |   24 ++---
 drivers/staging/iio/dac/ad5504.c           |    2 +-
 drivers/staging/iio/iio.h                  |   69 +--------------
 drivers/staging/iio/iio_core.h             |   48 ++++++++++
 drivers/staging/iio/iio_core_trigger.h     |    5 +-
 drivers/staging/iio/industrialio-core.c    |  138 +++++++++++-----------------
 drivers/staging/iio/industrialio-ring.c    |    1 +
 drivers/staging/iio/industrialio-trigger.c |   53 +++++++----
 drivers/staging/iio/kfifo_buf.c            |    8 ++
 drivers/staging/iio/kfifo_buf.h            |    8 --
 drivers/staging/iio/light/tsl2563.c        |    2 +-
 drivers/staging/iio/sysfs.h                |   71 +--------------
 drivers/staging/iio/trigger.h              |   39 --------
 19 files changed, 186 insertions(+), 340 deletions(-)
 create mode 100644 drivers/staging/iio/iio_core.h

-- 
1.7.3.4

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/8] staging:iio:core flatten convenience function that only has one user.
  2011-07-25 13:10 [PATCH 0/2] blue part 4: IIO general cleanup Jonathan Cameron
@ 2011-07-25 13:10 ` Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 2/8] staging:iio:core squash trivial wrappers and use ida allocation func Jonathan Cameron
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Jonathan Cameron @ 2011-07-25 13:10 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron

Fix trivial wrong index (no effect on any current drivers).

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
---
 drivers/staging/iio/industrialio-core.c |   22 +++++++---------------
 1 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/iio/industrialio-core.c b/drivers/staging/iio/industrialio-core.c
index 7d15bce..d0e039b 100644
--- a/drivers/staging/iio/industrialio-core.c
+++ b/drivers/staging/iio/industrialio-core.c
@@ -991,18 +991,17 @@ error_ret:
 	return ret;
 }
 
-static inline void __iio_remove_all_event_sysfs(struct iio_dev *dev_info,
-						const char *groupname,
-						int num)
+static inline void __iio_remove_event_config_attrs(struct iio_dev *dev_info,
+						  int i)
 {
 	struct iio_dev_attr *p, *n;
 	list_for_each_entry_safe(p, n,
-				 &dev_info->event_interfaces[num].
+				 &dev_info->event_interfaces[i].
 				 dev_attr_list, l) {
 		sysfs_remove_file_from_group(&dev_info
-					     ->event_interfaces[num].dev.kobj,
+					     ->event_interfaces[i].dev.kobj,
 					     &p->dev_attr.attr,
-					     groupname);
+					     NULL);
 		kfree(p->dev_attr.attr.name);
 		kfree(p);
 	}
@@ -1012,7 +1011,7 @@ static inline int __iio_add_event_config_attrs(struct iio_dev *dev_info, int i)
 {
 	int j;
 	int ret;
-	INIT_LIST_HEAD(&dev_info->event_interfaces[0].dev_attr_list);
+	INIT_LIST_HEAD(&dev_info->event_interfaces[i].dev_attr_list);
 	/* Dynically created from the channels array */
 	if (dev_info->channels) {
 		for (j = 0; j < dev_info->num_channels; j++) {
@@ -1026,18 +1025,11 @@ static inline int __iio_add_event_config_attrs(struct iio_dev *dev_info, int i)
 	return 0;
 
 error_clear_attrs:
-	__iio_remove_all_event_sysfs(dev_info, NULL, i);
+	__iio_remove_event_config_attrs(dev_info, i);
 
 	return ret;
 }
 
-static inline int __iio_remove_event_config_attrs(struct iio_dev *dev_info,
-						  int i)
-{
-	__iio_remove_all_event_sysfs(dev_info, NULL, i);
-	return 0;
-}
-
 static int iio_device_register_eventset(struct iio_dev *dev_info)
 {
 	int ret = 0, i, j;
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/8] staging:iio:core squash trivial wrappers and use ida allocation func.
  2011-07-25 13:10 [PATCH 0/2] blue part 4: IIO general cleanup Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 1/8] staging:iio:core flatten convenience function that only has one user Jonathan Cameron
@ 2011-07-25 13:10 ` Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 3/8] staging:iio:trigger core. Trivial code cleanups Jonathan Cameron
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Jonathan Cameron @ 2011-07-25 13:10 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron

Reorder to remove need for definitions currently in header.
Remove ida related utility function defs from header.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
---
 drivers/staging/iio/iio.h               |    4 -
 drivers/staging/iio/industrialio-core.c |  108 ++++++++++++-------------------
 2 files changed, 42 insertions(+), 70 deletions(-)

diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h
index 2a8c8e2..07f88aa 100644
--- a/drivers/staging/iio/iio.h
+++ b/drivers/staging/iio/iio.h
@@ -424,8 +424,4 @@ static inline bool iio_ring_enabled(struct iio_dev *dev_info)
 		   | INDIO_RING_HARDWARE_BUFFER);
 };
 
-struct ida;
-
-int iio_get_new_ida_val(struct ida *this_ida);
-void iio_free_ida_val(struct ida *this_ida, int id);
 #endif /* _INDUSTRIAL_IO_H_ */
diff --git a/drivers/staging/iio/industrialio-core.c b/drivers/staging/iio/industrialio-core.c
index d0e039b..b131a58 100644
--- a/drivers/staging/iio/industrialio-core.c
+++ b/drivers/staging/iio/industrialio-core.c
@@ -89,6 +89,36 @@ static const char * const iio_chan_info_postfix[] = {
 	= "quadrature_correction_raw",
 };
 
+/* Return a negative errno on failure */
+int iio_get_new_ida_val(struct ida *this_ida)
+{
+	int ret;
+	int val;
+
+ida_again:
+	if (unlikely(ida_pre_get(this_ida, GFP_KERNEL) == 0))
+		return -ENOMEM;
+
+	spin_lock(&iio_ida_lock);
+	ret = ida_get_new(this_ida, &val);
+	spin_unlock(&iio_ida_lock);
+	if (unlikely(ret == -EAGAIN))
+		goto ida_again;
+	else if (unlikely(ret))
+		return ret;
+
+	return val;
+}
+EXPORT_SYMBOL(iio_get_new_ida_val);
+
+void iio_free_ida_val(struct ida *this_ida, int id)
+{
+	spin_lock(&iio_ida_lock);
+	ida_remove(this_ida, id);
+	spin_unlock(&iio_ida_lock);
+}
+EXPORT_SYMBOL(iio_free_ida_val);
+
 int iio_push_event(struct iio_dev *dev_info,
 		   int ev_line,
 		   int ev_code,
@@ -248,28 +278,18 @@ static struct device_type iio_event_type = {
 
 int iio_device_get_chrdev_minor(void)
 {
-	int ret, val;
+	int ret;
 
-ida_again:
-	if (unlikely(ida_pre_get(&iio_chrdev_ida, GFP_KERNEL) == 0))
-		return -ENOMEM;
-	spin_lock(&iio_ida_lock);
-	ret = ida_get_new(&iio_chrdev_ida, &val);
-	spin_unlock(&iio_ida_lock);
-	if (unlikely(ret == -EAGAIN))
-		goto ida_again;
-	else if (unlikely(ret))
+	ret = iio_get_new_ida_val(&iio_chrdev_ida);
+	if (ret < IIO_DEV_MAX) /* both errors and valid */
 		return ret;
-	if (val > IIO_DEV_MAX)
+	else
 		return -ENOMEM;
-	return val;
 }
 
 void iio_device_free_chrdev_minor(int val)
 {
-	spin_lock(&iio_ida_lock);
-	ida_remove(&iio_chrdev_ida, val);
-	spin_unlock(&iio_ida_lock);
+	iio_free_ida_val(&iio_chrdev_ida, val);
 }
 
 static int iio_setup_ev_int(struct iio_event_interface *ev_int,
@@ -331,24 +351,6 @@ static void iio_free_ev_int(struct iio_event_interface *ev_int)
 	put_device(&ev_int->dev);
 }
 
-static int __init iio_dev_init(void)
-{
-	int err;
-
-	err = alloc_chrdev_region(&iio_devt, 0, IIO_DEV_MAX, "iio");
-	if (err < 0)
-		printk(KERN_ERR "%s: failed to allocate char dev region\n",
-		       __FILE__);
-
-	return err;
-}
-
-static void __exit iio_dev_exit(void)
-{
-	if (iio_devt)
-		unregister_chrdev_region(iio_devt, IIO_DEV_MAX);
-}
-
 static int __init iio_init(void)
 {
 	int ret;
@@ -362,9 +364,12 @@ static int __init iio_init(void)
 		goto error_nothing;
 	}
 
-	ret = iio_dev_init();
-	if (ret < 0)
+	ret = alloc_chrdev_region(&iio_devt, 0, IIO_DEV_MAX, "iio");
+	if (ret < 0) {
+		printk(KERN_ERR "%s: failed to allocate char dev region\n",
+		       __FILE__);
 		goto error_unregister_bus_type;
+	}
 
 	return 0;
 
@@ -376,7 +381,8 @@ error_nothing:
 
 static void __exit iio_exit(void)
 {
-	iio_dev_exit();
+	if (iio_devt)
+		unregister_chrdev_region(iio_devt, IIO_DEV_MAX);
 	bus_unregister(&iio_bus_type);
 }
 
@@ -794,36 +800,6 @@ static void iio_device_unregister_sysfs(struct iio_dev *dev_info)
 		sysfs_remove_group(&dev_info->dev.kobj, dev_info->info->attrs);
 }
 
-/* Return a negative errno on failure */
-int iio_get_new_ida_val(struct ida *this_ida)
-{
-	int ret;
-	int val;
-
-ida_again:
-	if (unlikely(ida_pre_get(this_ida, GFP_KERNEL) == 0))
-		return -ENOMEM;
-
-	spin_lock(&iio_ida_lock);
-	ret = ida_get_new(this_ida, &val);
-	spin_unlock(&iio_ida_lock);
-	if (unlikely(ret == -EAGAIN))
-		goto ida_again;
-	else if (unlikely(ret))
-		return ret;
-
-	return val;
-}
-EXPORT_SYMBOL(iio_get_new_ida_val);
-
-void iio_free_ida_val(struct ida *this_ida, int id)
-{
-	spin_lock(&iio_ida_lock);
-	ida_remove(this_ida, id);
-	spin_unlock(&iio_ida_lock);
-}
-EXPORT_SYMBOL(iio_free_ida_val);
-
 static const char * const iio_ev_type_text[] = {
 	[IIO_EV_TYPE_THRESH] = "thresh",
 	[IIO_EV_TYPE_MAG] = "mag",
-- 
1.7.3.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/8] staging:iio:trigger core. Trivial code cleanups.
  2011-07-25 13:10 [PATCH 0/2] blue part 4: IIO general cleanup Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 1/8] staging:iio:core flatten convenience function that only has one user Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 2/8] staging:iio:core squash trivial wrappers and use ida allocation func Jonathan Cameron
@ 2011-07-25 13:10 ` Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 4/8] staging:iio: Introduce iio_core.h and move all core only stuff out of iio.h Jonathan Cameron
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Jonathan Cameron @ 2011-07-25 13:10 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron

Stop exporting functions only intended for core usage.
Return void from function which can never return anything other than 0.
Trivial stype cleanups.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
---
 drivers/staging/iio/iio_core_trigger.h     |    5 ++---
 drivers/staging/iio/industrialio-trigger.c |   22 +++++++---------------
 2 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/iio/iio_core_trigger.h b/drivers/staging/iio/iio_core_trigger.h
index 9d52d96..3e5195a 100644
--- a/drivers/staging/iio/iio_core_trigger.h
+++ b/drivers/staging/iio/iio_core_trigger.h
@@ -19,7 +19,7 @@ int iio_device_register_trigger_consumer(struct iio_dev *dev_info);
  * iio_device_unregister_trigger_consumer() - reverse the registration process
  * @dev_info: iio_dev associated with the device that consumed the trigger
  **/
-int iio_device_unregister_trigger_consumer(struct iio_dev *dev_info);
+void iio_device_unregister_trigger_consumer(struct iio_dev *dev_info);
 
 #else
 
@@ -36,9 +36,8 @@ static int iio_device_register_trigger_consumer(struct iio_dev *dev_info)
  * iio_device_unregister_trigger_consumer() - reverse the registration process
  * @dev_info: iio_dev associated with the device that consumed the trigger
  **/
-static int iio_device_unregister_trigger_consumer(struct iio_dev *dev_info)
+static void iio_device_unregister_trigger_consumer(struct iio_dev *dev_info)
 {
-	return 0;
 };
 
 #endif /* CONFIG_TRIGGER_CONSUMER */
diff --git a/drivers/staging/iio/industrialio-trigger.c b/drivers/staging/iio/industrialio-trigger.c
index 6940f8c..21a7dbb 100644
--- a/drivers/staging/iio/industrialio-trigger.c
+++ b/drivers/staging/iio/industrialio-trigger.c
@@ -173,13 +173,12 @@ static struct iio_trigger *iio_trigger_find_by_name(const char *name,
 void iio_trigger_poll(struct iio_trigger *trig, s64 time)
 {
 	int i;
-	if (!trig->use_count) {
+	if (!trig->use_count)
 		for (i = 0; i < CONFIG_IIO_CONSUMERS_PER_TRIGGER; i++)
 			if (trig->subirqs[i].enabled) {
 				trig->use_count++;
 				generic_handle_irq(trig->subirq_base + i);
 			}
-	}
 }
 EXPORT_SYMBOL(iio_trigger_poll);
 
@@ -321,12 +320,10 @@ static ssize_t iio_trigger_read_current(struct device *dev,
 					char *buf)
 {
 	struct iio_dev *dev_info = dev_get_drvdata(dev);
-	int len = 0;
+
 	if (dev_info->trig)
-		len = sprintf(buf,
-			      "%s\n",
-			      dev_info->trig->name);
-	return len;
+		return sprintf(buf, "%s\n", dev_info->trig->name);
+	return 0;
 }
 
 /**
@@ -495,23 +492,18 @@ EXPORT_SYMBOL(iio_free_trigger);
 
 int iio_device_register_trigger_consumer(struct iio_dev *dev_info)
 {
-	int ret;
-	ret = sysfs_create_group(&dev_info->dev.kobj,
-				 &iio_trigger_consumer_attr_group);
-	return ret;
+	return sysfs_create_group(&dev_info->dev.kobj,
+				  &iio_trigger_consumer_attr_group);
 }
-EXPORT_SYMBOL(iio_device_register_trigger_consumer);
 
-int iio_device_unregister_trigger_consumer(struct iio_dev *dev_info)
+void 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;
 }
-EXPORT_SYMBOL(iio_device_unregister_trigger_consumer);
 
 int iio_triggered_ring_postenable(struct iio_dev *indio_dev)
 {
-- 
1.7.3.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/8] staging:iio: Introduce iio_core.h and move all core only stuff out of iio.h.
  2011-07-25 13:10 [PATCH 0/2] blue part 4: IIO general cleanup Jonathan Cameron
                   ` (2 preceding siblings ...)
  2011-07-25 13:10 ` [PATCH 3/8] staging:iio:trigger core. Trivial code cleanups Jonathan Cameron
@ 2011-07-25 13:10 ` Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 5/8] staging:iio:sysfs cleanout header for unused definitions Jonathan Cameron
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Jonathan Cameron @ 2011-07-25 13:10 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron

Also get rid of a few function defs where they are only now in one core file
anyway.
Whilst here add mask = 0 to get rid of warning.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
---
 drivers/staging/iio/iio.h                  |   63 +---------------------------
 drivers/staging/iio/iio_core.h             |   48 +++++++++++++++++++++
 drivers/staging/iio/industrialio-core.c    |   16 ++++----
 drivers/staging/iio/industrialio-ring.c    |    1 +
 drivers/staging/iio/industrialio-trigger.c |    1 +
 5 files changed, 59 insertions(+), 70 deletions(-)

diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h
index 07f88aa..61cfb26 100644
--- a/drivers/staging/iio/iio.h
+++ b/drivers/staging/iio/iio.h
@@ -23,9 +23,6 @@
  * Currently assumes nano seconds.
  */
 
-/* Event interface flags */
-#define IIO_BUSY_BIT_POS 1
-
 /* naughty temporary hack to match these against the event version
    - need to flattern these together */
 enum iio_chan_type {
@@ -131,19 +128,7 @@ struct iio_chan_spec {
 	unsigned		modified:1;
 	unsigned		indexed:1;
 };
-/* Meant for internal use only */
-void __iio_device_attr_deinit(struct device_attribute *dev_attr);
-int __iio_device_attr_init(struct device_attribute *dev_attr,
-			   const char *postfix,
-			   struct iio_chan_spec const *chan,
-			   ssize_t (*readfunc)(struct device *dev,
-					       struct device_attribute *attr,
-					       char *buf),
-			   ssize_t (*writefunc)(struct device *dev,
-						struct device_attribute *attr,
-						const char *buf,
-						size_t len),
-			   bool generic);
+
 #define IIO_ST(si, rb, sb, sh)						\
 	{ .sign = si, .realbits = rb, .storagebits = sb, .shift = sh }
 
@@ -166,20 +151,6 @@ int __iio_device_attr_init(struct device_attribute *dev_attr,
 	{ .type = IIO_TIMESTAMP, .channel = -1,				\
 			.scan_index = _si, .scan_type = IIO_ST('s', 64, 64, 0) }
 
-int __iio_add_chan_devattr(const char *postfix,
-			   const char *group,
-			   struct iio_chan_spec const *chan,
-			   ssize_t (*func)(struct device *dev,
-					   struct device_attribute *attr,
-					   char *buf),
-			   ssize_t (*writefunc)(struct device *dev,
-						struct device_attribute *attr,
-						const char *buf,
-						size_t len),
-			   int mask,
-			   bool generic,
-			   struct device *dev,
-			   struct list_head *attr_list);
 /**
  * iio_get_time_ns() - utility function to get a time stamp for events etc
  **/
@@ -344,13 +315,6 @@ int iio_push_event(struct iio_dev *dev_info,
 		  int ev_code,
 		  s64 timestamp);
 
-/* Used to distinguish between bipolar and unipolar scan elemenents.
- * Whilst this may seem obvious, we may well want to change the representation
- * in the future!*/
-#define IIO_SIGNED(a) -(a)
-#define IIO_UNSIGNED(a) (a)
-
-extern dev_t iio_devt;
 extern struct bus_type iio_bus_type;
 
 /**
@@ -363,15 +327,6 @@ static inline void iio_put_device(struct iio_dev *dev)
 		put_device(&dev->dev);
 };
 
-/**
- * to_iio_dev() - get iio_dev for which we have the struct device
- * @d: the struct device
- **/
-static inline struct iio_dev *to_iio_dev(struct device *d)
-{
-	return container_of(d, struct iio_dev, dev);
-};
-
 /* Can we make this smaller? */
 #define IIO_ALIGN L1_CACHE_BYTES
 /**
@@ -398,22 +353,6 @@ static inline struct iio_dev *iio_priv_to_dev(void *priv)
 void iio_free_device(struct iio_dev *dev);
 
 /**
- * iio_put() - internal module reference count reduce
- **/
-void iio_put(void);
-
-/**
- * iio_get() - internal module reference count increase
- **/
-void iio_get(void);
-
-/**
- * iio_device_get_chrdev_minor() - get an unused minor number
- **/
-int iio_device_get_chrdev_minor(void);
-void iio_device_free_chrdev_minor(int val);
-
-/**
  * iio_ring_enabled() - helper function to test if any form of ring is enabled
  * @dev_info:		IIO device info structure for device
  **/
diff --git a/drivers/staging/iio/iio_core.h b/drivers/staging/iio/iio_core.h
new file mode 100644
index 0000000..00e894d
--- /dev/null
+++ b/drivers/staging/iio/iio_core.h
@@ -0,0 +1,48 @@
+/* The industrial I/O core function defs.
+ *
+ * Copyright (c) 2008 Jonathan Cameron
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published by
+ * the Free Software Foundation.
+ *
+ * These definitions are meant for use only within the IIO core, not indvidual
+ * drivers.
+ */
+
+/**
+ * iio_device_get_chrdev_minor() - get an unused minor number
+ **/
+int iio_device_get_chrdev_minor(void);
+void iio_device_free_chrdev_minor(int val);
+
+
+/**
+ * iio_put() - internal module reference count reduce
+ **/
+void iio_put(void);
+
+/**
+ * iio_get() - internal module reference count increase
+ **/
+void iio_get(void);
+
+extern dev_t iio_devt;
+
+int __iio_add_chan_devattr(const char *postfix,
+			   const char *group,
+			   struct iio_chan_spec const *chan,
+			   ssize_t (*func)(struct device *dev,
+					   struct device_attribute *attr,
+					   char *buf),
+			   ssize_t (*writefunc)(struct device *dev,
+						struct device_attribute *attr,
+						const char *buf,
+						size_t len),
+			   int mask,
+			   bool generic,
+			   struct device *dev,
+			   struct list_head *attr_list);
+
+/* Event interface flags */
+#define IIO_BUSY_BIT_POS 1
diff --git a/drivers/staging/iio/industrialio-core.c b/drivers/staging/iio/industrialio-core.c
index b131a58..123841b 100644
--- a/drivers/staging/iio/industrialio-core.c
+++ b/drivers/staging/iio/industrialio-core.c
@@ -22,6 +22,7 @@
 #include <linux/cdev.h>
 #include <linux/slab.h>
 #include "iio.h"
+#include "iio_core.h"
 #include "iio_core_trigger.h"
 
 #define IIO_ID_PREFIX "device"
@@ -35,7 +36,6 @@ static DEFINE_IDA(iio_chrdev_ida);
 static DEFINE_SPINLOCK(iio_ida_lock);
 
 dev_t iio_devt;
-EXPORT_SYMBOL(iio_devt);
 
 #define IIO_DEV_MAX 256
 struct bus_type iio_bus_type = {
@@ -90,7 +90,7 @@ static const char * const iio_chan_info_postfix[] = {
 };
 
 /* Return a negative errno on failure */
-int iio_get_new_ida_val(struct ida *this_ida)
+static int iio_get_new_ida_val(struct ida *this_ida)
 {
 	int ret;
 	int val;
@@ -109,15 +109,13 @@ ida_again:
 
 	return val;
 }
-EXPORT_SYMBOL(iio_get_new_ida_val);
 
-void iio_free_ida_val(struct ida *this_ida, int id)
+static void iio_free_ida_val(struct ida *this_ida, int id)
 {
 	spin_lock(&iio_ida_lock);
 	ida_remove(this_ida, id);
 	spin_unlock(&iio_ida_lock);
 }
-EXPORT_SYMBOL(iio_free_ida_val);
 
 int iio_push_event(struct iio_dev *dev_info,
 		   int ev_line,
@@ -532,6 +530,7 @@ static int __iio_build_postfix(struct iio_chan_spec const *chan,
 	return 0;
 }
 
+static
 int __iio_device_attr_init(struct device_attribute *dev_attr,
 			   const char *postfix,
 			   struct iio_chan_spec const *chan,
@@ -604,7 +603,7 @@ error_ret:
 	return ret;
 }
 
-void __iio_device_attr_deinit(struct device_attribute *dev_attr)
+static void __iio_device_attr_deinit(struct device_attribute *dev_attr)
 {
 	kfree(dev_attr->attr.name);
 }
@@ -889,7 +888,7 @@ static int iio_device_add_event_sysfs(struct iio_dev *dev_info,
 				      struct iio_chan_spec const *chan)
 {
 
-	int ret = 0, i, mask;
+	int ret = 0, i, mask = 0;
 	char *postfix;
 	if (!chan->event_mask)
 		return 0;
@@ -1099,8 +1098,9 @@ static void iio_device_unregister_eventset(struct iio_dev *dev_info)
 
 static void iio_dev_release(struct device *device)
 {
+	struct iio_dev *dev_info = container_of(device, struct iio_dev, dev);
 	iio_put();
-	kfree(to_iio_dev(device));
+	kfree(dev_info);
 }
 
 static struct device_type iio_dev_type = {
diff --git a/drivers/staging/iio/industrialio-ring.c b/drivers/staging/iio/industrialio-ring.c
index 843eb82..dce50b1 100644
--- a/drivers/staging/iio/industrialio-ring.c
+++ b/drivers/staging/iio/industrialio-ring.c
@@ -21,6 +21,7 @@
 #include <linux/poll.h>
 
 #include "iio.h"
+#include "iio_core.h"
 #include "ring_generic.h"
 
 /**
diff --git a/drivers/staging/iio/industrialio-trigger.c b/drivers/staging/iio/industrialio-trigger.c
index 21a7dbb..72ea106 100644
--- a/drivers/staging/iio/industrialio-trigger.c
+++ b/drivers/staging/iio/industrialio-trigger.c
@@ -17,6 +17,7 @@
 
 #include "iio.h"
 #include "trigger.h"
+#include "iio_core.h"
 #include "iio_core_trigger.h"
 #include "trigger_consumer.h"
 
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/8] staging:iio:sysfs cleanout header for unused definitions.
  2011-07-25 13:10 [PATCH 0/2] blue part 4: IIO general cleanup Jonathan Cameron
                   ` (3 preceding siblings ...)
  2011-07-25 13:10 ` [PATCH 4/8] staging:iio: Introduce iio_core.h and move all core only stuff out of iio.h Jonathan Cameron
@ 2011-07-25 13:10 ` Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 6/8] staging:iio:events: use IIO_<TYPE> and IIO_MOD_<> instead of IIO_EV_CLASS_<TYPE> etc Jonathan Cameron
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Jonathan Cameron @ 2011-07-25 13:10 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron

Also push one down into the only driver that actually uses it.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
---
 drivers/staging/iio/accel/sca3000_core.c |    2 +-
 drivers/staging/iio/sysfs.h              |   45 +----------------------------
 2 files changed, 3 insertions(+), 44 deletions(-)

diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c
index 3c637b9..22c38c3 100644
--- a/drivers/staging/iio/accel/sca3000_core.c
+++ b/drivers/staging/iio/accel/sca3000_core.c
@@ -421,7 +421,7 @@ static IIO_DEVICE_ATTR(measurement_mode, S_IRUGO | S_IWUSR,
 
 /* More standard attributes */
 
-static IIO_DEV_ATTR_REV(sca3000_show_rev);
+static IIO_DEVICE_ATTR(revision, S_IRUGO, sca3000_show_rev, NULL, 0);
 
 #define SCA3000_INFO_MASK			\
 	(1 << IIO_CHAN_INFO_SCALE_SHARED)
diff --git a/drivers/staging/iio/sysfs.h b/drivers/staging/iio/sysfs.h
index dd79b58..fed7b11 100644
--- a/drivers/staging/iio/sysfs.h
+++ b/drivers/staging/iio/sysfs.h
@@ -77,17 +77,8 @@ struct iio_const_attr {
 	struct iio_const_attr iio_const_attr_##_vname			\
 	= { .string = _string,						\
 	    .dev_attr = __ATTR(_name, S_IRUGO, iio_read_const_attr, NULL)}
-/* Generic attributes of onetype or another */
-
-/**
- * IIO_DEV_ATTR_REV - revision number for the device
- * @_show: output method for the attribute
- *
- * Very much device dependent.
- **/
-#define IIO_DEV_ATTR_REV(_show)			\
-	IIO_DEVICE_ATTR(revision, S_IRUGO, _show, NULL, 0)
 
+/* Generic attributes of onetype or another */
 /**
  * IIO_DEV_ATTR_RESET: resets the device
  **/
@@ -95,13 +86,6 @@ struct iio_const_attr {
 	IIO_DEVICE_ATTR(reset, S_IWUSR, NULL, _store, 0)
 
 /**
- * IIO_CONST_ATTR_NAME - constant identifier
- * @_string: the name
- **/
-#define IIO_CONST_ATTR_NAME(_string)				\
-	IIO_CONST_ATTR(name, _string)
-
-/**
  * IIO_DEV_ATTR_SAMP_FREQ - sets any internal clock frequency
  * @_mode: sysfs file mode/permissions
  * @_show: output method for the attribute
@@ -111,15 +95,11 @@ struct iio_const_attr {
 	IIO_DEVICE_ATTR(sampling_frequency, _mode, _show, _store, 0)
 
 /**
- * IIO_DEV_ATTR_AVAIL_SAMP_FREQ - list available sampling frequencies
+ * IIO_DEV_ATTR_SAMP_FREQ_AVAIL - list available sampling frequencies
  * @_show: output method for the attribute
  *
  * May be mode dependent on some devices
  **/
-/* Deprecated */
-#define IIO_DEV_ATTR_AVAIL_SAMP_FREQ(_show)				\
-	IIO_DEVICE_ATTR(available_sampling_frequency, S_IRUGO, _show, NULL, 0)
-
 #define IIO_DEV_ATTR_SAMP_FREQ_AVAIL(_show)				\
 	IIO_DEVICE_ATTR(sampling_frequency_available, S_IRUGO, _show, NULL, 0)
 /**
@@ -131,27 +111,6 @@ struct iio_const_attr {
 #define IIO_CONST_ATTR_SAMP_FREQ_AVAIL(_string)			\
 	IIO_CONST_ATTR(sampling_frequency_available, _string)
 
-/**
- * IIO_DEV_ATTR_SW_RING_ENABLE - enable software ring buffer
- * @_show: output method for the attribute
- * @_store: input method for the attribute
- *
- * Success may be dependent on attachment of trigger previously.
- **/
-#define IIO_DEV_ATTR_SW_RING_ENABLE(_show, _store)			\
-	IIO_DEVICE_ATTR(sw_ring_enable, S_IRUGO | S_IWUSR, _show, _store, 0)
-
-/**
- * IIO_DEV_ATTR_HW_RING_ENABLE - enable hardware ring buffer
- * @_show: output method for the attribute
- * @_store: input method for the attribute
- *
- * This is a different attribute from the software one as one can envision
- * schemes where a combination of the two may be used.
- **/
-#define IIO_DEV_ATTR_HW_RING_ENABLE(_show, _store)			\
-	IIO_DEVICE_ATTR(hw_ring_enable, S_IRUGO | S_IWUSR, _show, _store, 0)
-
 #define IIO_DEV_ATTR_TEMP_RAW(_show)			\
 	IIO_DEVICE_ATTR(temp_raw, S_IRUGO, _show, NULL, 0)
 
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 6/8] staging:iio:events: use IIO_<TYPE> and IIO_MOD_<> instead of IIO_EV_CLASS_<TYPE> etc
  2011-07-25 13:10 [PATCH 0/2] blue part 4: IIO general cleanup Jonathan Cameron
                   ` (4 preceding siblings ...)
  2011-07-25 13:10 ` [PATCH 5/8] staging:iio:sysfs cleanout header for unused definitions Jonathan Cameron
@ 2011-07-25 13:10 ` Jonathan Cameron
  2011-07-26  7:27   ` Michael Hennerich
  2011-07-25 13:10 ` [PATCH 7/8] staging:iio:trigger push functions that don't need to be generaly available down into the core Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 8/8] staging:iio:kfifo buffer - push structure definition down into implementation Jonathan Cameron
  7 siblings, 1 reply; 10+ messages in thread
From: Jonathan Cameron @ 2011-07-25 13:10 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron

The original definitions were duplicated to reduce tree churn during introduction of chan_spec
registration.  Now there is no point in maintaining the two sets of definitions.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
---
 drivers/staging/iio/accel/lis3l02dq_core.c |   24 ++++++++++++------------
 drivers/staging/iio/accel/sca3000_core.c   |   16 ++++++++--------
 drivers/staging/iio/adc/ad7150.c           |    8 ++++----
 drivers/staging/iio/adc/ad7816.c           |    2 +-
 drivers/staging/iio/adc/ad799x_core.c      |    4 ++--
 drivers/staging/iio/adc/adt75.c            |    2 +-
 drivers/staging/iio/adc/max1363_core.c     |   24 ++++++++----------------
 drivers/staging/iio/dac/ad5504.c           |    2 +-
 drivers/staging/iio/iio.h                  |    2 --
 drivers/staging/iio/light/tsl2563.c        |    2 +-
 drivers/staging/iio/sysfs.h                |   26 --------------------------
 11 files changed, 38 insertions(+), 74 deletions(-)

diff --git a/drivers/staging/iio/accel/lis3l02dq_core.c b/drivers/staging/iio/accel/lis3l02dq_core.c
index 83ec286..7f946aa 100644
--- a/drivers/staging/iio/accel/lis3l02dq_core.c
+++ b/drivers/staging/iio/accel/lis3l02dq_core.c
@@ -452,54 +452,54 @@ static irqreturn_t lis3l02dq_event_handler(int irq, void *private)
 
 	if (t & LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_Z_HIGH)
 		iio_push_event(indio_dev, 0,
-			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+			       IIO_MOD_EVENT_CODE(IIO_ACCEL,
 						  0,
-						  IIO_EV_MOD_Z,
+						  IIO_MOD_Z,
 						  IIO_EV_TYPE_THRESH,
 						  IIO_EV_DIR_RISING),
 			       timestamp);
 
 	if (t & LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_Z_LOW)
 		iio_push_event(indio_dev, 0,
-			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+			       IIO_MOD_EVENT_CODE(IIO_ACCEL,
 						  0,
-						  IIO_EV_MOD_Z,
+						  IIO_MOD_Z,
 						  IIO_EV_TYPE_THRESH,
 						  IIO_EV_DIR_FALLING),
 			       timestamp);
 
 	if (t & LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_Y_HIGH)
 		iio_push_event(indio_dev, 0,
-			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+			       IIO_MOD_EVENT_CODE(IIO_ACCEL,
 						  0,
-						  IIO_EV_MOD_Y,
+						  IIO_MOD_Y,
 						  IIO_EV_TYPE_THRESH,
 						  IIO_EV_DIR_RISING),
 			       timestamp);
 
 	if (t & LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_Y_LOW)
 		iio_push_event(indio_dev, 0,
-			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+			       IIO_MOD_EVENT_CODE(IIO_ACCEL,
 						  0,
-						  IIO_EV_MOD_Y,
+						  IIO_MOD_Y,
 						  IIO_EV_TYPE_THRESH,
 						  IIO_EV_DIR_FALLING),
 			       timestamp);
 
 	if (t & LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_X_HIGH)
 		iio_push_event(indio_dev, 0,
-			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+			       IIO_MOD_EVENT_CODE(IIO_ACCEL,
 						  0,
-						  IIO_EV_MOD_X,
+						  IIO_MOD_X,
 						  IIO_EV_TYPE_THRESH,
 						  IIO_EV_DIR_RISING),
 			       timestamp);
 
 	if (t & LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_X_LOW)
 		iio_push_event(indio_dev, 0,
-			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+			       IIO_MOD_EVENT_CODE(IIO_ACCEL,
 						  0,
-						  IIO_EV_MOD_X,
+						  IIO_MOD_X,
 						  IIO_EV_TYPE_THRESH,
 						  IIO_EV_DIR_FALLING),
 			       timestamp);
diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c
index 22c38c3..d5684fc 100644
--- a/drivers/staging/iio/accel/sca3000_core.c
+++ b/drivers/staging/iio/accel/sca3000_core.c
@@ -815,36 +815,36 @@ static irqreturn_t sca3000_event_handler(int irq, void *private)
 
 	if (val & SCA3000_INT_STATUS_FREE_FALL)
 		iio_push_event(indio_dev, 0,
-			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+			       IIO_MOD_EVENT_CODE(IIO_ACCEL,
 						  0,
-						  IIO_EV_MOD_X_AND_Y_AND_Z,
+						  IIO_MOD_X_AND_Y_AND_Z,
 						  IIO_EV_TYPE_MAG,
 						  IIO_EV_DIR_FALLING),
 			       last_timestamp);
 
 	if (val & SCA3000_INT_STATUS_Y_TRIGGER)
 		iio_push_event(indio_dev, 0,
-			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+			       IIO_MOD_EVENT_CODE(IIO_ACCEL,
 						  0,
-						  IIO_EV_MOD_Y,
+						  IIO_MOD_Y,
 						  IIO_EV_TYPE_MAG,
 						  IIO_EV_DIR_RISING),
 			       last_timestamp);
 
 	if (val & SCA3000_INT_STATUS_X_TRIGGER)
 		iio_push_event(indio_dev, 0,
-			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+			       IIO_MOD_EVENT_CODE(IIO_ACCEL,
 						  0,
-						  IIO_EV_MOD_X,
+						  IIO_MOD_X,
 						  IIO_EV_TYPE_MAG,
 						  IIO_EV_DIR_RISING),
 			       last_timestamp);
 
 	if (val & SCA3000_INT_STATUS_Z_TRIGGER)
 		iio_push_event(indio_dev, 0,
-			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+			       IIO_MOD_EVENT_CODE(IIO_ACCEL,
 						  0,
-						  IIO_EV_MOD_Z,
+						  IIO_MOD_Z,
 						  IIO_EV_TYPE_MAG,
 						  IIO_EV_DIR_RISING),
 			       last_timestamp);
diff --git a/drivers/staging/iio/adc/ad7150.c b/drivers/staging/iio/adc/ad7150.c
index 04017ef..67989e0 100644
--- a/drivers/staging/iio/adc/ad7150.c
+++ b/drivers/staging/iio/adc/ad7150.c
@@ -652,14 +652,14 @@ static irqreturn_t ad7150_event_handler(int irq, void *private)
 
 	if ((int_status & AD7150_STATUS_OUT1) && !(chip->old_state & AD7150_STATUS_OUT1))
 		iio_push_event(indio_dev, 0,
-			       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
+			       IIO_UNMOD_EVENT_CODE(IIO_IN,
 						    0,
 						    IIO_EV_TYPE_THRESH,
 						    IIO_EV_DIR_RISING),
 				timestamp);
 	else if ((!(int_status & AD7150_STATUS_OUT1)) && (chip->old_state & AD7150_STATUS_OUT1))
 		iio_push_event(indio_dev, 0,
-			       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
+			       IIO_UNMOD_EVENT_CODE(IIO_IN,
 						    0,
 						    IIO_EV_TYPE_THRESH,
 						    IIO_EV_DIR_FALLING),
@@ -667,14 +667,14 @@ static irqreturn_t ad7150_event_handler(int irq, void *private)
 
 	if ((int_status & AD7150_STATUS_OUT2) && !(chip->old_state & AD7150_STATUS_OUT2))
 		iio_push_event(indio_dev, 0,
-			       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
+			       IIO_UNMOD_EVENT_CODE(IIO_IN,
 						    1,
 						    IIO_EV_TYPE_THRESH,
 						    IIO_EV_DIR_RISING),
 			       timestamp);
 	else if ((!(int_status & AD7150_STATUS_OUT2)) && (chip->old_state & AD7150_STATUS_OUT2))
 		iio_push_event(indio_dev, 0,
-			       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
+			       IIO_UNMOD_EVENT_CODE(IIO_IN,
 						    1,
 						    IIO_EV_TYPE_THRESH,
 						    IIO_EV_DIR_FALLING),
diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7816.c
index 0c84217..3fa4bb3 100644
--- a/drivers/staging/iio/adc/ad7816.c
+++ b/drivers/staging/iio/adc/ad7816.c
@@ -246,7 +246,7 @@ static const struct attribute_group ad7816_attribute_group = {
  * temperature bound events
  */
 
-#define IIO_EVENT_CODE_AD7816_OTI IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_TEMP, \
+#define IIO_EVENT_CODE_AD7816_OTI IIO_UNMOD_EVENT_CODE(IIO_TEMP,	\
 						       0,		\
 						       IIO_EV_TYPE_THRESH, \
 						       IIO_EV_DIR_FALLING)
diff --git a/drivers/staging/iio/adc/ad799x_core.c b/drivers/staging/iio/adc/ad799x_core.c
index d42d61d..2438ed5 100644
--- a/drivers/staging/iio/adc/ad799x_core.c
+++ b/drivers/staging/iio/adc/ad799x_core.c
@@ -335,11 +335,11 @@ static irqreturn_t ad799x_event_handler(int irq, void *private)
 		if (status & (1 << i))
 			iio_push_event(indio_dev, 0,
 				       i & 0x1 ?
-				       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
+				       IIO_UNMOD_EVENT_CODE(IIO_IN,
 							    (i >> 1),
 							    IIO_EV_TYPE_THRESH,
 							    IIO_EV_DIR_RISING) :
-				       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
+				       IIO_UNMOD_EVENT_CODE(IIO_IN,
 							    (i >> 1),
 							    IIO_EV_TYPE_THRESH,
 							    IIO_EV_DIR_FALLING),
diff --git a/drivers/staging/iio/adc/adt75.c b/drivers/staging/iio/adc/adt75.c
index 38f141d..fc31cac 100644
--- a/drivers/staging/iio/adc/adt75.c
+++ b/drivers/staging/iio/adc/adt75.c
@@ -257,7 +257,7 @@ static const struct attribute_group adt75_attribute_group = {
  * temperature bound events
  */
 
-#define IIO_EVENT_CODE_ADT75_OTI IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_TEMP, \
+#define IIO_EVENT_CODE_ADT75_OTI IIO_UNMOD_EVENT_CODE(IIO_TEMP,		\
 						      0,		\
 						      IIO_EV_TYPE_THRESH, \
 						      IIO_EV_DIR_FALLING)
diff --git a/drivers/staging/iio/adc/max1363_core.c b/drivers/staging/iio/adc/max1363_core.c
index 9525aec..6896b4c 100644
--- a/drivers/staging/iio/adc/max1363_core.c
+++ b/drivers/staging/iio/adc/max1363_core.c
@@ -591,22 +591,14 @@ static int max1363_write_thresh(struct iio_dev *indio_dev,
 }
 
 static const int max1363_event_codes[] = {
-	IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 0,
-			     IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
-	IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 1,
-			     IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
-	IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 2,
-			     IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
-	IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 3,
-			     IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
-	IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 0,
-			     IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
-	IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 1,
-			     IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
-	IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 2,
-			     IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
-	IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 3,
-			     IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
+	IIO_UNMOD_EVENT_CODE(IIO_IN, 0, IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
+	IIO_UNMOD_EVENT_CODE(IIO_IN, 1, IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
+	IIO_UNMOD_EVENT_CODE(IIO_IN, 2, IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
+	IIO_UNMOD_EVENT_CODE(IIO_IN, 3, IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
+	IIO_UNMOD_EVENT_CODE(IIO_IN, 0, IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
+	IIO_UNMOD_EVENT_CODE(IIO_IN, 1, IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
+	IIO_UNMOD_EVENT_CODE(IIO_IN, 2, IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
+	IIO_UNMOD_EVENT_CODE(IIO_IN, 3, IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
 };
 
 static irqreturn_t max1363_event_handler(int irq, void *private)
diff --git a/drivers/staging/iio/dac/ad5504.c b/drivers/staging/iio/dac/ad5504.c
index 1915f45..716a3d2 100644
--- a/drivers/staging/iio/dac/ad5504.c
+++ b/drivers/staging/iio/dac/ad5504.c
@@ -251,7 +251,7 @@ static struct attribute_group ad5504_ev_attribute_group = {
 static irqreturn_t ad5504_event_handler(int irq, void *private)
 {
 	iio_push_event(private, 0,
-		       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_TEMP,
+		       IIO_UNMOD_EVENT_CODE(IIO_TEMP,
 					    0,
 					    IIO_EV_TYPE_THRESH,
 					    IIO_EV_DIR_RISING),
diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h
index 61cfb26..16abb37 100644
--- a/drivers/staging/iio/iio.h
+++ b/drivers/staging/iio/iio.h
@@ -23,8 +23,6 @@
  * Currently assumes nano seconds.
  */
 
-/* naughty temporary hack to match these against the event version
-   - need to flattern these together */
 enum iio_chan_type {
 	/* real channel types */
 	IIO_IN,
diff --git a/drivers/staging/iio/light/tsl2563.c b/drivers/staging/iio/light/tsl2563.c
index f25243b..7c4cc9e 100644
--- a/drivers/staging/iio/light/tsl2563.c
+++ b/drivers/staging/iio/light/tsl2563.c
@@ -596,7 +596,7 @@ static irqreturn_t tsl2563_event_handler(int irq, void *private)
 	struct tsl2563_chip *chip = iio_priv(dev_info);
 
 	iio_push_event(dev_info, 0,
-		       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_LIGHT,
+		       IIO_UNMOD_EVENT_CODE(IIO_LIGHT,
 					    0,
 					    IIO_EV_TYPE_THRESH,
 					    IIO_EV_DIR_EITHER),
diff --git a/drivers/staging/iio/sysfs.h b/drivers/staging/iio/sysfs.h
index fed7b11..8277950 100644
--- a/drivers/staging/iio/sysfs.h
+++ b/drivers/staging/iio/sysfs.h
@@ -120,28 +120,6 @@ struct iio_const_attr {
 #define IIO_CONST_ATTR_TEMP_SCALE(_string)		\
 	IIO_CONST_ATTR(temp_scale, _string)
 
-/* must match our channel defs */
-#define IIO_EV_CLASS_IN			IIO_IN
-#define IIO_EV_CLASS_IN_DIFF		IIO_IN_DIFF
-#define IIO_EV_CLASS_ACCEL		IIO_ACCEL
-#define IIO_EV_CLASS_GYRO		IIO_GYRO
-#define IIO_EV_CLASS_MAGN		IIO_MAGN
-#define IIO_EV_CLASS_LIGHT		IIO_LIGHT
-#define IIO_EV_CLASS_PROXIMITY		IIO_PROXIMITY
-#define IIO_EV_CLASS_TEMP		IIO_TEMP
-
-#define IIO_EV_MOD_X			IIO_MOD_X
-#define IIO_EV_MOD_Y			IIO_MOD_Y
-#define IIO_EV_MOD_Z			IIO_MOD_Z
-#define IIO_EV_MOD_X_AND_Y		IIO_MOD_X_AND_Y
-#define IIO_EV_MOD_X_ANX_Z		IIO_MOD_X_AND_Z
-#define IIO_EV_MOD_Y_AND_Z		IIO_MOD_Y_AND_Z
-#define IIO_EV_MOD_X_AND_Y_AND_Z	IIO_MOD_X_AND_Y_AND_Z
-#define IIO_EV_MOD_X_OR_Y		IIO_MOD_X_OR_Y
-#define IIO_EV_MOD_X_OR_Z		IIO_MOD_X_OR_Z
-#define IIO_EV_MOD_Y_OR_Z		IIO_MOD_Y_OR_Z
-#define IIO_EV_MOD_X_OR_Y_OR_Z		IIO_MOD_X_OR_Y_OR_Z
-
 #define IIO_EV_TYPE_THRESH		0
 #define IIO_EV_TYPE_MAG			1
 #define IIO_EV_TYPE_ROC			2
@@ -166,10 +144,6 @@ struct iio_const_attr {
 #define IIO_UNMOD_EVENT_CODE(channelclass, number, type, direction)	\
 	IIO_EVENT_CODE(channelclass, 0, number, 0, type, direction)
 
-
-#define IIO_BUFFER_EVENT_CODE(code)		\
-	(IIO_EV_CLASS_BUFFER | (code << 8))
-
 #define IIO_EVENT_CODE_EXTRACT_DIR(mask) ((mask >> 24) & 0xf)
 
 /* Event code number extraction depends on which type of event we have.
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 7/8] staging:iio:trigger push functions that don't need to be generaly available down into the core.
  2011-07-25 13:10 [PATCH 0/2] blue part 4: IIO general cleanup Jonathan Cameron
                   ` (5 preceding siblings ...)
  2011-07-25 13:10 ` [PATCH 6/8] staging:iio:events: use IIO_<TYPE> and IIO_MOD_<> instead of IIO_EV_CLASS_<TYPE> etc Jonathan Cameron
@ 2011-07-25 13:10 ` Jonathan Cameron
  2011-07-25 13:10 ` [PATCH 8/8] staging:iio:kfifo buffer - push structure definition down into implementation Jonathan Cameron
  7 siblings, 0 replies; 10+ messages in thread
From: Jonathan Cameron @ 2011-07-25 13:10 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
---
 drivers/staging/iio/industrialio-trigger.c |   30 +++++++++++++++++----
 drivers/staging/iio/trigger.h              |   39 ----------------------------
 2 files changed, 24 insertions(+), 45 deletions(-)

diff --git a/drivers/staging/iio/industrialio-trigger.c b/drivers/staging/iio/industrialio-trigger.c
index 72ea106..f1ece86 100644
--- a/drivers/staging/iio/industrialio-trigger.c
+++ b/drivers/staging/iio/industrialio-trigger.c
@@ -215,6 +215,26 @@ void iio_trigger_notify_done(struct iio_trigger *trig)
 EXPORT_SYMBOL(iio_trigger_notify_done);
 
 /* Trigger Consumer related functions */
+static int iio_trigger_get_irq(struct iio_trigger *trig)
+{
+	int ret;
+	mutex_lock(&trig->pool_lock);
+	ret = bitmap_find_free_region(trig->pool,
+				      CONFIG_IIO_CONSUMERS_PER_TRIGGER,
+				      ilog2(1));
+	mutex_unlock(&trig->pool_lock);
+	if (ret >= 0)
+		ret += trig->subirq_base;
+
+	return ret;
+}
+
+static void iio_trigger_put_irq(struct iio_trigger *trig, int irq)
+{
+	mutex_lock(&trig->pool_lock);
+	clear_bit(irq - trig->subirq_base, trig->pool);
+	mutex_unlock(&trig->pool_lock);
+}
 
 /* Complexity in here.  With certain triggers (datardy) an acknowledgement
  * may be needed if the pollfuncs do not include the data read for the
@@ -223,8 +243,8 @@ EXPORT_SYMBOL(iio_trigger_notify_done);
  * the relevant function is in there may be the best option.
  */
 /* Worth protecting against double additions?*/
-int iio_trigger_attach_poll_func(struct iio_trigger *trig,
-				 struct iio_poll_func *pf)
+static int iio_trigger_attach_poll_func(struct iio_trigger *trig,
+					struct iio_poll_func *pf)
 {
 	int ret = 0;
 	bool notinuse
@@ -241,10 +261,9 @@ int iio_trigger_attach_poll_func(struct iio_trigger *trig,
 
 	return ret;
 }
-EXPORT_SYMBOL(iio_trigger_attach_poll_func);
 
-int iio_trigger_dettach_poll_func(struct iio_trigger *trig,
-				  struct iio_poll_func *pf)
+static int iio_trigger_dettach_poll_func(struct iio_trigger *trig,
+					 struct iio_poll_func *pf)
 {
 	int ret = 0;
 	bool no_other_users
@@ -263,7 +282,6 @@ int iio_trigger_dettach_poll_func(struct iio_trigger *trig,
 error_ret:
 	return ret;
 }
-EXPORT_SYMBOL(iio_trigger_dettach_poll_func);
 
 irqreturn_t iio_pollfunc_store_time(int irq, void *p)
 {
diff --git a/drivers/staging/iio/trigger.h b/drivers/staging/iio/trigger.h
index 56f8baf..722fc33 100644
--- a/drivers/staging/iio/trigger.h
+++ b/drivers/staging/iio/trigger.h
@@ -104,23 +104,6 @@ int iio_trigger_register(struct iio_trigger *trig_info);
 void iio_trigger_unregister(struct iio_trigger *trig_info);
 
 /**
- * iio_trigger_attach_poll_func() - add a function pair to be run on trigger
- * @trig:	trigger to which the function pair are being added
- * @pf:		poll function pair
- **/
-int iio_trigger_attach_poll_func(struct iio_trigger *trig,
-				 struct iio_poll_func *pf);
-
-/**
- * iio_trigger_dettach_poll_func() -	remove function pair from those to be
- *					run on trigger
- * @trig:	trigger from which the function is being removed
- * @pf:		poll function pair
- **/
-int iio_trigger_dettach_poll_func(struct iio_trigger *trig,
-				  struct iio_poll_func *pf);
-
-/**
  * iio_trigger_poll() - called on a trigger occurring
  * @trig: trigger which occurred
  *
@@ -129,30 +112,8 @@ int iio_trigger_dettach_poll_func(struct iio_trigger *trig,
 void iio_trigger_poll(struct iio_trigger *trig, s64 time);
 void iio_trigger_poll_chained(struct iio_trigger *trig, s64 time);
 
-
 irqreturn_t iio_trigger_generic_data_rdy_poll(int irq, void *private);
 
-static inline int iio_trigger_get_irq(struct iio_trigger *trig)
-{
-	int ret;
-	mutex_lock(&trig->pool_lock);
-	ret = bitmap_find_free_region(trig->pool,
-				      CONFIG_IIO_CONSUMERS_PER_TRIGGER,
-				      ilog2(1));
-	mutex_unlock(&trig->pool_lock);
-	if (ret >= 0)
-		ret += trig->subirq_base;
-
-	return ret;
-};
-
-static inline void iio_trigger_put_irq(struct iio_trigger *trig, int irq)
-{
-	mutex_lock(&trig->pool_lock);
-	clear_bit(irq - trig->subirq_base, trig->pool);
-	mutex_unlock(&trig->pool_lock);
-};
-
 struct iio_trigger *iio_allocate_trigger(const char *fmt, ...)
 	__attribute__((format(printf, 1, 2)));
 void iio_free_trigger(struct iio_trigger *trig);
-- 
1.7.3.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 8/8] staging:iio:kfifo buffer - push structure definition down into implementation.
  2011-07-25 13:10 [PATCH 0/2] blue part 4: IIO general cleanup Jonathan Cameron
                   ` (6 preceding siblings ...)
  2011-07-25 13:10 ` [PATCH 7/8] staging:iio:trigger push functions that don't need to be generaly available down into the core Jonathan Cameron
@ 2011-07-25 13:10 ` Jonathan Cameron
  7 siblings, 0 replies; 10+ messages in thread
From: Jonathan Cameron @ 2011-07-25 13:10 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron

Nothing other than the implementation needs to know about this.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
---
 drivers/staging/iio/kfifo_buf.c |    8 ++++++++
 drivers/staging/iio/kfifo_buf.h |    8 --------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/iio/kfifo_buf.c b/drivers/staging/iio/kfifo_buf.c
index 6002368..3c9516b 100644
--- a/drivers/staging/iio/kfifo_buf.c
+++ b/drivers/staging/iio/kfifo_buf.c
@@ -8,6 +8,14 @@
 
 #include "kfifo_buf.h"
 
+struct iio_kfifo {
+	struct iio_ring_buffer ring;
+	struct kfifo kf;
+	int use_count;
+	int update_needed;
+	struct mutex use_lock;
+};
+
 #define iio_to_kfifo(r) container_of(r, struct iio_kfifo, ring)
 
 static inline int __iio_allocate_kfifo(struct iio_kfifo *buf,
diff --git a/drivers/staging/iio/kfifo_buf.h b/drivers/staging/iio/kfifo_buf.h
index aac3053..fb48523 100644
--- a/drivers/staging/iio/kfifo_buf.h
+++ b/drivers/staging/iio/kfifo_buf.h
@@ -3,14 +3,6 @@
 #include "iio.h"
 #include "ring_generic.h"
 
-struct iio_kfifo {
-	struct iio_ring_buffer ring;
-	struct kfifo kf;
-	int use_count;
-	int update_needed;
-	struct mutex use_lock;
-};
-
 extern const struct iio_ring_access_funcs kfifo_access_funcs;
 
 struct iio_ring_buffer *iio_kfifo_allocate(struct iio_dev *indio_dev);
-- 
1.7.3.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 6/8] staging:iio:events: use IIO_<TYPE> and IIO_MOD_<> instead of IIO_EV_CLASS_<TYPE> etc
  2011-07-25 13:10 ` [PATCH 6/8] staging:iio:events: use IIO_<TYPE> and IIO_MOD_<> instead of IIO_EV_CLASS_<TYPE> etc Jonathan Cameron
@ 2011-07-26  7:27   ` Michael Hennerich
  0 siblings, 0 replies; 10+ messages in thread
From: Michael Hennerich @ 2011-07-26  7:27 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, device-drivers-devel

On 07/25/2011 03:10 PM, Jonathan Cameron wrote:
> The original definitions were duplicated to reduce tree churn during introduction of chan_spec
> registration.  Now there is no point in maintaining the two sets of definitions.
>
> Signed-off-by: Jonathan Cameron<jic23@cam.ac.uk>
Acked-by: Michael Hennerich <michael.hennerich@analog.com>
> ---
>   drivers/staging/iio/accel/lis3l02dq_core.c |   24 ++++++++++++------------
>   drivers/staging/iio/accel/sca3000_core.c   |   16 ++++++++--------
>   drivers/staging/iio/adc/ad7150.c           |    8 ++++----
>   drivers/staging/iio/adc/ad7816.c           |    2 +-
>   drivers/staging/iio/adc/ad799x_core.c      |    4 ++--
>   drivers/staging/iio/adc/adt75.c            |    2 +-
>   drivers/staging/iio/adc/max1363_core.c     |   24 ++++++++----------------
>   drivers/staging/iio/dac/ad5504.c           |    2 +-
>   drivers/staging/iio/iio.h                  |    2 --
>   drivers/staging/iio/light/tsl2563.c        |    2 +-
>   drivers/staging/iio/sysfs.h                |   26 --------------------------
>   11 files changed, 38 insertions(+), 74 deletions(-)
>
> diff --git a/drivers/staging/iio/accel/lis3l02dq_core.c b/drivers/staging/iio/accel/lis3l02dq_core.c
> index 83ec286..7f946aa 100644
> --- a/drivers/staging/iio/accel/lis3l02dq_core.c
> +++ b/drivers/staging/iio/accel/lis3l02dq_core.c
> @@ -452,54 +452,54 @@ static irqreturn_t lis3l02dq_event_handler(int irq, void *private)
>
>          if (t&  LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_Z_HIGH)
>                  iio_push_event(indio_dev, 0,
> -                              IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
> +                              IIO_MOD_EVENT_CODE(IIO_ACCEL,
>                                                    0,
> -                                                 IIO_EV_MOD_Z,
> +                                                 IIO_MOD_Z,
>                                                    IIO_EV_TYPE_THRESH,
>                                                    IIO_EV_DIR_RISING),
>                                 timestamp);
>
>          if (t&  LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_Z_LOW)
>                  iio_push_event(indio_dev, 0,
> -                              IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
> +                              IIO_MOD_EVENT_CODE(IIO_ACCEL,
>                                                    0,
> -                                                 IIO_EV_MOD_Z,
> +                                                 IIO_MOD_Z,
>                                                    IIO_EV_TYPE_THRESH,
>                                                    IIO_EV_DIR_FALLING),
>                                 timestamp);
>
>          if (t&  LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_Y_HIGH)
>                  iio_push_event(indio_dev, 0,
> -                              IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
> +                              IIO_MOD_EVENT_CODE(IIO_ACCEL,
>                                                    0,
> -                                                 IIO_EV_MOD_Y,
> +                                                 IIO_MOD_Y,
>                                                    IIO_EV_TYPE_THRESH,
>                                                    IIO_EV_DIR_RISING),
>                                 timestamp);
>
>          if (t&  LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_Y_LOW)
>                  iio_push_event(indio_dev, 0,
> -                              IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
> +                              IIO_MOD_EVENT_CODE(IIO_ACCEL,
>                                                    0,
> -                                                 IIO_EV_MOD_Y,
> +                                                 IIO_MOD_Y,
>                                                    IIO_EV_TYPE_THRESH,
>                                                    IIO_EV_DIR_FALLING),
>                                 timestamp);
>
>          if (t&  LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_X_HIGH)
>                  iio_push_event(indio_dev, 0,
> -                              IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
> +                              IIO_MOD_EVENT_CODE(IIO_ACCEL,
>                                                    0,
> -                                                 IIO_EV_MOD_X,
> +                                                 IIO_MOD_X,
>                                                    IIO_EV_TYPE_THRESH,
>                                                    IIO_EV_DIR_RISING),
>                                 timestamp);
>
>          if (t&  LIS3L02DQ_REG_WAKE_UP_SRC_INTERRUPT_X_LOW)
>                  iio_push_event(indio_dev, 0,
> -                              IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
> +                              IIO_MOD_EVENT_CODE(IIO_ACCEL,
>                                                    0,
> -                                                 IIO_EV_MOD_X,
> +                                                 IIO_MOD_X,
>                                                    IIO_EV_TYPE_THRESH,
>                                                    IIO_EV_DIR_FALLING),
>                                 timestamp);
> diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c
> index 22c38c3..d5684fc 100644
> --- a/drivers/staging/iio/accel/sca3000_core.c
> +++ b/drivers/staging/iio/accel/sca3000_core.c
> @@ -815,36 +815,36 @@ static irqreturn_t sca3000_event_handler(int irq, void *private)
>
>          if (val&  SCA3000_INT_STATUS_FREE_FALL)
>                  iio_push_event(indio_dev, 0,
> -                              IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
> +                              IIO_MOD_EVENT_CODE(IIO_ACCEL,
>                                                    0,
> -                                                 IIO_EV_MOD_X_AND_Y_AND_Z,
> +                                                 IIO_MOD_X_AND_Y_AND_Z,
>                                                    IIO_EV_TYPE_MAG,
>                                                    IIO_EV_DIR_FALLING),
>                                 last_timestamp);
>
>          if (val&  SCA3000_INT_STATUS_Y_TRIGGER)
>                  iio_push_event(indio_dev, 0,
> -                              IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
> +                              IIO_MOD_EVENT_CODE(IIO_ACCEL,
>                                                    0,
> -                                                 IIO_EV_MOD_Y,
> +                                                 IIO_MOD_Y,
>                                                    IIO_EV_TYPE_MAG,
>                                                    IIO_EV_DIR_RISING),
>                                 last_timestamp);
>
>          if (val&  SCA3000_INT_STATUS_X_TRIGGER)
>                  iio_push_event(indio_dev, 0,
> -                              IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
> +                              IIO_MOD_EVENT_CODE(IIO_ACCEL,
>                                                    0,
> -                                                 IIO_EV_MOD_X,
> +                                                 IIO_MOD_X,
>                                                    IIO_EV_TYPE_MAG,
>                                                    IIO_EV_DIR_RISING),
>                                 last_timestamp);
>
>          if (val&  SCA3000_INT_STATUS_Z_TRIGGER)
>                  iio_push_event(indio_dev, 0,
> -                              IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
> +                              IIO_MOD_EVENT_CODE(IIO_ACCEL,
>                                                    0,
> -                                                 IIO_EV_MOD_Z,
> +                                                 IIO_MOD_Z,
>                                                    IIO_EV_TYPE_MAG,
>                                                    IIO_EV_DIR_RISING),
>                                 last_timestamp);
> diff --git a/drivers/staging/iio/adc/ad7150.c b/drivers/staging/iio/adc/ad7150.c
> index 04017ef..67989e0 100644
> --- a/drivers/staging/iio/adc/ad7150.c
> +++ b/drivers/staging/iio/adc/ad7150.c
> @@ -652,14 +652,14 @@ static irqreturn_t ad7150_event_handler(int irq, void *private)
>
>          if ((int_status&  AD7150_STATUS_OUT1)&&  !(chip->old_state&  AD7150_STATUS_OUT1))
>                  iio_push_event(indio_dev, 0,
> -                              IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
> +                              IIO_UNMOD_EVENT_CODE(IIO_IN,
>                                                      0,
>                                                      IIO_EV_TYPE_THRESH,
>                                                      IIO_EV_DIR_RISING),
>                                  timestamp);
>          else if ((!(int_status&  AD7150_STATUS_OUT1))&&  (chip->old_state&  AD7150_STATUS_OUT1))
>                  iio_push_event(indio_dev, 0,
> -                              IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
> +                              IIO_UNMOD_EVENT_CODE(IIO_IN,
>                                                      0,
>                                                      IIO_EV_TYPE_THRESH,
>                                                      IIO_EV_DIR_FALLING),
> @@ -667,14 +667,14 @@ static irqreturn_t ad7150_event_handler(int irq, void *private)
>
>          if ((int_status&  AD7150_STATUS_OUT2)&&  !(chip->old_state&  AD7150_STATUS_OUT2))
>                  iio_push_event(indio_dev, 0,
> -                              IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
> +                              IIO_UNMOD_EVENT_CODE(IIO_IN,
>                                                      1,
>                                                      IIO_EV_TYPE_THRESH,
>                                                      IIO_EV_DIR_RISING),
>                                 timestamp);
>          else if ((!(int_status&  AD7150_STATUS_OUT2))&&  (chip->old_state&  AD7150_STATUS_OUT2))
>                  iio_push_event(indio_dev, 0,
> -                              IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
> +                              IIO_UNMOD_EVENT_CODE(IIO_IN,
>                                                      1,
>                                                      IIO_EV_TYPE_THRESH,
>                                                      IIO_EV_DIR_FALLING),
> diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7816.c
> index 0c84217..3fa4bb3 100644
> --- a/drivers/staging/iio/adc/ad7816.c
> +++ b/drivers/staging/iio/adc/ad7816.c
> @@ -246,7 +246,7 @@ static const struct attribute_group ad7816_attribute_group = {
>    * temperature bound events
>    */
>
> -#define IIO_EVENT_CODE_AD7816_OTI IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_TEMP, \
> +#define IIO_EVENT_CODE_AD7816_OTI IIO_UNMOD_EVENT_CODE(IIO_TEMP,       \
>                                                         0,               \
>                                                         IIO_EV_TYPE_THRESH, \
>                                                         IIO_EV_DIR_FALLING)
> diff --git a/drivers/staging/iio/adc/ad799x_core.c b/drivers/staging/iio/adc/ad799x_core.c
> index d42d61d..2438ed5 100644
> --- a/drivers/staging/iio/adc/ad799x_core.c
> +++ b/drivers/staging/iio/adc/ad799x_core.c
> @@ -335,11 +335,11 @@ static irqreturn_t ad799x_event_handler(int irq, void *private)
>                  if (status&  (1<<  i))
>                          iio_push_event(indio_dev, 0,
>                                         i&  0x1 ?
> -                                      IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
> +                                      IIO_UNMOD_EVENT_CODE(IIO_IN,
>                                                              (i>>  1),
>                                                              IIO_EV_TYPE_THRESH,
>                                                              IIO_EV_DIR_RISING) :
> -                                      IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN,
> +                                      IIO_UNMOD_EVENT_CODE(IIO_IN,
>                                                              (i>>  1),
>                                                              IIO_EV_TYPE_THRESH,
>                                                              IIO_EV_DIR_FALLING),
> diff --git a/drivers/staging/iio/adc/adt75.c b/drivers/staging/iio/adc/adt75.c
> index 38f141d..fc31cac 100644
> --- a/drivers/staging/iio/adc/adt75.c
> +++ b/drivers/staging/iio/adc/adt75.c
> @@ -257,7 +257,7 @@ static const struct attribute_group adt75_attribute_group = {
>    * temperature bound events
>    */
>
> -#define IIO_EVENT_CODE_ADT75_OTI IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_TEMP, \
> +#define IIO_EVENT_CODE_ADT75_OTI IIO_UNMOD_EVENT_CODE(IIO_TEMP,                \
>                                                        0,                \
>                                                        IIO_EV_TYPE_THRESH, \
>                                                        IIO_EV_DIR_FALLING)
> diff --git a/drivers/staging/iio/adc/max1363_core.c b/drivers/staging/iio/adc/max1363_core.c
> index 9525aec..6896b4c 100644
> --- a/drivers/staging/iio/adc/max1363_core.c
> +++ b/drivers/staging/iio/adc/max1363_core.c
> @@ -591,22 +591,14 @@ static int max1363_write_thresh(struct iio_dev *indio_dev,
>   }
>
>   static const int max1363_event_codes[] = {
> -       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 0,
> -                            IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
> -       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 1,
> -                            IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
> -       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 2,
> -                            IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
> -       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 3,
> -                            IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
> -       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 0,
> -                            IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
> -       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 1,
> -                            IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
> -       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 2,
> -                            IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
> -       IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_IN, 3,
> -                            IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
> +       IIO_UNMOD_EVENT_CODE(IIO_IN, 0, IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
> +       IIO_UNMOD_EVENT_CODE(IIO_IN, 1, IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
> +       IIO_UNMOD_EVENT_CODE(IIO_IN, 2, IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
> +       IIO_UNMOD_EVENT_CODE(IIO_IN, 3, IIO_EV_TYPE_THRESH, IIO_EV_DIR_FALLING),
> +       IIO_UNMOD_EVENT_CODE(IIO_IN, 0, IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
> +       IIO_UNMOD_EVENT_CODE(IIO_IN, 1, IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
> +       IIO_UNMOD_EVENT_CODE(IIO_IN, 2, IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
> +       IIO_UNMOD_EVENT_CODE(IIO_IN, 3, IIO_EV_TYPE_THRESH, IIO_EV_DIR_RISING),
>   };
>
>   static irqreturn_t max1363_event_handler(int irq, void *private)
> diff --git a/drivers/staging/iio/dac/ad5504.c b/drivers/staging/iio/dac/ad5504.c
> index 1915f45..716a3d2 100644
> --- a/drivers/staging/iio/dac/ad5504.c
> +++ b/drivers/staging/iio/dac/ad5504.c
> @@ -251,7 +251,7 @@ static struct attribute_group ad5504_ev_attribute_group = {
>   static irqreturn_t ad5504_event_handler(int irq, void *private)
>   {
>          iio_push_event(private, 0,
> -                      IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_TEMP,
> +                      IIO_UNMOD_EVENT_CODE(IIO_TEMP,
>                                              0,
>                                              IIO_EV_TYPE_THRESH,
>                                              IIO_EV_DIR_RISING),
> diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h
> index 61cfb26..16abb37 100644
> --- a/drivers/staging/iio/iio.h
> +++ b/drivers/staging/iio/iio.h
> @@ -23,8 +23,6 @@
>    * Currently assumes nano seconds.
>    */
>
> -/* naughty temporary hack to match these against the event version
> -   - need to flattern these together */
>   enum iio_chan_type {
>          /* real channel types */
>          IIO_IN,
> diff --git a/drivers/staging/iio/light/tsl2563.c b/drivers/staging/iio/light/tsl2563.c
> index f25243b..7c4cc9e 100644
> --- a/drivers/staging/iio/light/tsl2563.c
> +++ b/drivers/staging/iio/light/tsl2563.c
> @@ -596,7 +596,7 @@ static irqreturn_t tsl2563_event_handler(int irq, void *private)
>          struct tsl2563_chip *chip = iio_priv(dev_info);
>
>          iio_push_event(dev_info, 0,
> -                      IIO_UNMOD_EVENT_CODE(IIO_EV_CLASS_LIGHT,
> +                      IIO_UNMOD_EVENT_CODE(IIO_LIGHT,
>                                              0,
>                                              IIO_EV_TYPE_THRESH,
>                                              IIO_EV_DIR_EITHER),
> diff --git a/drivers/staging/iio/sysfs.h b/drivers/staging/iio/sysfs.h
> index fed7b11..8277950 100644
> --- a/drivers/staging/iio/sysfs.h
> +++ b/drivers/staging/iio/sysfs.h
> @@ -120,28 +120,6 @@ struct iio_const_attr {
>   #define IIO_CONST_ATTR_TEMP_SCALE(_string)             \
>          IIO_CONST_ATTR(temp_scale, _string)
>
> -/* must match our channel defs */
> -#define IIO_EV_CLASS_IN                        IIO_IN
> -#define IIO_EV_CLASS_IN_DIFF           IIO_IN_DIFF
> -#define IIO_EV_CLASS_ACCEL             IIO_ACCEL
> -#define IIO_EV_CLASS_GYRO              IIO_GYRO
> -#define IIO_EV_CLASS_MAGN              IIO_MAGN
> -#define IIO_EV_CLASS_LIGHT             IIO_LIGHT
> -#define IIO_EV_CLASS_PROXIMITY         IIO_PROXIMITY
> -#define IIO_EV_CLASS_TEMP              IIO_TEMP
> -
> -#define IIO_EV_MOD_X                   IIO_MOD_X
> -#define IIO_EV_MOD_Y                   IIO_MOD_Y
> -#define IIO_EV_MOD_Z                   IIO_MOD_Z
> -#define IIO_EV_MOD_X_AND_Y             IIO_MOD_X_AND_Y
> -#define IIO_EV_MOD_X_ANX_Z             IIO_MOD_X_AND_Z
> -#define IIO_EV_MOD_Y_AND_Z             IIO_MOD_Y_AND_Z
> -#define IIO_EV_MOD_X_AND_Y_AND_Z       IIO_MOD_X_AND_Y_AND_Z
> -#define IIO_EV_MOD_X_OR_Y              IIO_MOD_X_OR_Y
> -#define IIO_EV_MOD_X_OR_Z              IIO_MOD_X_OR_Z
> -#define IIO_EV_MOD_Y_OR_Z              IIO_MOD_Y_OR_Z
> -#define IIO_EV_MOD_X_OR_Y_OR_Z         IIO_MOD_X_OR_Y_OR_Z
> -
>   #define IIO_EV_TYPE_THRESH             0
>   #define IIO_EV_TYPE_MAG                        1
>   #define IIO_EV_TYPE_ROC                        2
> @@ -166,10 +144,6 @@ struct iio_const_attr {
>   #define IIO_UNMOD_EVENT_CODE(channelclass, number, type, direction)    \
>          IIO_EVENT_CODE(channelclass, 0, number, 0, type, direction)
>
> -
> -#define IIO_BUFFER_EVENT_CODE(code)            \
> -       (IIO_EV_CLASS_BUFFER | (code<<  8))
> -
>   #define IIO_EVENT_CODE_EXTRACT_DIR(mask) ((mask>>  24)&  0xf)
>
>   /* Event code number extraction depends on which type of event we have.
> --
> 1.7.3.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


-- 
Greetings,
Michael

--
Analog Devices GmbH      Wilhelm-Wagenfeld-Str. 6      80807 Muenchen
Sitz der Gesellschaft: Muenchen; Registergericht: Muenchen HRB 40368;
Geschaeftsfuehrer:Dr.Carsten Suckrow, Thomas Wessel, William A. Martin,
Margaret Seif

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-07-26  7:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-25 13:10 [PATCH 0/2] blue part 4: IIO general cleanup Jonathan Cameron
2011-07-25 13:10 ` [PATCH 1/8] staging:iio:core flatten convenience function that only has one user Jonathan Cameron
2011-07-25 13:10 ` [PATCH 2/8] staging:iio:core squash trivial wrappers and use ida allocation func Jonathan Cameron
2011-07-25 13:10 ` [PATCH 3/8] staging:iio:trigger core. Trivial code cleanups Jonathan Cameron
2011-07-25 13:10 ` [PATCH 4/8] staging:iio: Introduce iio_core.h and move all core only stuff out of iio.h Jonathan Cameron
2011-07-25 13:10 ` [PATCH 5/8] staging:iio:sysfs cleanout header for unused definitions Jonathan Cameron
2011-07-25 13:10 ` [PATCH 6/8] staging:iio:events: use IIO_<TYPE> and IIO_MOD_<> instead of IIO_EV_CLASS_<TYPE> etc Jonathan Cameron
2011-07-26  7:27   ` Michael Hennerich
2011-07-25 13:10 ` [PATCH 7/8] staging:iio:trigger push functions that don't need to be generaly available down into the core Jonathan Cameron
2011-07-25 13:10 ` [PATCH 8/8] staging:iio:kfifo buffer - push structure definition down into implementation Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.