Linux驱动学习记录 devfs_mk_cdev
Linux驱动学习记录 devfs_mk_cdev
< type="text/javascript">
2.4内核注册驱动要用:
int register_chrdev (unsigned int major, const char *name, struct file_operations *fops);
2.4内核注销驱动要用:
int unregister_chrdev( unsigned int major, const char *name );
2.4内核驱动注册完后,要用以下代码创建设备文件
static devfs_handle_t devfs_handle;
devfs_handle = devfs_register( NULL, DEVICE_NAME, DEVFS_FL_DEFAULT,
BUTTON_MAJOR,&sbc2410_buttons_fops, NULL);
2.4内核驱动要用以下代码移除设备文件:
devfs_unregister( devfs_handle);
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
2.6驱动i注册设备号要用:
(1)如果主设备号事先知道,要用:
int register_chrdev_region( dev_t first, unsigned int count, char *name );
(2)如果主设备号为0,则要用动态分配:
int alloc_chrdev_region( dev_t *dev, unsigned int firstminor,
unsigned int count, char *name );
2.6释放设备号要用:
void unregister_chrdev_region( dev_t first, unsigned int count );
2.6内核字符设备驱动注册要用:
struct cdev *my_cdev = cdev_alloc();
my_cdev->ops = &chr_fops;
void cdev_init( struct cdev *cdev, struct file_operations *fops);
int cdev_add( struct cdev *dev, dev_t num, unsigned int count);
2.6内核字符设备驱动移除要用:
void cdev_del( struct cdev *dev );
2.6内核驱动注册完后,要用以下代码创建设备文件
devfs_mk_cdev( MKDEV(LED_MAJOR, LED_MINOR),
S_IF
相关文档:
在上篇文章的结尾,我们说会在接下来的文章分析分配函数的具体代码,结合我上篇文章说的伙伴机制和冷热区的概念,更好得去理解这个分配过程。好了,我们不再多说了,我们现在开始分析代码吧。
struct page * fastcall __alloc_pages(unsigned int gfp_mask, unsigned int order,struct zonelist *zonelist)
......
phpMyAdmin提示没字符串编码和字符串处理库php_mbstring
SSH连接上后:yum install php-mbstring安装扩展
vi usr/local/lxlabs/ext/php/etc/php.ini编辑PHP.ini文件
去掉一行的注释:extension=mbstring.so
(有些可以不用设置这两行,php.ini中不存在;extension=mbstring.so
,
只要mbString扩展安装到了extension ......
http://linux.chinaitlab.com/administer/774036.html
[ 起源 ]Linux/Unix下守护进程(Daemon)大家都知道,比如我们常用的httpd、mysqld等等,就是常驻内存运行的程序,类似于Windows下的服务。一般守护进程都是使用C/C++来写,就是通过fork生成子进程,当前台shell下的父进程被杀掉,子进程就转到后台运行,为了不 ......
最近一段时间在linux下用C做一些学习和开发,但是由于经验不足,问题多多。而段错误就是让我非常头痛的一个问题。不过,目前写一个一千行左右的代码,也很少出现段错误,或者是即使出现了,也很容易找出来,并且处理掉。
那什么是段错误?段错误为什么是个麻烦事?以及怎么发现程序中的段 ......