#include <linux/printk.h>
#include <linux/types.h>
#include <linux/uaccess.h> /* for get_user and put_user */
+#include <linux/version.h>
#include <asm/errno.h>
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);
+#endif
device_create(cls, NULL, MKDEV(major, 0), NULL, DEVICE_NAME);
pr_info("Device created on /dev/%s\n", DEVICE_NAME);