All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/24] iio: Add dev_to_iio_dev() helper function
@ 2012-05-11 12:58 Lars-Peter Clausen
  2012-05-11 12:58 ` [PATCH 02/24] iio: Use dev_to_iio_dev() Lars-Peter Clausen
                   ` (23 more replies)
  0 siblings, 24 replies; 48+ messages in thread
From: Lars-Peter Clausen @ 2012-05-11 12:58 UTC (permalink / raw)
  To: Jonathan Cameron; +Cc: linux-iio, Lars-Peter Clausen

This patch adds a helper function for retriving a iio_dev struct from a device
struct. Currently we open-code this in two different ways. One is using
dev_get_drvdata on the device and the other is using container_of. The new
helper function uses the container_of solution as it creates slightly smaller
code and also will eventually free up the drvdata pointer for usage by invidual
drivers.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 include/linux/iio/iio.h |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h
index eff2a39..38baea5 100644
--- a/include/linux/iio/iio.h
+++ b/include/linux/iio/iio.h
@@ -412,6 +412,17 @@ int iio_push_event(struct iio_dev *indio_dev, u64 ev_code, s64 timestamp);
 
 extern struct bus_type iio_bus_type;
 
+/**
+ * dev_to_iio_dev() - Get IIO device struct from a device struct
+ * @dev: The device embedded in the IIO device
+ *
+ * Note: The device must be a IIO device, otherwise the result is undefined.
+ */
+static inline struct iio_dev *dev_to_iio_dev(struct device *dev)
+{
+	return container_of(dev, struct iio_dev, dev);
+}
+
 /* Can we make this smaller? */
 #define IIO_ALIGN L1_CACHE_BYTES
 /**
-- 
1.7.10

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

end of thread, other threads:[~2012-05-12  9:08 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-11 12:58 [PATCH 01/24] iio: Add dev_to_iio_dev() helper function Lars-Peter Clausen
2012-05-11 12:58 ` [PATCH 02/24] iio: Use dev_to_iio_dev() Lars-Peter Clausen
2012-05-12  8:26   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 03/24] staging:iio:adis16203_read_ring_data: Pass IIO device directly Lars-Peter Clausen
2012-05-12  8:28   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 04/24] staging:iio:adis16204_read_ring_data: " Lars-Peter Clausen
2012-05-12  8:28   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 05/24] staging:iio:adis16209_read_ring_data: " Lars-Peter Clausen
2012-05-12  8:30   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 06/24] staging:iio:adis16240_read_ring_data: " Lars-Peter Clausen
2012-05-12  8:31   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 07/24] staging:iio:__lis3l02dq_write_data_ready_config: " Lars-Peter Clausen
2012-05-12  8:34   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 08/24] staging:iio:adis16260_read_ring_data: " Lars-Peter Clausen
2012-05-12  8:35   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 09/24] staging:iio:ade7758_spi_read_burst: " Lars-Peter Clausen
2012-05-12  8:35   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 10/24] staging:iio:adis16400_ring: " Lars-Peter Clausen
2012-05-12  8:36   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 11/24] staging:iio:adc: Use dev_to_iio_dev() Lars-Peter Clausen
2012-05-12  8:40   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 12/24] staging:iio:accel: " Lars-Peter Clausen
2012-05-12  8:43   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 13/24] staging:iio:addac: " Lars-Peter Clausen
2012-05-12  8:44   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 14/24] staging:iio:cdc: " Lars-Peter Clausen
2012-05-12  8:45   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 15/24] staging:iio:dac: " Lars-Peter Clausen
2012-05-12  8:45   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 16/24] staging:iio:frequency: " Lars-Peter Clausen
2012-05-12  8:46   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 17/24] staging:iio:gyro: " Lars-Peter Clausen
2012-05-12  8:46   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 18/24] staging:iio:impedance-analyzer: " Lars-Peter Clausen
2012-05-12  8:47   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 19/24] staging:iio:imu: " Lars-Peter Clausen
2012-05-12  8:47   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 20/24] staging:iio:light: " Lars-Peter Clausen
2012-05-12  8:48   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 21/24] staging:iio:magnetometer: " Lars-Peter Clausen
2012-05-12  8:49   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 22/24] staging:iio:resolver: " Lars-Peter Clausen
2012-05-12  8:49   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 23/24] staging:iio:meter: " Lars-Peter Clausen
2012-05-12  8:50   ` Jonathan Cameron
2012-05-11 12:58 ` [PATCH 24/24] iio: Free up drvdata for driver usage Lars-Peter Clausen
2012-05-12  8:51   ` Jonathan Cameron
2012-05-12  9:08 ` [PATCH 01/24] iio: Add dev_to_iio_dev() helper function 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.