|
@@ -14,6 +14,7 @@
|
|
#include <linux/printk.h>
|
|
#include <linux/printk.h>
|
|
#include <linux/types.h>
|
|
#include <linux/types.h>
|
|
#include <linux/uaccess.h> /* for get_user and put_user */
|
|
#include <linux/uaccess.h> /* for get_user and put_user */
|
|
|
|
+#include <linux/version.h>
|
|
|
|
|
|
#include <asm/errno.h>
|
|
#include <asm/errno.h>
|
|
|
|
|
|
@@ -62,7 +63,11 @@ static int __init chardev_init(void)
|
|
|
|
|
|
pr_info("I was assigned major number %d.\n", major);
|
|
pr_info("I was assigned major number %d.\n", major);
|
|
|
|
|
|
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)
|
|
|
|
+ cls = class_create(DEVICE_NAME);
|
|
|
|
+#else
|
|
cls = class_create(THIS_MODULE, DEVICE_NAME);
|
|
cls = class_create(THIS_MODULE, DEVICE_NAME);
|
|
|
|
+#endif
|
|
device_create(cls, NULL, MKDEV(major, 0), NULL, DEVICE_NAME);
|
|
device_create(cls, NULL, MKDEV(major, 0), NULL, DEVICE_NAME);
|
|
|
|
|
|
pr_info("Device created on /dev/%s\n", DEVICE_NAME);
|
|
pr_info("Device created on /dev/%s\n", DEVICE_NAME);
|