linux (platform_driver)平台设备驱动常用API函数

Table of Contents

1、设备层注册、注销函数

1.1、platform_device_register

1.2、platform_device_unregister

1.3、platform_add_devices

2、驱动层注册注销函数

2.1、platform_driver_register

 2.2、platform_driver_ unregister

3、获取资源函数

3.1、platform_get_resource

3.2、platform_get_irq

3.3、platform_get_resource_byname

3.4、platform_get_irq_byname

4、申请内存资源函数

4.1、request_region

4.2、request_mem_region

 4.3、devm_request_region

 4.4、devm_request_mem_region

5、释放内存资源

5.1、release_region

5.2、release_ mem_region

5.3、devm_release_region

5.4、devm_release_mem_region

6、最后参数(num)详解补充


 

 

1、设备层注册、注销函数

1.1、platform_device_register

原型: int platform_device_register(struct platform_device *pdev)
功能:向内核注册一个平台设备
参数: pdev:要注册平台设备结构指针
返回值: 0:注册成功; 负数:注册失败 

1.2、platform_device_unregister

原型: void platform_device_unregister(struct platform_device *pdev)
功能:从内核中注销一个平台设备
参数: pdev:要注销平台设备结构指针
返回值: 无

1.3、platform_add_devices

原型:int platform_add_devices(struct platform_device **devs, int num)
功能:一次向内核注册 num 个平台设备
参数: devs 是要注册的平台设备数组
返回值: 0:注册成功; 负数:注册失败

2、驱动层注册注销函数

2.1、platform_driver_register

int platform_driver_register(struct platform_driver *drv)
功能:向内核注册一个平台驱动。 如此时有匹配的平台设备则会引发内核执行平台驱动结构中的 probe 函数
参数: drv:要注册的平台驱动结构指针
返回值: 0:注册成功;负数:注册失败

 2.2、platform_driver_ unregister

void platform_driver_ unregister (struct platform_driver *drv)
功能: 从内核中注销一个平台设备驱动,如此时已匹配平台设备,则会引发内核执行平台驱动结构中的
remove 函数
参数: drv:要注册的平台驱动结构指针

3、获取资源函数

3.1、platform_get_resource

原型:
struct resource *platform_get_resource(struct platform_device *dev, unsigned int type, unsigned int num)
功能:
通过探测函数中有设备指针获得设备结构中的指定类型的资源结构地址。 这个函数是在驱动层的探测函数使

参数: dev : 设备指针 ,实际就是探测函数参数
type: 资源类型
num:同类资源进行重新编号后的下标编号,和设备层中的资源数组不相同。(要注意这一点)
返回值:设备层资源结构数组中对应的资源结构首地址。 NULL:失败

资源类型如下几

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值