/**
 * 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设备模型浅析之设备篇》笔记(深挖二)相关推荐

  1. 学习《Linux设备模型浅析之设备篇》笔记(一)

    最近在学习Linux设备模型,前面几篇文章也是读这篇的时候遇到问题,然后为了搞清楚先转去摸索才写出来的. 当然了,刚开始是先读到<Linux那些事儿之我是Sysfs>,搞不清楚才去读的&l ...

  2. 学习《Linux设备模型浅析之设备篇》笔记(二)

    文件/drivers/base/platform.c int __init platform_bus_init(void) {         int error; early_platform_cl ...

  3. 学习《Linux设备模型浅析之驱动篇》笔记(一)

    原文中说了,内核版本为2.6.29:这里都贴3.15的内核源码: 文件/drivers/rtc/rtc-s3c.c static struct platform_driver s3c_rtc_driv ...

  4. 学习《Linux设备模型浅析之设备篇》笔记(深挖一)

    这篇文章既然说了是浅析,那就是跳过了一些东西,我们把这些跳过的东西给它尽可能的补回来 今天登陆 lxr.free-electrons.com 发现内核版本已经升级到3.15了,那以后都使用3.15的源 ...

  5. 学习《Linux设备模型浅析之设备篇》笔记(三)

    文件/drivers/base/core.c static struct kobject *get_device_parent(struct device *dev, struct device *p ...

  6. Linux设备模型之platform设备

    Linux设备模型之platform设备 1. Platform模块的软件架构 2. Platform设备 2.1 platform_device原型 2.2 注册添加device 2.2.1 pla ...

  7. RT-Thread记录(十三、I/O 设备模型之PIN设备)

    讲完UART设备之后,我们已经熟悉RT-Thread I/O 设备模型了,回头看看基本的 PIN 设备. 目录 前言 一.PIN 设备模型解析 1.1 初识 GPIO 操作函数 1.2 PIN 设备框 ...

  8. RT-Thread记录(十二、I/O 设备模型之UART设备 — 使用测试)

    从 UART 设备开始学会使用 RT-Thread I/O 设备模型 . 目录 前言 一.UART 设备操作 1.1 UART 设备控制块 1.2 UART 操作函数 1.2.1 查找 UART 设备 ...

  9. Linux设备模型、平台设备驱动、设备树(device tree)、GPIO子系统以及pinctrl子系统介绍

    文章目录 一.Linux设备模型介绍 (1)设备驱动模型总体介绍 (2)设备驱动模型文件表现 (3)设备驱动模型工作原理 [1]总线 [2]设备 [3]驱动 [4]注册流程 二.平台设备驱动介绍 (1 ...

最新文章

  1. Python创建目录文件夹
  2. plsql动态的sql
  3. CNDO-INTGRL-SS-AINTGS-斯莱特轨道指数
  4. Java 基本数据类型 sizeof 功能
  5. Matlab的数组的小知识和方法
  6. 记录今天登录oracle时遇到的一个小问题--不能登录
  7. Java对象转换成Map
  8. ios录制视频时audio丢失
  9. 啃老 万岁_Windows 7已死,您的杀毒软件万岁
  10. 软考软件设计师中级考试免费视频教程汇总
  11. sts 工具下载与安装
  12. 企业级静态代码分析工具清单
  13. 手机框架_移动端框架_跨平台_汇总_哪个好
  14. html a4纸张大小像素,CSS设定A4纸张大小
  15. 大学生信息检索概论练习题
  16. 华硕服务器系统安装系统安装教程视频,华硕的系统安装教程 华硕u盘安装系统教程...
  17. ubuntu使用ffmpeg截取视频
  18. Android画图方式
  19. PHP通过HTTP_USER_AGENT判断是否为手机移动终端的函数
  20. 微信公众平台测试帐号申请网址

热门文章

  1. Android中Context 的理解
  2. android 快速点击开启某功能(不如快速点击打开开发者模式)
  3. Timer 的简单介绍
  4. 004_常用词汇句子翻译记录
  5. Java NIO(New I/O)的三个属性position、limit、capacity
  6. php引入PHPMailer发送邮件
  7. 全网最全最详细的Windows下安装Anaconda2 / Anaconda3(图文详解)
  8. Nexus3.x安装
  9. Go 学习笔记(11)— 切片定义、切片初始化、数组和切片差异、字符串和切片转换、len()、cap()、空 nil 切片、append()、copy() 函数、删除切片元素
  10. 虚拟函数是否应该被声明仅为private/protected?