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
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;
© 2016 - 2025 Red Hat, Inc.