Re: [PATCH] media: do not use C++ style comments in uapi headers

From: Joe Perches
Date: Sun Jun 09 2019 - 09:39:50 EST


On Sun, 2019-06-09 at 22:08 +0900, Masahiro Yamada wrote:
> On Sun, Jun 9, 2019 at 8:57 PM Joe Perches <joe@xxxxxxxxxxx> wrote:
> > On Sun, 2019-06-09 at 16:14 +0900, Masahiro Yamada wrote:
> > > Hi Joe,
> > >
> > > On Thu, Jun 6, 2019 at 2:06 AM Joe Perches <joe@xxxxxxxxxxx> wrote:
> > > > Perhaps a checkpatch change too:
> > > >
> > > > The first block updates unsigned only bitfields
> > > > The second tests uapi definitions and suggests "__<kernel_types"
> > >
> > > Good.
> > >
> > > In addition,
> > >
> > > "warn if __u8, __u16, __u32, __u64 are used outside of uapi/"
> > >
> > > Lots of kernel-space headers use __u{8,16,32,64} instead of u{8,16,32,64}
> > > just because developers often miss to understand when to use
> > > the underscore-prefixed types.
> >
> > The problem there is that checkpatch can't know if the
> > __<uapi_type> being used is for an actual uapi use or not.
> >
> > coccinelle could be much better at that.
>
> Why?


Perhaps it's (somewhat) bad form to have a __uapi type in a
structure, include that structure in a driver for something
like a copy_to/from_user, and map the __<uapi_type> to a non
underscore prefixed <kernel_type>

For instance

struct flat_binder_object in drivers/android/binder.c

How is checkpatch supposed to know that __u32 flags is
inappropriate?