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!).