]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: comedi: pass subdevice to comedi_buf_munge()
authorIan Abbott <abbotti@mev.co.uk>
Tue, 6 May 2014 12:12:12 +0000 (13:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 May 2014 12:25:49 +0000 (21:25 +0900)
Local function `comedi_buf_munge()` is called by
`comedi_buf_write_free()` to modify (or "munge") the data copied from
a device into the buffer.

Currently, the function takes a pointer to a `struct comedi_async` and
gets a pointer to the comedi subdevice from the `subdevice` member.
Change it to take a pointer to a `struct comedi_subdevice` and get a
pointer to the "async" structure from the `async` member.

The main motivation for this is to elimate the `subdevice` member of
`struct comedi_async`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/comedi_buf.c

index 46de9338bada23769679480df0311ac8e766e6fb..b5e329e1f623056b38f3b5502222413293e7e9f0 100644 (file)
@@ -282,10 +282,10 @@ EXPORT_SYMBOL_GPL(comedi_buf_write_alloc);
  * munging is applied to data by core as it passes between user
  * and kernel space
  */
-static unsigned int comedi_buf_munge(struct comedi_async *async,
+static unsigned int comedi_buf_munge(struct comedi_subdevice *s,
                                     unsigned int num_bytes)
 {
-       struct comedi_subdevice *s = async->subdevice;
+       struct comedi_async *async = s->async;
        unsigned int count = 0;
        const unsigned num_sample_bytes = bytes_per_sample(s);
 
@@ -344,7 +344,7 @@ unsigned int comedi_buf_write_free(struct comedi_subdevice *s,
 
        async->buf_write_count += nbytes;
        async->buf_write_ptr += nbytes;
-       comedi_buf_munge(async, async->buf_write_count - async->munge_count);
+       comedi_buf_munge(s, async->buf_write_count - async->munge_count);
        if (async->buf_write_ptr >= async->prealloc_bufsz)
                async->buf_write_ptr %= async->prealloc_bufsz;