学习《Linux设备模型浅析之设备篇》笔记(深挖二)
/**
* platform_add_devices - 添加一些platform设备
* @devs: 要添加的platform设备的队列
* @num: platform设备队列的书目
*/
int platform_add_devices(struct platform_device **devs, int num)
{
int i, ret = 0;
for (i = 0; i < num; i++) {
ret = platform_device_register(devs[i]);
if (ret) {
while (--i >= 0)
platform_device_unregister(devs[i]);
break;
}
}
return ret;
}
EXPORT_SYMBOL_GPL(platform_add_devices);
/**
* platform_device_register - 添加一个platform-level设备
* @pdev: 正在添加的platform设备
*/
int platform_device_register(struct platform_device *pdev)
{
device_initialize(&pdev->dev);
arch_setup_pdev_archdata(pdev);
return platform_device_add(pdev);
}
学习《Linux设备模型浅析之设备篇》笔记(深挖二)相关推荐
- 学习《Linux设备模型浅析之设备篇》笔记(一)
最近在学习Linux设备模型,前面几篇文章也是读这篇的时候遇到问题,然后为了搞清楚先转去摸索才写出来的. 当然了,刚开始是先读到<Linux那些事儿之我是Sysfs>,搞不清楚才去读的&l ...
- 学习《Linux设备模型浅析之设备篇》笔记(二)
文件/drivers/base/platform.c int __init platform_bus_init(void) { int error; early_platform_cl ...
- 学习《Linux设备模型浅析之驱动篇》笔记(一)
原文中说了,内核版本为2.6.29:这里都贴3.15的内核源码: 文件/drivers/rtc/rtc-s3c.c static struct platform_driver s3c_rtc_driv ...
- 学习《Linux设备模型浅析之设备篇》笔记(深挖一)
这篇文章既然说了是浅析,那就是跳过了一些东西,我们把这些跳过的东西给它尽可能的补回来 今天登陆 lxr.free-electrons.com 发现内核版本已经升级到3.15了,那以后都使用3.15的源 ...
- 学习《Linux设备模型浅析之设备篇》笔记(三)
文件/drivers/base/core.c static struct kobject *get_device_parent(struct device *dev, struct device *p ...
- Linux设备模型之platform设备
Linux设备模型之platform设备 1. Platform模块的软件架构 2. Platform设备 2.1 platform_device原型 2.2 注册添加device 2.2.1 pla ...
- RT-Thread记录(十三、I/O 设备模型之PIN设备)
讲完UART设备之后,我们已经熟悉RT-Thread I/O 设备模型了,回头看看基本的 PIN 设备. 目录 前言 一.PIN 设备模型解析 1.1 初识 GPIO 操作函数 1.2 PIN 设备框 ...
- RT-Thread记录(十二、I/O 设备模型之UART设备 — 使用测试)
从 UART 设备开始学会使用 RT-Thread I/O 设备模型 . 目录 前言 一.UART 设备操作 1.1 UART 设备控制块 1.2 UART 操作函数 1.2.1 查找 UART 设备 ...
- Linux设备模型、平台设备驱动、设备树(device tree)、GPIO子系统以及pinctrl子系统介绍
文章目录 一.Linux设备模型介绍 (1)设备驱动模型总体介绍 (2)设备驱动模型文件表现 (3)设备驱动模型工作原理 [1]总线 [2]设备 [3]驱动 [4]注册流程 二.平台设备驱动介绍 (1 ...
最新文章
- Python创建目录文件夹
- plsql动态的sql
- CNDO-INTGRL-SS-AINTGS-斯莱特轨道指数
- Java 基本数据类型 sizeof 功能
- Matlab的数组的小知识和方法
- 记录今天登录oracle时遇到的一个小问题--不能登录
- Java对象转换成Map
- ios录制视频时audio丢失
- 啃老 万岁_Windows 7已死,您的杀毒软件万岁
- 软考软件设计师中级考试免费视频教程汇总
- sts 工具下载与安装
- 企业级静态代码分析工具清单
- 手机框架_移动端框架_跨平台_汇总_哪个好
- html a4纸张大小像素,CSS设定A4纸张大小
- 大学生信息检索概论练习题
- 华硕服务器系统安装系统安装教程视频,华硕的系统安装教程 华硕u盘安装系统教程...
- ubuntu使用ffmpeg截取视频
- Android画图方式
- PHP通过HTTP_USER_AGENT判断是否为手机移动终端的函数
- 微信公众平台测试帐号申请网址
热门文章
- Android中Context 的理解
- android 快速点击开启某功能(不如快速点击打开开发者模式)
- Timer 的简单介绍
- 004_常用词汇句子翻译记录
- Java NIO(New I/O)的三个属性position、limit、capacity
- php引入PHPMailer发送邮件
- 全网最全最详细的Windows下安装Anaconda2 / Anaconda3(图文详解)
- Nexus3.x安装
- Go 学习笔记(11)— 切片定义、切片初始化、数组和切片差异、字符串和切片转换、len()、cap()、空 nil 切片、append()、copy() 函数、删除切片元素
- 虚拟函数是否应该被声明仅为private/protected?