CHECK: Alignment should match open parenthesis

Nicholas Mc Guire der.herr at hofr.at
Fri Mar 13 11:33:19 EDT 2015


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.

thx!
hofrat 



More information about the Kernelnewbies mailing list