[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75Ve=gRhRMN-3JyEZ3EX3oU72buGhGTx6jukgwOzO=KRjNA@mail.gmail.com>
Date: Wed, 28 Feb 2024 20:06:14 +0200
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Kieran Bingham <kieran.bingham@...asonboard.com>, Jonathan Cameron <jic23@...nel.org>
Cc: sakari.ailus@...ux.intel.com, Zhi Mao 毛智 <zhi.mao@...iatek.com>,
"heiko@...ech.de" <heiko@...ech.de>,
"tomi.valkeinen@...asonboard.com" <tomi.valkeinen@...asonboard.com>, "robh+dt@...nel.org" <robh+dt@...nel.org>,
"yunkec@...omium.org" <yunkec@...omium.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"dan.scally@...asonboard.com" <dan.scally@...asonboard.com>,
"gerald.loacker@...fvision.net" <gerald.loacker@...fvision.net>,
Shengnan Wang 王圣男 <shengnan.wang@...iatek.com>,
"hdegoede@...hat.com" <hdegoede@...hat.com>,
"linux-media@...r.kernel.org" <linux-media@...r.kernel.org>,
"linus.walleij@...aro.org" <linus.walleij@...aro.org>,
"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>,
Yaya Chang 張雅清 <Yaya.Chang@...iatek.com>,
"mchehab@...nel.org" <mchehab@...nel.org>,
"jacopo.mondi@...asonboard.com" <jacopo.mondi@...asonboard.com>,
"jernej.skrabec@...il.com" <jernej.skrabec@...il.com>,
"linux-mediatek@...ts.infradead.org" <linux-mediatek@...ts.infradead.org>,
"bingbu.cao@...el.com" <bingbu.cao@...el.com>,
Project_Global_Chrome_Upstream_Group <Project_Global_Chrome_Upstream_Group@...iatek.com>,
"10572168@...com" <10572168@...com>, "conor+dt@...nel.org" <conor+dt@...nel.org>,
"hverkuil-cisco@...all.nl" <hverkuil-cisco@...all.nl>,
"krzysztof.kozlowski+dt@...aro.org" <krzysztof.kozlowski+dt@...aro.org>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
"laurent.pinchart@...asonboard.com" <laurent.pinchart@...asonboard.com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"angelogioacchino.delregno@...labora.com" <angelogioacchino.delregno@...labora.com>,
"macromorgan@...mail.com" <macromorgan@...mail.com>
Subject: Re: [PATCH v6 2/2] media: i2c: Add GC08A3 image sensor driver
On Wed, Feb 28, 2024 at 7:34 PM Kieran Bingham
<kieran.bingham@...asonboard.com> wrote:
> Quoting Andy Shevchenko (2024-02-28 17:17:12)
> > On Wed, Feb 28, 2024 at 2:03 PM sakari.ailus@...ux.intel.com
> > <sakari.ailus@...ux.intel.com> wrote:
> > > On Wed, Feb 28, 2024 at 11:22:13AM +0200, Andy Shevchenko wrote:
> > > > > Another, I also reviewed some other sensor driver code(such as
> > > > > gc0a08/gc2145 and imx/ov), they are all the same.
> > > >
> > > > They are also problematic. So what?
> > >
> > > The situation is the same in a large number of drivers, also outside the
> > > media tree. It's also not trivial to figure out which header should be
> > > included and it tends to be that if it compiles without warnings,
> > > developers won't bother trying to figure out what should still be changed.
> >
> > I spent about 20 minutes reading the code. Yes, for inexperienced
> > developers it can take 3x longer, but still, much longer time was
> > spent on writing that code to begin with. So, the headers are a part
> > of the evolution of the code. And now it's pure technical debt with no
> > excuses to not fulfill.
> >
> > TL;DR: It's (rightfully) assumed that the developer *knows* their code.
> >
> > > I wonder if this could be automated by using the C preprocessor and a
> > > small Perl script. :-)
> >
> > There is a Google project coming from Clang people or so, but I have
> > no idea of the state of affairs.
>
> I've used iwyu (include-what-you-use) successfully on libcamera. But I
> don't know how this would translate to working on the kernel, with a
> more complex build system.
Jonathan tried that once. It needs to be heavily tweaked to be used in
the kernel project.
> But indeed, tooling already exists [0] to do these checks, and is packaged
> in distros [1]
>
> [0] https://include-what-you-use.org/
> [1] https://manpages.ubuntu.com/manpages/focal/man1/iwyu_tool.1.html
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists