Linux内核中断模块之中断域操作描述

本文详细介绍了Linux内核中用于管理IRQ域的结构irq_domain_ops。该结构定义了一系列方法,包括匹配、选择、映射、分配及激活等,用于处理硬件中断请求。这些方法为实现层次化的中断管理提供了基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**  * struct irq_domain_ops - Methods for irq_domain objects  */ struct irq_domain_ops {  int (*match)(struct irq_domain *d, struct device_node *node,        enum irq_domain_bus_token bus_token);  int (*select)(struct irq_domain *d, struct irq_fwspec *fwspec,         enum irq_domain_bus_token bus_token);  int (*map)(struct irq_domain *d, unsigned int virq, irq_hw_number_t hw);  void (*unmap)(struct irq_domain *d, unsigned int virq);  int (*xlate)(struct irq_domain *d, struct device_node *node,        const u32 *intspec, unsigned int intsize,        unsigned long *out_hwirq, unsigned int *out_type);

#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY  /* extended V2 interfaces to support hierarchy irq_domains */  int (*alloc)(struct irq_domain *d, unsigned int virq,        unsigned int nr_irqs, void *arg);  void (*free)(struct irq_domain *d, unsigned int virq,        unsigned int nr_irqs);  void (*activate)(struct irq_domain *d, struct irq_data *irq_data);  void (*deactivate)(struct irq_domain *d, struct irq_data *irq_data);  int (*translate)(struct irq_domain *d, struct irq_fwspec *fwspec,     unsigned long *out_hwirq, unsigned int *out_type); #endif };

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值