CHECK: Alignment should match open parenthesis

Daniel Baluta daniel.baluta at gmail.com
Fri Mar 13 10:35:30 EDT 2015


On Fri, Mar 13, 2015 at 3:47 PM, Nicholas Mc Guire <der.herr at hofr.at> wrote:
> On Fri, 13 Mar 2015, Nicholas Mc Guire wrote:
>
>> On Fri, 13 Mar 2015, palik imre wrote:
>>
>> > On Friday, 13 March 2015, 13:43, Nicholas Mc Guire <der.herr at hofr.at> wrote:
>> > > On Fri, 13 Mar 2015, palik imre wrote:
>> > >
>> > >
>> > > > Sorry for the silly question, but I have some issues with this checkpatch.pl warning.
>> > > >
>> > > > I mean Documentation/CodingStyle says:
>> > > >
>> > > > Outside of comments, documentation and except in Kconfig, spaces are never
>> > > > used for indentation, and the above example is deliberately broken.
>> > > >
>> > > > But checkpatch.pl claims I should align to open parentheses.  These two things seem to be contradictory to me.  Could somebody clarify this?
>> > >
>> > > >
>> > > leading tabs *followed* by spaces to align parameters to a function are fine
>> >
>> > The emacs settings in Documentation/CodingStyle seem to contradict to you,
>> > as it is set up to use c-lineup-arglist-tabs-only
>> >
>> The problem is that CodingStyle does not explicitly address
>> parameter alignment for functions that do not fit on a single line
>> but checkpatch.pl does
>>
>> you can try it out - if you align to the opening braces with spaces
>> with preceding TABs it will not fuss and this is also common practice.
>>
> here is a quick shot at summarizing this
>
>
> If the parameter list to a functions would exceed the 80 char limit then break
> it at the separators, and align to opening braces, e.g.:
>
>                         ret = fw_load_from_user_helper(fw, name, device,
>                                                        opt_flags, timeout);
>
> or:
>
>         int =
>         wait_for_completion_interruptible_timeout(data->completion,
>                                                   PMI_TIMEOUT);
>
> Note that this is indented by tabs and then aligned with spaced to fit the
> opening braces. If you can not fit it even if you break the parameter list
> at the commas then indent by tabs only but *significantly* to the left of
> the opening braces, e.g.:
>
>                 int ret = wait_for_completion_interruptible_timeout(
>                                 &info->done, usecs_to_jiffies(TIMEOUT_US));
>
>
> would be suprised if there is no writeup somewhere alredy
> but I did not find this covered in Documentations anywhere.

I think it would be a coding idea to have this in CodingStyle doc :).

Daniel.



More information about the Kernelnewbies mailing list