瀏覽代碼

treewide: Clean up the headers

The rule of thumb is to include the headers we are the direct user of.
In particular, if we need an atomic API, we include <linux/atomic.h>.

On the other hand we should not use headers for no reason. In particular,
if we are not doing any IRQ job, why is the <linux/irq.h> included?

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Andy Shevchenko 2 年之前
父節點
當前提交
e62dff0df4

+ 7 - 3
examples/chardev.c

@@ -3,15 +3,19 @@
  * you have read from the dev file
  */
 
+#include <linux/atomic.h>
 #include <linux/cdev.h>
 #include <linux/delay.h>
 #include <linux/device.h>
 #include <linux/fs.h>
 #include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/kernel.h>
+#include <linux/kernel.h> /* for sprintf() */
 #include <linux/module.h>
-#include <linux/poll.h>
+#include <linux/printk.h>
+#include <linux/types.h>
+#include <linux/uaccess.h> /* for get_user and put_user */
+
+#include <asm/errno.h>
 
 /*  Prototypes - this would normally go in a .h file */
 static int device_open(struct inode *, struct file *);

+ 5 - 3
examples/chardev2.c

@@ -2,15 +2,17 @@
  * chardev2.c - Create an input/output character device
  */
 
+#include <linux/atomic.h>
 #include <linux/cdev.h>
 #include <linux/delay.h>
 #include <linux/device.h>
 #include <linux/fs.h>
 #include <linux/init.h>
-#include <linux/irq.h>
-#include <linux/kernel.h> /* We are doing kernel work */
 #include <linux/module.h> /* Specifically, a module */
-#include <linux/poll.h>
+#include <linux/printk.h>
+#include <linux/types.h>
+
+#include <asm/errno.h>
 
 #include "chardev.h"
 #define SUCCESS 0

+ 1 - 0
examples/completions.c

@@ -2,6 +2,7 @@
  * completions.c
  */
 #include <linux/completion.h>
+#include <linux/err.h> /* for IS_ERR() */
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/kthread.h>

+ 2 - 1
examples/example_atomic.c

@@ -1,7 +1,8 @@
 /*
  * example_atomic.c
  */
-#include <linux/interrupt.h>
+#include <linux/atomic.h>
+#include <linux/bitops.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 

+ 0 - 1
examples/example_mutex.c

@@ -1,7 +1,6 @@
 /*
  * example_mutex.c
  */
-#include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/mutex.h>

+ 1 - 1
examples/example_rwlock.c

@@ -1,9 +1,9 @@
 /*
  * example_rwlock.c
  */
-#include <linux/interrupt.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/rwlock.h>
 
 static DEFINE_RWLOCK(myrwlock);
 

+ 0 - 1
examples/example_spinlock.c

@@ -2,7 +2,6 @@
  * example_spinlock.c
  */
 #include <linux/init.h>
-#include <linux/interrupt.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/spinlock.h>

+ 8 - 2
examples/sleep.c

@@ -3,13 +3,19 @@
  * at the same time, put all but one to sleep.
  */
 
+#include <linux/atomic.h>
+#include <linux/fs.h>
 #include <linux/kernel.h> /* We're doing kernel work */
 #include <linux/module.h> /* Specifically, a module */
 #include <linux/proc_fs.h> /* Necessary because we use proc fs */
-#include <linux/sched.h> /* For putting processes to sleep and
-                                   waking them up */
+#include <linux/types.h>
 #include <linux/uaccess.h> /* for get_user and put_user */
 #include <linux/version.h>
+#include <linux/wait.h> /* For putting processes to sleep and
+                                   waking them up */
+
+#include <asm/current.h>
+#include <asm/errno.h>
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
 #define HAVE_PROC_OPS