CHECK: Alignment should match open parenthesis

Daniel Baluta daniel.baluta at gmail.com
Fri Mar 13 12:15:05 EDT 2015


On Fri, Mar 13, 2015 at 5:33 PM, Nicholas Mc Guire <der.herr at hofr.at> wrote:
> On Fri, 13 Mar 2015, Daniel Baluta wrote:
>
>> 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 :).
>>
> At this level of detail it would be almost unmaintainable
> and also you would end up with far too many rules to actually
> keep them in mind. That is the job of tools like checkpatch.pl
> they can have all the myriads of corner cases encoded without
> creating a burden to the developers/maintainers.

I see. Thanks!



More information about the Kernelnewbies mailing list