diff --git a/ioctl_chardev/my-ioctl.c b/ioctl_chardev/my-ioctl.c index 78b2db0..e11696f 100644 --- a/ioctl_chardev/my-ioctl.c +++ b/ioctl_chardev/my-ioctl.c @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: GPL-2.0 + #include #include "my-ioctl.h" @@ -14,7 +16,7 @@ static struct class *cls; static long my_ioctl(struct file *filp, unsigned int cmd, unsigned long arg); /* See: https://elixir.bootlin.com/linux/v6.14.5/source/include/linux/fs.h#L2131 */ -static struct file_operations fops = { +static const struct file_operations fops = { .owner = THIS_MODULE, .unlocked_ioctl = my_ioctl, }; diff --git a/ioctl_chardev/my-ioctl.h b/ioctl_chardev/my-ioctl.h index 56b61a4..e558707 100644 --- a/ioctl_chardev/my-ioctl.h +++ b/ioctl_chardev/my-ioctl.h @@ -1,14 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + #ifndef MY_IOCTL_H #define MY_IOCTL_H #include /* * Crucial point here, the kernel defines a set of macros for defining IOCTL numbers: - * _IO - No command - * _IOR - Read command - * _IOW - Write command - * _IORW - RW command - * _IOC - Basis of the others + * _IO - No command + * _IOR - Read command + * _IOW - Write command + * _IORW - RW command + * _IOC - Basis of the others * These macros encode the data type passed to the ioctl. */ diff --git a/ioctl_chardev/test.c b/ioctl_chardev/test.c index e379cd1..bf45789 100644 --- a/ioctl_chardev/test.c +++ b/ioctl_chardev/test.c @@ -1,3 +1,5 @@ +// SPDX-License-Identifier: GPL-2.0 + #include // #include #include