⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simple_device.c

📁 fsmlabs的real time linux的内核
💻 C
字号:
/* * Written by Der Herr Hofrat, der.herr@hofr.at * (C) 2002 FSMLabs * License: GPL Version 2 */#include <linux/module.h>#include <linux/version.h>#include <linux/init.h>#include <asm/io.h>#include <asm/uaccess.h>  #include "device_common.h"static int driver_open(struct inode *inode, 	struct file *file ){    printk("driver open called\n");    return 0;}static int driver_close(struct inode *inode, 	struct file *file){    printk("driver close called\n");    return 0;}static ssize_t driver_read(struct file *File, 	char *buf, 	size_t count, 	loff_t *offset){    printk("driver read called\n");    return 0;}static ssize_t driver_write(struct file *File, 	const char *user, 	size_t count,	loff_t *offset){    printk("driver write called\n");    return 0;}static struct file_operations simple_fops={	THIS_MODULE, /* need this only for 2.4.X kernels */    NULL,  /* llseek */    driver_read,  /* read */    driver_write,  /* write */    NULL,  /* readdir */    NULL,  /* poll */    NULL,  /* ioctl */    NULL,  /* mmap */    driver_open,  /* open */    NULL,  /* flush */    driver_close,  /* release */    NULL,  /* fsync */    NULL,  /* fasync */    NULL,  /* lock */};static int __init simple_init(void){    if(register_chrdev(SIMPLE_MAJOR,DEV_NAME, &simple_fops) == 0) {        printk("driver for major %d registered successfully\n",SIMPLE_MAJOR);        return 0;    };    printk("unable to get major %d\n",SIMPLE_MAJOR);    return -EIO;}static void __exit simple_exit(void){    unregister_chrdev(SIMPLE_MAJOR,DEV_NAME);}module_init(simple_init);module_exit(simple_exit);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -