chen_chuang2012-10-11 16:33

高手,有本书上写cdev初始化和注册是这样写的

static void VirtualDisk_setup_cdev(struct VirtualDisk *dev, int minor)

{

int err;

devno = MDDEV(VirtualDisk_major, minor);

cdev_init(&dev->cdev, &VirtualDisk_fops);

dev->cdev.owner = THIS_MOUDULE;

dev->cdev.ops = &VirtualDisk_fops;

err = cdev_add(&dev->cdev, debno, 1);

if (err)

printk(KERN_NOTICE "Error in cdev_add()\n");

}

而cdev_init里

void cdev_init(struct cdev *cdev, const struct file_operations *fops)

{

memset(cdev, 0, sizeof *cdev);

INIT_LIST_HEAD(&cdev->list);

kobject_init(&cdev->kobj, &ktype_cdev_default);

cdev->ops = fops;

}

已经有cdev->ops = fops了

那上面的代码cdev_init之后又有dev->cdev.ops ,这两个函数不一样吗,自我感觉有点多次一举,,,不太明白

android在标准linux基础上对休眠唤醒的实现,Android在标准linux基础上对休眠唤醒的实现(三)...相关推荐

  1. 【历史上的今天】10 月 5 日:Linux 内核正式面世;乔布斯逝世;谷歌发布 Android 6.0

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 10 月 5 日,历史上的今天是科技史上令人难忘的一天,在 8 月 25 日的"历史上的今 ...

  2. C语言的变量和汇编中的伪指令,伪指令 尤其EQU DW DB(微机和单片机中的作用稍微不同,但是规则机制相同)微机原理中的汇编指令和伪指令是标准的,单片机的指令和伪指令是在微机标准版基础上修改的版

    微机原理中表明 变量用伪指令DW,DB 单片机中的伪指令EQU C语言中的变量来源与汇编的伪指令(微机和单片机中的作用稍微不同,但是规则机制相同)微机原理中的汇编指令和伪指令是标准的,单片机的指令和伪 ...

  3. linux shell 宏定义_Linux系统和Shell命令行简介,走上数据分析之路

    122Linux系统和Shell命令行简介,走上数据分析之路 本节作者:刘永鑫 中国科学院遗传与发育生物学研究所 版本1.0.2,更新日期:2020年8月31日 本项目永久地址:https://git ...

  4. Android基础 《密西西比河谷州立大学:Android应用程序开发》(一)

    第一层:Linux操作系统和驱动(Linux kernel):由C语言实现. Android核心系统服务依赖于Linux2.6内核,包括:安全性.内存管理.进程管理.网络协议.驱动模型.Linux内核 ...

  5. 重学Android基础系列篇(五):Android虚拟机指令

    前言 本系列文章主要是汇总了一下大佬们的技术文章,属于Android基础部分,作为一名合格的安卓开发工程师,咱们肯定要熟练掌握java和android,本期就来说说这些~ [非商业用途,如有侵权,请告 ...

  6. 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全

    史上最牛的Linux内核学习方法论   点击下载 我的arm_linux移植笔记   点击下载 S3C2440完全开发流程   点击下载 Linux系统命令及其使用详解完整版   点击下载 Linux ...

  7. 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全...

    史上最牛的Linux内核学习方法论 点击下载 我的arm_linux移植笔记 点击下载 S3C2440完全开发流程 点击下载 Linux系统命令及其使用详解完整版 点击下载 Linux主要shell命 ...

  8. 应该是史上最全最新Java和Android面试题目(自己总结和收集的)

    Android面试题目 Java 基础 int占用几个字节 讲一下常见编码方式? UTF-8编码下中文占几个字节 int和Interger的区别 int.char.long各占多少字节数 string ...

  9. 【Linux开发】linux设备驱动归纳总结(一):内核的相关基础概念

    linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  10. GitHub上最火的40个Android开源项目(二)

    在<GitHub上最火的40个Android开源项目(一)>中,我们详细地介绍了GitHub上最受欢迎的TOP20 Android开源项目,引起了许多读者的热议,作为开发者,你最常用的是哪 ...

最新文章

  1. 程序员应知——学习、思考与分享
  2. 微软服务器收费吗,了解 Azure 外部服务收费
  3. [Swift]LeetCode74. 搜索二维矩阵 | Search a 2D Matrix
  4. python安装tensorflow报错_Anaconda安装tensorflow报错问题解决方法
  5. php cgi模块,PHP5模块和CGI
  6. centos 6.5 zabbix 离线安装历程
  7. python 导入包 导入模块
  8. 什么图用什么工具画?
  9. 41. 后台模块开发(6)
  10. hurst指数matlab代码_Matlab 简介
  11. PID与MPC控制方法
  12. Intel_Hm55_AHCI驱动
  13. 计算机无法安装VC2015,win10 vc++2015一个或多个问题导致了安装失败如何处理
  14. axios 上传文件 封装_axios 封装上传文件的请求方法
  15. 行人重识别论文阅读9-ViTAA:自然语言搜索中文本属性的视觉对齐
  16. 计算机用老毛桃u盘备份系统,老毛桃u盘启动盘ghost备份系统操作步骤
  17. 密文编码与加密算法应用
  18. 马哥教育42期第五周作业
  19. STATA如何进行斯皮尔曼检验
  20. origin处理多组红外数据_【图文】用Origin作多组红外数据图

热门文章

  1. webRTC之[chromium-style] virtual methods with non-empty bodies shouldnt be declared inline(二十一)
  2. pulseaudio之pacmd命令
  3. C++输出=号右边所有的值
  4. python之collections
  5. C#之网络字节序与主机字节序互转
  6. 人脸方向学习(十二):Face Detection-Tiny-DSOD解读
  7. YOLO: Real-Time Object Detection 遇到的问题
  8. Java特点是支持引用类型_Java四种引用类型:强、软、弱、虚
  9. python精确有理数实验_Python3标准库:fractions有理数
  10. cesium 加载网格