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. java跨域权重_爱站权重查询 API 接口请求调用
  2. VS2017缺少头文件的解决办法
  3. JS 触发服务器事件
  4. android游戏开发框架libgdx的使用(二十四)—physics-body-editor配合Box2D加快开发
  5. Java FileReader与FileWriter讲解
  6. 2021考研c语言编程题,2021c语言编程例题及答案.docx
  7. linux 在文件中增加空行,linux – 在不同组的行之间添加空行
  8. 在VC中使用Delphi构造公共对话框
  9. Android 开发高效工具之道
  10. BZOJ4872: [Shoi2017]分手是祝愿
  11. 追赶法求解线性方程组matlab,追赶法求解三对角线性方程组Matlab编程
  12. Google退出中国 Mark
  13. 马斯洛提出动机理论_马斯洛的需要层次理论
  14. Unity webGl 鼠标手指触屏控制相机围绕物体 360度旋转
  15. 2023年云南中烟名单
  16. 【正点原子Linux连载】第二十章 V4L2摄像头应用编程-摘自【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.1
  17. 当ChatGpt接入微信群之后。。。
  18. php 微信支付分 教程
  19. 安全漏洞整改 禁用 WebDAV
  20. uni-app 微信支付

热门文章

  1. 当我以为这是最后一个Bug,改完就能提交了的时候
  2. 结构体第一个成员是结构体,则为父结构体首地址demo(六)
  3. Go一个协程实现加法demo
  4. C++中new int()与new int[]区别
  5. linux --- inotify 文件系统变化通知机制
  6. 学习OpenGL-ES: 2 - EGL解析
  7. netcore之json序列化
  8. VALSE学习(十七):VALSE 2019报告总结
  9. linux学习笔记:磁盘格式化与磁盘检验命令
  10. 楼层平面放线及标高实测记录_建筑施工基础测量放线工作内容