[PATCH] iio: chemical: scd30: remove kernel.h header

Maxwell Doose posted 1 patch 1 week, 6 days ago
drivers/iio/chemical/scd30_core.c | 1 -
1 file changed, 1 deletion(-)
[PATCH] iio: chemical: scd30: remove kernel.h header
Posted by Maxwell Doose 1 week, 6 days ago
kernel.h is no longer recommended for usage because it can cause longer
build times and pull in transient dependencies. In addition, it's not
being used by the SCD30 driver. Remove it.

Signed-off-by: Maxwell Doose <m32285159@gmail.com>
---
 drivers/iio/chemical/scd30_core.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/iio/chemical/scd30_core.c b/drivers/iio/chemical/scd30_core.c
index f85cdd8bd84f..40bbf26a667b 100644
--- a/drivers/iio/chemical/scd30_core.c
+++ b/drivers/iio/chemical/scd30_core.c
@@ -23,7 +23,6 @@
 #include <linux/interrupt.h>
 #include <linux/irqreturn.h>
 #include <linux/jiffies.h>
-#include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/mutex.h>
 #include <linux/regulator/consumer.h>
-- 
2.54.0
Re: [PATCH] iio: chemical: scd30: remove kernel.h header
Posted by Joshua Crofts 1 week, 6 days ago
On Sun, 12 Jul 2026 11:42:25 -0500
Maxwell Doose <m32285159@gmail.com> wrote:

> kernel.h is no longer recommended for usage because it can cause longer
> build times and pull in transient dependencies. In addition, it's not
> being used by the SCD30 driver. Remove it.
> 
> Signed-off-by: Maxwell Doose <m32285159@gmail.com>
> ---
>  drivers/iio/chemical/scd30_core.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/iio/chemical/scd30_core.c b/drivers/iio/chemical/scd30_core.c
> index f85cdd8bd84f..40bbf26a667b 100644
> --- a/drivers/iio/chemical/scd30_core.c
> +++ b/drivers/iio/chemical/scd30_core.c
> @@ -23,7 +23,6 @@
>  #include <linux/interrupt.h>
>  #include <linux/irqreturn.h>
>  #include <linux/jiffies.h>
> -#include <linux/kernel.h>
>  #include <linux/module.h>
>  #include <linux/mutex.h>
>  #include <linux/regulator/consumer.h>

Since you're doing IWYU stuff, you should also remove errno.h and
add err.h instead, as the code uses IS_ERR() etc. and err.h includes
errno.h

Also consider grouping the iio headers and asm headers separately.
(separate patch though). The include list looks overwhelming!

-- 
Kind regards

CJD
Re: [PATCH] iio: chemical: scd30: remove kernel.h header
Posted by Maxwell Doose 1 week, 6 days ago
On Sun Jul 12, 2026 at 11:52 AM CDT
Joshua Crofts <joshua.crofts1@gmail.com> wrote:

> On Sun, 12 Jul 2026 11:42:25 -0500
> Maxwell Doose <m32285159@gmail.com> wrote:
>
>> kernel.h is no longer recommended for usage because it can cause longer
>> build times and pull in transient dependencies. In addition, it's not
>> being used by the SCD30 driver. Remove it.
>> 
>> Signed-off-by: Maxwell Doose <m32285159@gmail.com>
>> ---
>>  drivers/iio/chemical/scd30_core.c | 1 -
>>  1 file changed, 1 deletion(-)
>> 
>> diff --git a/drivers/iio/chemical/scd30_core.c b/drivers/iio/chemical/scd30_core.c
>> index f85cdd8bd84f..40bbf26a667b 100644
>> --- a/drivers/iio/chemical/scd30_core.c
>> +++ b/drivers/iio/chemical/scd30_core.c
>> @@ -23,7 +23,6 @@
>>  #include <linux/interrupt.h>
>>  #include <linux/irqreturn.h>
>>  #include <linux/jiffies.h>
>> -#include <linux/kernel.h>
>>  #include <linux/module.h>
>>  #include <linux/mutex.h>
>>  #include <linux/regulator/consumer.h>
>
> Since you're doing IWYU stuff, you should also remove errno.h and
> add err.h instead, as the code uses IS_ERR() etc. and err.h includes
> errno.h
>

I tried to set up iwyu-tool to no avail, but I can send a v2 with that.

> Also consider grouping the iio headers and asm headers separately.
> (separate patch though). The include list looks overwhelming!

Indeed it is but we try our best. Good thing is the more we remove
unneeded headers the better it gets.

-- 
best regards,
max
Re: [PATCH] iio: chemical: scd30: remove kernel.h header
Posted by Jonathan Cameron 1 week, 5 days ago
On Sun, 12 Jul 2026 13:47:24 -0500
"Maxwell Doose" <m32285159@gmail.com> wrote:

> On Sun Jul 12, 2026 at 11:52 AM CDT
> Joshua Crofts <joshua.crofts1@gmail.com> wrote:
> 
> > On Sun, 12 Jul 2026 11:42:25 -0500
> > Maxwell Doose <m32285159@gmail.com> wrote:
> >  
> >> kernel.h is no longer recommended for usage because it can cause longer
> >> build times and pull in transient dependencies. In addition, it's not
> >> being used by the SCD30 driver. Remove it.
> >> 
> >> Signed-off-by: Maxwell Doose <m32285159@gmail.com>
> >> ---
> >>  drivers/iio/chemical/scd30_core.c | 1 -
> >>  1 file changed, 1 deletion(-)
> >> 
> >> diff --git a/drivers/iio/chemical/scd30_core.c b/drivers/iio/chemical/scd30_core.c
> >> index f85cdd8bd84f..40bbf26a667b 100644
> >> --- a/drivers/iio/chemical/scd30_core.c
> >> +++ b/drivers/iio/chemical/scd30_core.c
> >> @@ -23,7 +23,6 @@
> >>  #include <linux/interrupt.h>
> >>  #include <linux/irqreturn.h>
> >>  #include <linux/jiffies.h>
> >> -#include <linux/kernel.h>
> >>  #include <linux/module.h>
> >>  #include <linux/mutex.h>
> >>  #include <linux/regulator/consumer.h>  
> >
> > Since you're doing IWYU stuff, you should also remove errno.h and
> > add err.h instead, as the code uses IS_ERR() etc. and err.h includes
> > errno.h
> >  
> 
> I tried to set up iwyu-tool to no avail, but I can send a v2 with that.
> 
> > Also consider grouping the iio headers and asm headers separately.
> > (separate patch though). The include list looks overwhelming!  
> 
> Indeed it is but we try our best. Good thing is the more we remove
> unneeded headers the better it gets.
> 
As a side note, (and I haven't checked it)
Sashiko had some interesting other stuff noticed whilst I reviewed this:
https://sashiko.dev/#/patchset/20260712164225.358852-1-m32285159%40gmail.com

If anyone has time to take a look the CMD_TEMP_OFFSET / 10 indeed looks
obviously wrong. + I moved that code without even noticing whilst using
guard() in this driver :(

Jonathan