RE: [PATCH 01/12] staging: comedi: drivers: introduce comedi_legacy_detach()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thursday, April 18, 2013 3:37 AM, Ian Abbott wrote:
> On 2013-04-17 19:16, H Hartley Sweeten wrote:
>> This function is intended to be used by the comedi legacy (ISA) drivers
>> either directly as the (*detach) function or as a helper in the drivers
>> private (*detach) function.
>>
>> Modify the __comedi_request_region() helper so that it stores the first
>> struct resource returned by request_region() in the comedi_device.
>>
>> The comedi_legacy_detach() function will then automatically release the
>> region during the detach of the driver.
>>
>> Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx>
>> Cc: Ian Abbott <abbotti@xxxxxxxxx>
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

<snip>

> An alternative implementation would be to leave 
> __comedi_request_region() alone, but change comedi_request_region() to 
> record the length in a new member dev->iolen at the same time that it 
> records the start address in dev->iobase.  Then your 
> comedi_legacy_detach() could do something like:
>
>	if (dev->iolen) {
>		release_region(dev->iobase, dev->iolen);
>		dev->iolen = 0;
>	}
>
> I think it seems slightly simpler and shouldn't affect your other 
> patches.  Any thoughts?

I feel its cleaner to save the actual resource that was allocated by
request_resource(), it's less error prone.

But, I could change __comedi_request_region() so it returns the
allocated resource instead of an errno. Then comedi_request_resource()
can save it in the comedi_device. Any drivers that request additional
resources could so the same and use the saved resource when detaching.
Also, comedi_request_resource() could (should?) sanity check the
saved resource to make sure a driver does not call it multiple times.

I can either modify this series to work that way or submit a patch
after this.

Regards,
Hartley
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux