linux device driver 3rd (kernel 2.6.x) 笔记1

王朝system·作者佚名  2006-01-10
宽屏版  字体: |||超大  

(chapter 3)

The internal representation of Device number

type: dev_t (define in <linux/types.h>)

dev_t: 32bit total whit 12 bit for major number, 20 bit for minor number.

some macros define in <linux/kdev_t.h>:

MAJOR(dev_t dev);

MINOR(dev_t dev);

// return major/minor number of a devt.

MKDEV(int major, int minor); // This funtion turn major num and minor num into dev_t.

Allocating and freeing device number

To obtain one or more device number

int register_chrdev_region(dev_t first, unsigned int count, char *name);

//declared in <linux/fs.h>

allocate device number from first to first+count-1

int alloc_chrdev_region(dev_t *dev, unsigned int firstminor,

unsigned int count, char *name);

void unregister_chrdev_region(dev_t first, unsigned int count);

Dynomic allocation of major number

Some major device numbers are statically assigned to the most common devices.

A list of those device can be found in Documentation/devices.txt

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有