什么是网站跳出率,家庭装修设计平台,2020ppt模板免费下载,微信scrm系统1.设备号的获取 \qquad设备号的获取方法#xff1a;自动分配#xff1b;指定设备号注册
2.自动分配函数 \qquad函数#xff1a;int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name) \qquad功能#xff1a;分配设备号 \qquad参数自动分配指定设备号注册
2.自动分配函数
\qquad函数int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name) \qquad功能分配设备号 \qquad参数第一个参数dev_t类型定义的变量取地址传入第二个参数次设备号次设备号自己指定第三个参数设备个数第四个参数名字 \qquad返回值成功返回0失败返回负数错误码
int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name)
{struct char_device_struct *cd;cd __register_chrdev_region(0, baseminor, count, name);if (IS_ERR(cd))return PTR_ERR(cd);*dev MKDEV(cd-major, cd-baseminor);return 0;
}3.指定设备号注册
\qquad函数int register_chrdev_region(dev_t from, unsigned count, const char *name) \qquad功能指定设备号注册 \qquad参数第一个参数设备号MKDEV(major,minor)第二个参数设备个数第三个参数名字 \qquad返回值成功返回0失败返回负数错误码
int register_chrdev_region(dev_t from, unsigned count, const char *name)
{struct char_device_struct *cd;dev_t to from count;dev_t n, next;for (n from; n to; n next) {next MKDEV(MAJOR(n)1, 0);if (next to)next to;cd __register_chrdev_region(MAJOR(n), MINOR(n),next - n, name);if (IS_ERR(cd))goto fail;}return 0;
fail:to n;for (n from; n to; n next) {next MKDEV(MAJOR(n)1, 0);kfree(__unregister_chrdev_region(MAJOR(n), MINOR(n), next - n));}return PTR_ERR(cd);
}4.注销设备号
\qquad函数void unregister_chrdev_region(dev_t from, unsigned count) \qquad功能注销设备号 \qquad参数第一个参数设备号第二个参数设备个数 \qquad返回值void
void unregister_chrdev_region(dev_t from, unsigned count)
{dev_t to from count;dev_t n, next;for (n from; n to; n next) {next MKDEV(MAJOR(n)1, 0);if (next to)next to;kfree(__unregister_chrdev_region(MAJOR(n), MINOR(n), next - n));}
}