aboutsummaryrefslogtreecommitdiff
path: root/include/linux/mfd
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior2013-06-05 16:13:47 +0200
committerSebastian Andrzej Siewior2013-06-12 17:58:59 +0200
commita9bce1b03c2199e66d36cda8aac675338bc074a7 (patch)
tree1f02ee8522388834c2a31de21dd8b7b38409f457 /include/linux/mfd
parentd683b96b072dc4680fc74964eca77e6a23d1fa6e (diff)
mfd: input: iio: ti_am335x_adc: use one structure for ti_tscadc_dev
The mfd driver creates platform data for the child devices and it is the ti_tscadc_dev struct. This struct is copied for the two devices. The copy of the structure makes a common lock in this structure a little less usefull. Therefore the platform data is not a pointer to the structure and the same structure is used. While doing the change I noticed that the suspend/resume code assumes the wrong pointer for ti_tscadc_dev and this has been fixed as well. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Diffstat (limited to 'include/linux/mfd')
-rw-r--r--include/linux/mfd/ti_am335x_tscadc.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h
index c79ad5d2f271..8114e4e8b91b 100644
--- a/include/linux/mfd/ti_am335x_tscadc.h
+++ b/include/linux/mfd/ti_am335x_tscadc.h
@@ -149,4 +149,11 @@ struct ti_tscadc_dev {
struct adc_device *adc;
};
+static inline struct ti_tscadc_dev *ti_tscadc_dev_get(struct platform_device *p)
+{
+ struct ti_tscadc_dev **tscadc_dev = p->dev.platform_data;
+
+ return *tscadc_dev;
+}
+
#endif