Patch from abbotti@mev.co.uk (Ian Abbott):
authorFrank Mori Hess <fmhess@speakeasy.net>
Mon, 12 Jun 2006 01:10:38 +0000 (01:10 +0000)
committerFrank Mori Hess <fmhess@speakeasy.net>
Mon, 12 Jun 2006 01:10:38 +0000 (01:10 +0000)
commitf3e0c5fe8c5a7f0ca7490a9cee5d932ff1dde031
tree52d37c84ba2e0820a5200de987cc2bc030e6359b
parent4ef7df4122cf7f74e42fac893359143a68f90032
Patch from abbotti@mev.co.uk (Ian Abbott):

The (few) module parameters used by comedi (for debugging and for specifying
irq_mask or irq_list for some PCMCIA drivers) haven't worked since kernel
2.6.11. If you try and specify a module parameter when loading a module, the
module fails to load due to missing symbols.

I have implemented a linux/moduleparam.h compatibility header using code
borrowed from the 2.4.25 kernel with some additions, and a patch to use it.

The module_param() macro has been implemented for 2.4 kernels.  Unfortunately,
it is not possible to implement module_param_array() for 2.4 kernels, so I
implemented a similar MODULE_PARAM_ARRAY() macro instead.  The third parameter
is different, being the length of the array rather than a (optionally null)
pointer to a variable set to the number of elements of the array that have been
filled in (that information is not available in 2.4 so I thought it best to omit
it entirely).  There is one restriction on the "length of array" parameter; it
has to be a decimal number (or a macro that expands to a decimal number), not a
fancy C expression, otherwise insmod won't parse it properly (if at all!).
comedi/comedi_fops.c
comedi/drivers/cb_das16_cs.c
comedi/drivers/comedi_bond.c
comedi/drivers/das08_cs.c
comedi/drivers/ni_daq_dio24.c
comedi/drivers/ni_labpc_cs.c
comedi/drivers/quatech_daqp_cs.c
include/linux/module.h
include/linux/moduleparam.h [new file with mode: 0644]