From 63d8bbfc89b609b9c5246128c94fbf7da8d285eb Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Fri, 14 Jul 2017 13:05:05 +0100 Subject: [PATCH] Move module license to bottom --- kernel_module/anonymous_inode.c | 3 +-- kernel_module/character_device.c | 3 +-- kernel_module/debugfs.c | 3 +-- kernel_module/dep.c | 3 +-- kernel_module/dep2.c | 3 +-- kernel_module/fops.c | 3 +-- kernel_module/hello.c | 3 +-- kernel_module/hello2.c | 3 +-- kernel_module/ioctl.c | 3 +-- kernel_module/irq.c | 3 +-- kernel_module/kthread.c | 3 +-- kernel_module/kthreads.c | 3 +-- kernel_module/module_init.c | 3 +-- kernel_module/panic.c | 1 + kernel_module/params.c | 3 +-- kernel_module/pci.c | 3 +-- kernel_module/pci_min.c | 3 +-- kernel_module/platform_device.c | 3 +-- kernel_module/poll.c | 3 +-- kernel_module/schedule.c | 3 +-- kernel_module/seq_file.c | 3 +-- kernel_module/seq_file_single.c | 3 +-- kernel_module/sleep.c | 3 +-- kernel_module/timer.c | 3 +-- kernel_module/virt_to_phys.c | 3 +-- kernel_module/wait_queue.c | 3 +-- kernel_module/wait_queue2.c | 3 +-- kernel_module/work_from_work.c | 3 +-- kernel_module/workqueue_cheat.c | 3 +-- 29 files changed, 29 insertions(+), 56 deletions(-) diff --git a/kernel_module/anonymous_inode.c b/kernel_module/anonymous_inode.c index 7fc0740..2dd90a6 100644 --- a/kernel_module/anonymous_inode.c +++ b/kernel_module/anonymous_inode.c @@ -22,8 +22,6 @@ which reduces namespace pollution. #include "anonymous_inode.h" -MODULE_LICENSE("GPL"); - static struct dentry *debugfs_file; static ssize_t read(struct file *filp, char __user *buf, size_t len, loff_t *off) @@ -83,3 +81,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/character_device.c b/kernel_module/character_device.c index dea448a..b89c2ca 100644 --- a/kernel_module/character_device.c +++ b/kernel_module/character_device.c @@ -29,8 +29,6 @@ and use that for the mknod. #define NAME "lkmc_character_device" -MODULE_LICENSE("GPL"); - static int major; static ssize_t read(struct file *filp, char __user *buf, size_t len, loff_t *off) @@ -68,3 +66,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/debugfs.c b/kernel_module/debugfs.c index c588284..bc3bc37 100644 --- a/kernel_module/debugfs.c +++ b/kernel_module/debugfs.c @@ -13,8 +13,6 @@ Requires `CONFIG_DEBUG_FS=y`. #include #include /* S_IRUSR */ -MODULE_LICENSE("GPL"); - static struct dentry *dir; static u32 value = 42; @@ -41,3 +39,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/dep.c b/kernel_module/dep.c index d2de568..623fae4 100644 --- a/kernel_module/dep.c +++ b/kernel_module/dep.c @@ -48,8 +48,6 @@ TODO: at what point does buildroot / busybox generate that file? #include #include -MODULE_LICENSE("GPL"); - int lkmc_dep = 0; EXPORT_SYMBOL(lkmc_dep); static struct task_struct *kthread; @@ -77,3 +75,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/dep2.c b/kernel_module/dep2.c index 467b63e..dac86c2 100644 --- a/kernel_module/dep2.c +++ b/kernel_module/dep2.c @@ -3,8 +3,6 @@ #include #include -MODULE_LICENSE("GPL"); - extern int lkmc_dep; static struct task_struct *kthread; @@ -31,3 +29,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/fops.c b/kernel_module/fops.c index 3f8d47a..10e65db 100644 --- a/kernel_module/fops.c +++ b/kernel_module/fops.c @@ -26,8 +26,6 @@ Here we use debugfs. #include /* printk */ #include /* S_IRUSR */ -MODULE_LICENSE("GPL"); - static struct dentry *debugfs_file; static char data[] = {'a', 'b', 'c', 'd'}; @@ -154,3 +152,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/hello.c b/kernel_module/hello.c index 9e43c53..a7f64a8 100644 --- a/kernel_module/hello.c +++ b/kernel_module/hello.c @@ -11,8 +11,6 @@ Hello world module. #include #include -MODULE_LICENSE("GPL"); - static int myinit(void) { pr_info("hello init\n"); @@ -26,3 +24,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/hello2.c b/kernel_module/hello2.c index e643a97..3e1dd8f 100644 --- a/kernel_module/hello2.c +++ b/kernel_module/hello2.c @@ -7,8 +7,6 @@ Mostly to check that our build infrastructure can handle more than one module! #include #include -MODULE_LICENSE("GPL"); - static int myinit(void) { pr_info("hello2 init\n"); @@ -22,3 +20,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/ioctl.c b/kernel_module/ioctl.c index d507111..e738d03 100644 --- a/kernel_module/ioctl.c +++ b/kernel_module/ioctl.c @@ -26,8 +26,6 @@ Documentation/ioctl/ioctl-number.txt has some info: #include "ioctl.h" -MODULE_LICENSE("GPL"); - static struct dentry *debugfs_file; static long unlocked_ioctl(struct file *filp, unsigned int cmd, unsigned long argp) @@ -90,3 +88,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/irq.c b/kernel_module/irq.c index 700d13e..df23f80 100644 --- a/kernel_module/irq.c +++ b/kernel_module/irq.c @@ -39,8 +39,6 @@ Then see how clicking the mouse and keyboard affect the interrupts. This will po #define NAME "lkmc_character_device" #define MAX_IRQS 256 -MODULE_LICENSE("GPL"); - static int irqs[MAX_IRQS]; static int major; @@ -93,3 +91,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/kthread.c b/kernel_module/kthread.c index fe0247b..106ef10 100644 --- a/kernel_module/kthread.c +++ b/kernel_module/kthread.c @@ -14,8 +14,6 @@ See also: #include #include -MODULE_LICENSE("GPL"); - static struct task_struct *kthread; static int work_func(void *data) @@ -46,3 +44,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/kthreads.c b/kernel_module/kthreads.c index e480671..9ff0d54 100644 --- a/kernel_module/kthreads.c +++ b/kernel_module/kthreads.c @@ -7,8 +7,6 @@ #include #include -MODULE_LICENSE("GPL"); - static struct task_struct *kthread1, *kthread2; static int work_func1(void *data) @@ -54,3 +52,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/module_init.c b/kernel_module/module_init.c index 9d932ca..2abea93 100644 --- a/kernel_module/module_init.c +++ b/kernel_module/module_init.c @@ -13,8 +13,6 @@ vs module_init and module_exit? #include #include -MODULE_LICENSE("GPL"); - int init_module(void) { pr_info("init_module\n"); @@ -25,3 +23,4 @@ void cleanup_module(void) { pr_info("cleanup_module\n"); } +MODULE_LICENSE("GPL"); diff --git a/kernel_module/panic.c b/kernel_module/panic.c index c3ddef2..57df44c 100644 --- a/kernel_module/panic.c +++ b/kernel_module/panic.c @@ -27,3 +27,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/params.c b/kernel_module/params.c index 0bfc914..a01f13d 100644 --- a/kernel_module/params.c +++ b/kernel_module/params.c @@ -27,8 +27,6 @@ Those parameters can also be read and modified at runtime from /sys. #include #include /* S_IRUSR | S_IWUSR */ -MODULE_LICENSE("GPL"); - static int i = 0; static int j = 0; module_param(i, int, S_IRUSR | S_IWUSR); @@ -61,3 +59,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/pci.c b/kernel_module/pci.c index 7873fd7..b60a4eb 100644 --- a/kernel_module/pci.c +++ b/kernel_module/pci.c @@ -95,8 +95,6 @@ TODO: does it have any side effects? Set in the edu device at: #define IO_IRQ_STATUS 0x24 #define QEMU_VENDOR_ID 0x1234 -MODULE_LICENSE("GPL"); - static struct pci_device_id pci_ids[] = { { PCI_DEVICE(QEMU_VENDOR_ID, EDU_DEVICE_ID), }, { 0, } @@ -285,3 +283,4 @@ static void myexit(void) module_init(myinit); module_exit(myexit); +MODULE_LICENSE("GPL"); diff --git a/kernel_module/pci_min.c b/kernel_module/pci_min.c index 81b9e84..efcf5b1 100644 --- a/kernel_module/pci_min.c +++ b/kernel_module/pci_min.c @@ -20,8 +20,6 @@ probe already does a mmio write, which generates an IRQ and tests everything. #define EDU_DEVICE_ID 0x11e9 #define QEMU_VENDOR_ID 0x1234 -MODULE_LICENSE("GPL"); - static struct pci_device_id id_table[] = { { PCI_DEVICE(QEMU_VENDOR_ID, EDU_DEVICE_ID), }, { 0, } @@ -96,3 +94,4 @@ static void myexit(void) module_init(myinit); module_exit(myexit); +MODULE_LICENSE("GPL"); diff --git a/kernel_module/platform_device.c b/kernel_module/platform_device.c index c4e0d9e..552298d 100644 --- a/kernel_module/platform_device.c +++ b/kernel_module/platform_device.c @@ -27,8 +27,6 @@ which touches from userland through /dev/mem. #include #include -MODULE_LICENSE("GPL"); - static struct resource res; static unsigned int irq; static void __iomem *map; @@ -132,3 +130,4 @@ static void lkmc_platform_device_exit(void) module_init(lkmc_platform_device_init) module_exit(lkmc_platform_device_exit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/poll.c b/kernel_module/poll.c index 8b7b7d7..eebfcb2 100644 --- a/kernel_module/poll.c +++ b/kernel_module/poll.c @@ -20,8 +20,6 @@ https://stackoverflow.com/questions/30035776/how-to-add-poll-function-to-the-ker #include /* wait_queue_head_t, wait_event_interruptible, wake_up_interruptible */ #include /* S_IRUSR */ -MODULE_LICENSE("GPL"); - static char readbuf[1024]; static size_t readbuflen; static struct dentry *debugfs_file; @@ -90,3 +88,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/schedule.c b/kernel_module/schedule.c index a4867aa..a45d785 100644 --- a/kernel_module/schedule.c +++ b/kernel_module/schedule.c @@ -26,8 +26,6 @@ Then: #include #include /* S_IRUSR | S_IWUSR */ -MODULE_LICENSE("GPL"); - static int yn = 1; module_param(yn, int, S_IRUSR | S_IWUSR); MODULE_PARM_DESC(yn, "A short integer"); @@ -60,3 +58,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/seq_file.c b/kernel_module/seq_file.c index 11420d9..3078273 100644 --- a/kernel_module/seq_file.c +++ b/kernel_module/seq_file.c @@ -34,8 +34,6 @@ Bibliography: #include #include /* S_IRUSR */ -MODULE_LICENSE("GPL"); - static int max = 2; module_param(max, int, S_IRUSR | S_IWUSR); @@ -136,3 +134,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/seq_file_single.c b/kernel_module/seq_file_single.c index cc60ff9..b7eb9e7 100644 --- a/kernel_module/seq_file_single.c +++ b/kernel_module/seq_file_single.c @@ -17,8 +17,6 @@ This example behaves like a file that contains: #include /* seq_read, seq_lseek, single_release */ #include /* S_IRUSR */ -MODULE_LICENSE("GPL"); - static struct dentry *debugfs_file; static int show(struct seq_file *m, void *v) @@ -54,3 +52,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/sleep.c b/kernel_module/sleep.c index 0925cd0..7f2ec21 100644 --- a/kernel_module/sleep.c +++ b/kernel_module/sleep.c @@ -15,8 +15,6 @@ Since insmod returns, this also illustrates how the work queues are asynchronous #include /* atomic_t */ #include -MODULE_LICENSE("GPL"); - static struct workqueue_struct *queue; static atomic_t run = ATOMIC_INIT(1); @@ -48,3 +46,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/timer.c b/kernel_module/timer.c index 2527967..b96b94a 100644 --- a/kernel_module/timer.c +++ b/kernel_module/timer.c @@ -15,8 +15,6 @@ See also: #include #include -MODULE_LICENSE("GPL"); - static void callback(unsigned long data); static unsigned long onesec; @@ -42,3 +40,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/virt_to_phys.c b/kernel_module/virt_to_phys.c index 431503c..391d4db 100644 --- a/kernel_module/virt_to_phys.c +++ b/kernel_module/virt_to_phys.c @@ -19,8 +19,6 @@ and on QEMU monitor: #include #include /* single_open, single_release */ -MODULE_LICENSE("GPL"); - static volatile u32 i = 0x12345678; static struct dentry *debugfs_file; @@ -65,3 +63,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/wait_queue.c b/kernel_module/wait_queue.c index e927456..0a348f4 100644 --- a/kernel_module/wait_queue.c +++ b/kernel_module/wait_queue.c @@ -23,8 +23,6 @@ Outcome: #include #include /* wait_queue_head_t, wait_event_interruptible, wake_up_interruptible */ -MODULE_LICENSE("GPL"); - static struct task_struct *kthread1, *kthread2; static wait_queue_head_t queue; static atomic_t awake = ATOMIC_INIT(0); @@ -74,3 +72,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/wait_queue2.c b/kernel_module/wait_queue2.c index bb73a32..ab3e4df 100644 --- a/kernel_module/wait_queue2.c +++ b/kernel_module/wait_queue2.c @@ -8,8 +8,6 @@ Two threads waiting on a single event. #include #include /* wait_queue_head_t, wait_event_interruptible, wake_up_interruptible */ -MODULE_LICENSE("GPL"); - static struct task_struct *kthread_wake; static struct task_struct *kthread_sleep1; static struct task_struct *kthread_sleep2; @@ -75,3 +73,4 @@ void cleanup_module(void) kthread_stop(kthread_sleep1); kthread_stop(kthread_wake); } +MODULE_LICENSE("GPL"); diff --git a/kernel_module/work_from_work.c b/kernel_module/work_from_work.c index d144e4c..f7c8048 100644 --- a/kernel_module/work_from_work.c +++ b/kernel_module/work_from_work.c @@ -6,8 +6,6 @@ Declare more work from a workqueue. #include #include -MODULE_LICENSE("GPL"); - static int i = 0; static struct workqueue_struct *queue; @@ -39,3 +37,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL"); diff --git a/kernel_module/workqueue_cheat.c b/kernel_module/workqueue_cheat.c index 52aef8c..e8d551a 100644 --- a/kernel_module/workqueue_cheat.c +++ b/kernel_module/workqueue_cheat.c @@ -21,8 +21,6 @@ Bibliography: #include #include -MODULE_LICENSE("GPL"); - static struct workqueue_struct *queue; static void work_func(struct work_struct *work) @@ -47,3 +45,4 @@ static void myexit(void) module_init(myinit) module_exit(myexit) +MODULE_LICENSE("GPL");