dev:platform_device结构体指针 type:资源类型 num:同类型资源中第几个 函数返回值: 成功返回struct resource结构体指针,失败返回NULL 2.2 获取中断类型的资源 int platform_get_irq(struct platform_device *dev, unsigned int num) 函数功能:获取中断类型的资源 函数参数: dev:platform_device结构体指针 num:同类型...
51CTO博客已为您找到关于platform_get_irq的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及platform_get_irq问答内容。更多platform_get_irq相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
函数二)driver中获取第num+1个中断资源 platform_get_irq(structplatform_device*dev,unsignedintnum) 1. 内核源码二)platform_get_irq内核源码 intplatform_get_irq(structplatform_device*dev,unsignedintnum){structresource*r=platform_get_resource(dev,IORESOURCE_IRQ,num);//调用了platform_get_resourcereturnr?
irq = platform_get_irq(pdev, 0); host->irq = irq; request_irq(host->irq, pxamci_irq, 0, DRIVER_NAME, host); …… }
interrupts= <10IRQ_TYPE_LEVEL_HIGH>; }; }; 在上述示例中,该设备节点具有compatible属性来标识设备的兼容性,reg属性用于指定设备的地址范围,interrupt-parent属性指定中断控制器的父节点,interrupts属性指定设备的中断号和触发类型。 在驱动程序中定义platform_driver结构体,并使用of_match_ptr()宏将设备的兼容性标识...
| platform_get_irq_byname(E, ...) ); if ( \( ret < 0 \| ret <= 0 \) ) { ( -if (ret != -EPROBE_DEFER) -{ ... -dev_err(...); -... } | ... -dev_err(...); ) ... } // </smpl> While we're here, remove braces on if statements that only have one ...
struct resource *platform_get_resource(struct platform_device *dev, unsigned int type, unsigned int num) //获取资源分配函数 参数: vdev: 资源所属的设备 vtype: 获取的资源类型 vnum: 获取的资源数 例: platform_get_resource(pdev, IORESOURCE_IRQ, 0) //获取中断 ...
unsigned long flags; //资源的类型,如IORESOURCE_IO,IORESOURCE_MEM,IORESOURCE_IRQ,IORESOURCE_DMA struct resource *parent, *sibling, *child; }; 有的设备可能有多个资源,通常使用platform_get_resource函数来获取资源 /** * platform_get_resource - get a resource for a device ...
db->data_res = platform_get_resource(pdev, IORESOURCE_MEM, 1); db->irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); /* sol_add */ printk("!!!\n");在位于drivers/base/platform.c中的platform_get_resource添加打印语句。struct resource *platform_get_resource(struct ...
int platform_get_irq(struct platform_device *dev, unsigned int num) 资源的使用主要是驱动实现过程中需要使用到的,但是后期的使用一般需要在驱动的probe 函数中实现申请中断或者IO内存才能使用,而不能直接使用。特别是资源中的地址通常是物理地址,需要通过申请IO内存和映射完成物理到虚拟地址的转换,便于进程的访问。