Re: [PATCH v3 2/3] hwmon: da9063: HWMON driver

From: Randy Dunlap
Date: Sun Jul 11 2021 - 00:58:42 EST


On 7/10/21 9:44 PM, Vincent Pelletier wrote:
On Sun, 11 Jul 2021 02:55:02 +0000, Vincent Pelletier <plr.vincent@xxxxxxxxx> wrote:
On Sat, 10 Jul 2021 09:08:13 -0700, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
Unnecessary include.
[...]
I don't immediately see where this include is needed. Is this a
leftover ?
[...]
Same here.

Are there ways to systematically tell which includes are useless
besides commenting them out all and uncommenting until it compiles ?
(if that is even a good idea)

I tried this, just to get a baseline: the module compiles with just
linux/hwmon.h
linux/mfd/da9063/core.h
linux/module.h
linux/platform_device.h
linux/regmap.h

Beyond what you suggested this also gets rid of:
- seems reasonable:
- linux/delay.h
- linux/init.h
- linux/slab.h
- looks suspicious to me:
- linux/err.h, which means the error constants are indirectly
imported. Removing it feels brittle.
- linux/kernel.h, although to my surprise a lot of c files do not
include it.

By default I'll drop the former and keep the latter in the
next version, please let me know if another combination is preferred.


Hi,

Please use Rule #1 from Documentation/process/submit-checklist.rst:

1) If you use a facility then #include the file that defines/declares
that facility. Don't depend on other header files pulling in ones
that you use.


so if Enumbers (error numbers) are used, then #include the header file
for that.

etc.

thanks.

--
~Randy