From: Ian Abbott Date: Tue, 6 May 2014 12:12:12 +0000 (+0100) Subject: staging: comedi: pass subdevice to comedi_buf_munge() X-Git-Tag: next-20140530~19^2~456 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=5b108588ba1ff6c18502dc9fe711b0229a18b9f8;p=karo-tx-linux.git 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: Ian Abbott Reviewed-by: H Hartley Sweeten Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/comedi_buf.c b/drivers/staging/comedi/comedi_buf.c index 46de9338bada..b5e329e1f623 100644 --- a/drivers/staging/comedi/comedi_buf.c +++ b/drivers/staging/comedi/comedi_buf.c @@ -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;