aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio/accel/sca3000_ring.c
diff options
context:
space:
mode:
authorJonathan Cameron <jic23@cam.ac.uk>2011-08-30 07:32:47 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-09-06 18:59:10 -0400
commit1aa042783251c27a93e31929c24647729db326d4 (patch)
tree137aba5136332c8c8ad7d2cdd5d194084751f0f5 /drivers/staging/iio/accel/sca3000_ring.c
parent6356463cf4627f599547f0698853ef419b2d2f1d (diff)
staging: iio: push the main buffer chrdev down to the top level.
Sorry all, this one is very invasive, though the driver changes are just trivial interface fixes. Not all done yet. V2 - bring the sca3000 with us. V3 - fix ade7758 bugs in conversion. V4 - add ad5933 Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/accel/sca3000_ring.c')
-rw-r--r--drivers/staging/iio/accel/sca3000_ring.c23
1 files changed, 3 insertions, 20 deletions
diff --git a/drivers/staging/iio/accel/sca3000_ring.c b/drivers/staging/iio/accel/sca3000_ring.c
index 0b736dbe818..cc38521e6e2 100644
--- a/drivers/staging/iio/accel/sca3000_ring.c
+++ b/drivers/staging/iio/accel/sca3000_ring.c
@@ -144,11 +144,6 @@ static int sca3000_ring_get_bytes_per_datum(struct iio_ring_buffer *r)
144{ 144{
145 return 6; 145 return 6;
146} 146}
147static void sca3000_ring_release(struct device *dev)
148{
149 struct iio_ring_buffer *r = to_iio_ring_buffer(dev);
150 kfree(iio_to_hw_ring_buf(r));
151}
152 147
153static IIO_RING_ENABLE_ATTR; 148static IIO_RING_ENABLE_ATTR;
154static IIO_RING_BYTES_PER_DATUM_ATTR; 149static IIO_RING_BYTES_PER_DATUM_ATTR;
@@ -258,16 +253,7 @@ static struct attribute *sca3000_ring_attributes[] = {
258 253
259static struct attribute_group sca3000_ring_attr = { 254static struct attribute_group sca3000_ring_attr = {
260 .attrs = sca3000_ring_attributes, 255 .attrs = sca3000_ring_attributes,
261}; 256 .name = "buffer",
262
263static const struct attribute_group *sca3000_ring_attr_groups[] = {
264 &sca3000_ring_attr,
265 NULL
266};
267
268static struct device_type sca3000_ring_type = {
269 .release = sca3000_ring_release,
270 .groups = sca3000_ring_attr_groups,
271}; 257};
272 258
273static struct iio_ring_buffer *sca3000_rb_allocate(struct iio_dev *indio_dev) 259static struct iio_ring_buffer *sca3000_rb_allocate(struct iio_dev *indio_dev)
@@ -282,18 +268,15 @@ static struct iio_ring_buffer *sca3000_rb_allocate(struct iio_dev *indio_dev)
282 ring->private = indio_dev; 268 ring->private = indio_dev;
283 buf = &ring->buf; 269 buf = &ring->buf;
284 buf->stufftoread = 0; 270 buf->stufftoread = 0;
271 buf->attrs = &sca3000_ring_attr;
285 iio_ring_buffer_init(buf, indio_dev); 272 iio_ring_buffer_init(buf, indio_dev);
286 buf->dev.type = &sca3000_ring_type;
287 buf->dev.parent = &indio_dev->dev;
288 dev_set_drvdata(&buf->dev, (void *)buf);
289 273
290 return buf; 274 return buf;
291} 275}
292 276
293static inline void sca3000_rb_free(struct iio_ring_buffer *r) 277static inline void sca3000_rb_free(struct iio_ring_buffer *r)
294{ 278{
295 if (r) 279 kfree(iio_to_hw_ring_buf(r));
296 iio_put_ring_buffer(r);
297} 280}
298 281
299static const struct iio_ring_access_funcs sca3000_ring_access_funcs = { 282static const struct iio_ring_access_funcs sca3000_ring_access_funcs = {