staging: comedi: Add module parameters for default buffer size
authorIan Abbott <abbotti@mev.co.uk>
Fri, 13 Apr 2012 13:12:53 +0000 (14:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 13 Apr 2012 18:18:23 +0000 (11:18 -0700)
commit4d7df821277e82ebe2fc9c9af07c928a83f572b8
tree166c802ebf8c67647c85c5cb3f2a2cfa972f8059
parentb3201b563d36eb799d3f9e14871d5dda2b11f3e8
staging: comedi: Add module parameters for default buffer size

For comedi subdevices that support asynchronous transfer commands, the
initial buffer size and maximum buffer size for the transfer are both
set to 64 KiB when the comedi device is "attached" to the hardware
device.  For many applications with reasonable fast sample rates and
slow user-space (e.g. Python) these sizes are a bit too small.

A task with CAP_SYS_ADMIN privileges can change the maximum buffer size
for a comedi subdevice with an ioctl call or by writing to a device
attribute file in sysfs, but that's not very convenient.  For comedi
devices attached during system startup, this could be done by a start-up
script, but for hot-plugged devices it would require scripts run by udev
rules, etc.

Rather than use hardwired values, this patch introduces a couple of
module parameters to set the defaults for the initial buffer size
(comedi_default_buf_size_kb) and maximum buffer size
(comedi_default_buf_maxsize_kb).  These values are applied in place of
the previous hard-wired values when the comedi device is "attached".
The module parameter values are in units of KiB for consistency with the
existing device attribute files.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/comedi_fops.c
drivers/staging/comedi/drivers.c
drivers/staging/comedi/internal.h