Commit 5b108588 authored by Ian Abbott's avatar Ian Abbott Committed by Greg Kroah-Hartman

staging: comedi: pass subdevice to comedi_buf_munge()

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: default avatarIan Abbott <abbotti@mev.co.uk>
Reviewed-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d4526ab4
...@@ -282,10 +282,10 @@ EXPORT_SYMBOL_GPL(comedi_buf_write_alloc); ...@@ -282,10 +282,10 @@ EXPORT_SYMBOL_GPL(comedi_buf_write_alloc);
* munging is applied to data by core as it passes between user * munging is applied to data by core as it passes between user
* and kernel space * 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) unsigned int num_bytes)
{ {
struct comedi_subdevice *s = async->subdevice; struct comedi_async *async = s->async;
unsigned int count = 0; unsigned int count = 0;
const unsigned num_sample_bytes = bytes_per_sample(s); const unsigned num_sample_bytes = bytes_per_sample(s);
...@@ -344,7 +344,7 @@ unsigned int comedi_buf_write_free(struct comedi_subdevice *s, ...@@ -344,7 +344,7 @@ unsigned int comedi_buf_write_free(struct comedi_subdevice *s,
async->buf_write_count += nbytes; async->buf_write_count += nbytes;
async->buf_write_ptr += 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) if (async->buf_write_ptr >= async->prealloc_bufsz)
async->buf_write_ptr %= async->prealloc_bufsz; async->buf_write_ptr %= async->prealloc_bufsz;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment