RE: [PATCH] staging: comedi: cleanup alloc_subdevices

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

 



On Monday, June 11, 2012 4:57 PM, Greg KH wrote:
> On Thu, Jun 07, 2012 at 03:08:15PM -0700, H Hartley Sweeten wrote:
>> Cleanup the comedi core "alloc_subdevices" fuction and it's use
>> in the comedi drivers.
>> 
>> 1) Move the inline alloc_subdevices() function from comedidev.h
>> to drivers.c and rename it to comedi_alloc_subdevices(). The
>> function is large enough to warrant being an exported symbol
>> rather than being an inline in every driver.
>> 
>> 2) Since dev->n_subdevices is an int variable, change the 
>> num_subdevices parameter from an unsigned int to an int.
>> 
>> 3) It's possible for a couple of the comedi drivers to incorrectly
>> call this function with num_subdevices = 0 so add a sanity check
>> before doing the kcalloc.
>> 
>> 4) It's possible for the kcalloc to fail so don't set dev->n_subdevices
>> until after the kcalloc has succedded. Also, remove the places in
>> the drivers were dev->n_subdevices was being set directly.
>> 
>> 5) Remove all the "allocation failed" error messages.
>> 
>> 6) Remove all the "Allocate the subdevice structures" comments from
>> the drivers. The function name itself provides this information.
>> 
>> 7) When comedi_alloc_subdevices does fail, make all the drivers
>> properly return the error code.
>
> You are doing 7 different things in one patch.  Doesn't that imply that
> you should have 7 different patches, in series, doing this?  That would
> make it easier to review at the least.
>
> Please redo this in that manner and resend.

2, 3, and 4 probably go together. They all deal with the 'num_subdevices'

1 can be a separate patch as long as I don't do the rename.

5, 6, and 7 could all go together with the final rename of the function.

Does that sound ok?

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