参考驱动程序中misc.c头文件。
-
KERN_DIR = /home/sunxiaopeng/src/work/github/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/linux-4.17 all: make ARCH=riscv CROSS_COMPILE="/home/sunxiaopeng/src/work/github/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/bin/riscv64-linux-" -C $(KERN_DIR) M=`pwd` modules clean: make ARCH=riscv CROSS_COMPILE="/home/sunxiaopeng/src/work/github/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/bin/riscv64-linux-" -C $(KERN_DIR) M=`pwd` modules clean #make -C $(KERN_DIR) M=`pwd` modules clean rm -rf modules.order obj-m += first_drv.o
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/errno.h>
#include <linux/miscdevice.h>
#include <linux/kernel.h>
#include <linux/major.h>
#include <linux/mutex.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/stat.h>
#include <linux/init.h>
#include <linux/device.h>
#include <linux/tty.h>
#include <linux/kmod.h>
#include <linux/gfp.h>
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
static int __init hello_init(void)
{
printk(KERN_ALERT "welcome, hello\n");
return 0;
}
// ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
static void __exit hello_exit(void)
{
printk(KERN_ALERT "bye, hello\n");
}
// ▒▒▒▒
MODULE_LICENSE("GPL");
module_init(hello_init);
module_exit(hello_exit);