RE: [PATCH] staging: comedi: cleanup alloc_subdevices

From: H Hartley Sweeten
Date: Mon Jun 11 2012 - 20:07:39 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/