diff options
author | Jonathan Cameron <jic23@cam.ac.uk> | 2010-10-07 08:10:21 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-10-07 13:06:44 -0400 |
commit | a7861ff082fe75fd7d7fd22c87c37c8425674ae2 (patch) | |
tree | 66504b73355a1a820916430bcbf8439f39de904a /drivers/staging | |
parent | 7aa3baeb976700971acad518b3bfaad5fe1afd54 (diff) |
staging: iio: max1363 fix bug due to scan_element directory move.
The device found passed to the attr functions is that of the ring
buffer, not the the iio_dev so we need to bounce through one more
hop to get the right address.
Reported-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/iio/adc/max1363_core.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/staging/iio/adc/max1363_core.c b/drivers/staging/iio/adc/max1363_core.c index 06c602467c6..dde097afb43 100644 --- a/drivers/staging/iio/adc/max1363_core.c +++ b/drivers/staging/iio/adc/max1363_core.c | |||
@@ -151,7 +151,8 @@ static ssize_t max1363_show_precision_u(struct device *dev, | |||
151 | struct device_attribute *attr, | 151 | struct device_attribute *attr, |
152 | char *buf) | 152 | char *buf) |
153 | { | 153 | { |
154 | struct iio_dev *dev_info = dev_get_drvdata(dev); | 154 | struct iio_ring_buffer *ring = dev_get_drvdata(dev); |
155 | struct iio_dev *dev_info = ring->indio_dev; | ||
155 | struct max1363_state *st = iio_dev_get_devdata(dev_info); | 156 | struct max1363_state *st = iio_dev_get_devdata(dev_info); |
156 | return sprintf(buf, "u%d/16\n", st->chip_info->bits); | 157 | return sprintf(buf, "u%d/16\n", st->chip_info->bits); |
157 | } | 158 | } |
@@ -160,7 +161,8 @@ static ssize_t max1363_show_precision_s(struct device *dev, | |||
160 | struct device_attribute *attr, | 161 | struct device_attribute *attr, |
161 | char *buf) | 162 | char *buf) |
162 | { | 163 | { |
163 | struct iio_dev *dev_info = dev_get_drvdata(dev); | 164 | struct iio_ring_buffer *ring = dev_get_drvdata(dev); |
165 | struct iio_dev *dev_info = ring->indio_dev; | ||
164 | struct max1363_state *st = iio_dev_get_devdata(dev_info); | 166 | struct max1363_state *st = iio_dev_get_devdata(dev_info); |
165 | return sprintf(buf, "s%d/16\n", st->chip_info->bits); | 167 | return sprintf(buf, "s%d/16\n", st->chip_info->bits); |
166 | } | 168 | } |