[PATCH] staging: comedi: rework the comedi_auto_config 'context'

H Hartley Sweeten hartleys at visionengravers.com
Mon Dec 3 21:17:31 UTC 2012


On Monday, December 03, 2012 3:23 AM, Ian Abbott wrote:
> On 2012-11-30 22:19, H Hartley Sweeten wrote:
>> The 'context' passed to comedi_auto_config() is currently an unsigned
>> long value. This value is passed to the (*auto_attach)() function of a
>> comedi driver. Currently none of the comedi drivers use the 'context'.
>>
>> The only callers of comedi_auto_config() are the two inline wrappers
>> comedi_pci_auto_config() and comedi_usb_auto_config(). Both of these
>> pass a 'context' of 0.
>>
>> Change the 'context' to a const void * and rework the auto_config code
>> and the pci/usb drivers so that the 'context' passed is the struct
>> {pci,usb}_device_id * that is passed to the {pci,usb}_driver (*probe)()
>> function.
>>
>> Signed-off-by: H Hartley Sweeten <hsweeten at visionengravers.com>
>> Cc: Ian Abbott <abbotti at mev.co.uk>
>> Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>
> I'm not sure what you're planning to do with this, but maybe it would be 
> better to pass the `driver_data` from the `struct pci_device_id` or the 
> `driver_info` from the `struct usb_device_id` and change the type of the 
> context to `kernel_ulong_t`?

I'm trying to make the 'auto_attach' a continuation of the lower-level
probe function regardless of the bus type. The 'driver_info' might be
all that is required to do this but passing the *_device_id from the probe
seemed cleaner.

As I mentioned above, nothing in comedi uses the 'context' but it
might as well contain something useful.

Regards,
Hartley




More information about the devel mailing list