linux设备驱动中常用函数及其出处

这些函数都是基于2.6.24.4内核。
 
1、 platform_get_resource
 
    出处 drivers/base/platform.c
    原型
struct resource *
platform_get_resource(struct platform_device *dev, unsigned int type,
        unsigned int num)
    说明:
/**
 * platform_get_resource - get a resource for a device
 * @dev: platform device
 * @type: resource type
 * @num: resource index
 */
 
2、 request_mem_region
 
   出处  include/linux/ioport.h
   原型  #define request_mem_region(start,n,name) __request_region(&iomem_resource, (start), (n), (name))
kernel/resource.c中有如下函数:
/**
 * __request_region - create a new busy resource region
 * @parent: parent resource descriptor
 * @start: resource start address
 * @n: resource region size
 * @name: reserving caller's ID string
 */
struct resource * __request_region(struct resource *parent,
       resource_size_t start, resource_size_t n,
       const char *name)
3、 request_region
 
    出处  include/linux/ioport.h
    原型  #define release_region(start,n) __release_region(&ioport_resource, (start), (n))
4、 ioremap及其相关函数
 
#define ioremap(cookie,size)  __arm_ioremap(cookie, size, MT_DEVICE)
#define ioremap_nocache(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE)
#define ioremap_cached(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE_CACHED)
#define iounmap(cookie)   __iounmap(cookie)
出处  include/asm-arm/io.h
 
__arm_ioremap的定义位于arch/arm/mm/ioremap.h中
void __iomem *
__arm_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype)
 
5、 clk_get
 
出处  arch/arm/plat-s3c24xx/clock.h
原型  struct clk *clk_get(struct device *dev, const char *id)
6、 clk_enable  clk_disable
 
出处  arch/arm/plat-s3c24xx/clock.h
原型  int clk_enable(struct clk *clk)   void clk_disable(struct clk *clk)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值