Subject: Re: [PATCH v2 07/16] thermal: mediatek: add PMIC thermal support

From: Jonathan Cameron <[email-masked]>
Date: Tue, 12 May 2026 14:33:25 +0100

On Tue, 12 May 2026 14:02:50 +0300
Andy Shevchenko <[email-masked]> wrote:

> On Tue, May 12, 2026 at 08:55:44AM +0000, Roman Vivchar wrote:
> > On Tuesday, May 12th, 2026 at 10:05 AM, Andy Shevchenko <[email-masked]> wrote:  
> > > On Tue, May 12, 2026 at 8:21 AM Roman Vivchar via B4 Relay
> > > <[email-masked]> wrote:  
> 
> ...
> 
> > > > +#include <linux/kernel.h>  
> > >
> > > No way the driver(s) nowadays use this header. Please, drop it and add
> > > the ones that are really in use (there are missing ones).  
> > 
> > Is there a tool or script that can check for IWYU?  
> 
> The `iwyu` tool with customised configuration is the closest what we have
> (but quite far from ideal), you can read this thread [2].

For what it is worth the various AI tools don't do badly if you ask
them and Sasiko often comments on this now (running on all of linux-iio)
This series is pending though - might be done tomorrow:
https://sashiko.dev/#/patchset/20260512-mt6323-v2-0-3efcba579e88%40protonmail.com

> 
> > For example,
> > the u32 and s32 types are defined in the asm-generic/int-ll64.h, which
> > is not used by any device driver. Instead, types.h should be used.
> > It's difficult to guess which header to use for a given type/function.  
> 
> I know. I got this knowledge because:
> - I do a lot of reviews and patches and gathered it from the experience
> - I am the one who reshuffled *some* of the headers
> 
> > I've tried include-what-you-use [1], but it gives bad results like
> > "add #include <asm-generic/int-ll64.h> // for u32".  
> 
> See above.
> 
> > > > +#include <linux/module.h>
> > > > +#include <linux/nvmem-consumer.h>
> > > > +#include <linux/platform_device.h>
> > > > +#include <linux/property.h>
> > > > +#include <linux/regmap.h>  
> > >  
> > > > +#include <linux/slab.h>  
> > >
> > > Is it used?  
> > 
> > Yes, without slab.h the __free would complain about missing __free_kfree,
> > which is DEFINE_FREE(kfree, void *, if (!IS_ERR_OR_NULL(_T)) kfree(_T)).  
> 
> Ah, indeed. I forgot that this is not the part of cleanup.h.
> 
> ...
> 
> > 1: https://github.com/include-what-you-use/include-what-you-use  
> [2]: https://lore.kernel.org/all/[email-masked]/
>