天道酬勤,学无止境

platform总线

手把手教Linux驱动10-platform总线详解

platform总线是学习linux驱动必须要掌握的一个知识点。本文参考已发布:Linux 3.14内核一、概念嵌入式系统中有很多的物理总线:I2c、SPI、USB、uart、PCIE、APB、AHBlinux从2.6起就加入了一套新的驱动管理和注册的机制platform平台总线,是一条虚拟的总线,并不是一个物理的总线。相比 PCI、USB,它主要用于描述SOC上的片上资源。platform 所描述的资源有一个共同点:在CPU 的总线上直接取址。平台设备会分到一个名称(用在驱动绑定中)以及一系列诸如地址和中断请求号(IRQ)之类的资源。设备用platform_device表示,驱动用platform_driver进行注册。于传统的bus/device/driver机制相比,platform由内核进行统一管理,在驱动中使用资源,提高了代码的安全性和可移植性。二、platform1. platform总线两个最重要的结构体platform维护的所有的驱动都必须要用该结构体定义:platform_driverstruct platform_driver {int (*probe)(struct platform_device *); //int (*remove)(struct platform_device *);void (*shutdown)(struct platform

2021-04-19 22:17:20    分类:博客    platform总线   linux