[PATCH v3 2/2] watchdog: Don't use "proxy" headers

Andy Shevchenko posted 2 patches 3 months ago
[PATCH v3 2/2] watchdog: Don't use "proxy" headers
Posted by Andy Shevchenko 3 months ago
Update header inclusions to follow IWYU (Include What You Use)
principle.

Note that kernel.h is discouraged to be included as it's written
at the top of that file.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/watchdog/watchdog_core.h       |  8 +++++++-
 drivers/watchdog/watchdog_pretimeout.c |  2 ++
 include/linux/watchdog.h               | 12 ++++++++----
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/drivers/watchdog/watchdog_core.h b/drivers/watchdog/watchdog_core.h
index 5b35a8439e26..ab825d9f9248 100644
--- a/drivers/watchdog/watchdog_core.h
+++ b/drivers/watchdog/watchdog_core.h
@@ -24,8 +24,14 @@
  *	This material is provided "AS-IS" and at no charge.
  */
 
-#include <linux/hrtimer.h>
+#include <linux/cdev.h>
+#include <linux/device.h>
+#include <linux/hrtimer_types.h>
+#include <linux/init.h>
 #include <linux/kthread.h>
+#include <linux/mutex_types.h>
+#include <linux/types.h>
+#include <linux/watchdog.h>
 
 #define MAX_DOGS	32	/* Maximum number of watchdog devices */
 
diff --git a/drivers/watchdog/watchdog_pretimeout.c b/drivers/watchdog/watchdog_pretimeout.c
index e5295c990fa1..2526436dc74d 100644
--- a/drivers/watchdog/watchdog_pretimeout.c
+++ b/drivers/watchdog/watchdog_pretimeout.c
@@ -7,6 +7,8 @@
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/string.h>
+#include <linux/sysfs.h>
+#include <linux/types.h>
 #include <linux/watchdog.h>
 
 #include "watchdog_core.h"
diff --git a/include/linux/watchdog.h b/include/linux/watchdog.h
index 99660197a36c..8c60687a3e55 100644
--- a/include/linux/watchdog.h
+++ b/include/linux/watchdog.h
@@ -9,14 +9,18 @@
 #ifndef _LINUX_WATCHDOG_H
 #define _LINUX_WATCHDOG_H
 
-
 #include <linux/bitops.h>
-#include <linux/cdev.h>
-#include <linux/device.h>
-#include <linux/kernel.h>
+#include <linux/limits.h>
 #include <linux/notifier.h>
+#include <linux/printk.h>
+#include <linux/types.h>
+
 #include <uapi/linux/watchdog.h>
 
+struct attribute_group;
+struct device;
+struct module;
+
 struct watchdog_ops;
 struct watchdog_device;
 struct watchdog_core_data;
-- 
2.47.2
Re: [PATCH v3 2/2] watchdog: Don't use "proxy" headers
Posted by Guenter Roeck 2 months, 3 weeks ago
On 7/8/25 06:33, Andy Shevchenko wrote:
> Update header inclusions to follow IWYU (Include What You Use)
> principle.
> 
> Note that kernel.h is discouraged to be included as it's written
> at the top of that file.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>


Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>   drivers/watchdog/watchdog_core.h       |  8 +++++++-
>   drivers/watchdog/watchdog_pretimeout.c |  2 ++
>   include/linux/watchdog.h               | 12 ++++++++----
>   3 files changed, 17 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/watchdog/watchdog_core.h b/drivers/watchdog/watchdog_core.h
> index 5b35a8439e26..ab825d9f9248 100644
> --- a/drivers/watchdog/watchdog_core.h
> +++ b/drivers/watchdog/watchdog_core.h
> @@ -24,8 +24,14 @@
>    *	This material is provided "AS-IS" and at no charge.
>    */
>   
> -#include <linux/hrtimer.h>
> +#include <linux/cdev.h>
> +#include <linux/device.h>
> +#include <linux/hrtimer_types.h>
> +#include <linux/init.h>
>   #include <linux/kthread.h>
> +#include <linux/mutex_types.h>
> +#include <linux/types.h>
> +#include <linux/watchdog.h>
>   
>   #define MAX_DOGS	32	/* Maximum number of watchdog devices */
>   
> diff --git a/drivers/watchdog/watchdog_pretimeout.c b/drivers/watchdog/watchdog_pretimeout.c
> index e5295c990fa1..2526436dc74d 100644
> --- a/drivers/watchdog/watchdog_pretimeout.c
> +++ b/drivers/watchdog/watchdog_pretimeout.c
> @@ -7,6 +7,8 @@
>   #include <linux/slab.h>
>   #include <linux/spinlock.h>
>   #include <linux/string.h>
> +#include <linux/sysfs.h>
> +#include <linux/types.h>
>   #include <linux/watchdog.h>
>   
>   #include "watchdog_core.h"
> diff --git a/include/linux/watchdog.h b/include/linux/watchdog.h
> index 99660197a36c..8c60687a3e55 100644
> --- a/include/linux/watchdog.h
> +++ b/include/linux/watchdog.h
> @@ -9,14 +9,18 @@
>   #ifndef _LINUX_WATCHDOG_H
>   #define _LINUX_WATCHDOG_H
>   
> -
>   #include <linux/bitops.h>
> -#include <linux/cdev.h>
> -#include <linux/device.h>
> -#include <linux/kernel.h>
> +#include <linux/limits.h>
>   #include <linux/notifier.h>
> +#include <linux/printk.h>
> +#include <linux/types.h>
> +
>   #include <uapi/linux/watchdog.h>
>   
> +struct attribute_group;
> +struct device;
> +struct module;
> +
>   struct watchdog_ops;
>   struct watchdog_device;
>   struct watchdog_core_data;