Linux kernel 中断之proc接口之irq
来源:互联网 发布:图片处理器软件 编辑:程序博客网 时间:2024/06/06 16:38
文件proc/irq/主要是用于对每个irq进行设置和信息查看:
void init_irq_proc(void){ unsigned int irq; struct irq_desc *desc;
/* create /proc/irq */ root_irq_dir = proc_mkdir("irq", NULL); if (!root_irq_dir) return;
register_default_affinity_proc();
/* * Create entries for all existing IRQs. */ for_each_irq_desc(irq, desc) 对系统内的所有的中断进行注册 register_irq_proc(irq, desc);}
void register_irq_proc(unsigned int irq, struct irq_desc *desc){ static DEFINE_MUTEX(register_lock); char name [MAX_NAMELEN];
if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip)) return;
/* * irq directories are registered only when a handler is * added, not when the descriptor is created, so multiple * tasks might try to register at the same time. */ mutex_lock(®ister_lock);
if (desc->dir) goto out_unlock;
sprintf(name, "%d", irq);
/* create /proc/irq/1234 */ desc->dir = proc_mkdir(name, root_irq_dir); if (!desc->dir) goto out_unlock;
#ifdef CONFIG_SMP /* create /proc/irq/<irq>/smp_affinity */ proc_create_data("smp_affinity", 0644, desc->dir, &irq_affinity_proc_fops, (void *)(long)irq);
/* create /proc/irq/<irq>/affinity_hint */ proc_create_data("affinity_hint", 0444, desc->dir, &irq_affinity_hint_proc_fops, (void *)(long)irq);
/* create /proc/irq/<irq>/smp_affinity_list */ proc_create_data("smp_affinity_list", 0644, desc->dir, &irq_affinity_list_proc_fops, (void *)(long)irq);
proc_create_data("node", 0444, desc->dir, &irq_node_proc_fops, (void *)(long)irq);#endif
proc_create_data("spurious", 0444, desc->dir, &irq_spurious_proc_fops, (void *)(long)irq);
out_unlock: mutex_unlock(®ister_lock);}
:/proc/irq # lsls10010110210310410510610710810911011111299
:/proc/irq/203 # lslsaffinity_hintnodesmp_affinitysmp_affinity_listspurious
- Linux kernel 中断之proc接口之irq
- Linux kernel 中断之proc接口之interrupts
- Linux kernel的中断子系统之:IRQ Domain介绍
- linux kernel的中断子系统之(三):IRQ number和中断描述符
- linux kernel的中断子系统之:IRQ number和中断描述符
- linux kernel的中断子系统之(三):IRQ number和中断描述符
- linux kernel的中断子系统之(三):IRQ number和中断描述符
- linux kernel的中断子系统之(三):IRQ number和中断描述符
- Linux kernel的中断子系统之(二):IRQ Domain介绍
- linux kernel的中断子系统之(四):High level irq event handler
- linux kernel的中断子系统之:High level irq event handler
- Linux kernel的中断子系统之(二):IRQ Domain介绍
- linux kernel的中断子系统之(四):High level irq event handler
- Linux kernel的中断子系统之(二):IRQ Domain介绍
- linux kernel的中断子系统之(四):High level irq event handler
- 【转载】Linux kernel的中断子系统之(二):IRQ Domain介绍
- linux kernel的中断子系统之(四):High level irq event handler
- Linux kernel 学习之中断
- openwrt: br-lan: reveived packet on eth0 with own address as source address
- Android N中不再支持“Crypto”的解决方案
- JavaWeb从入门到精通(六)-自定义标签
- JVM
- SQL Server 2016 SP_SpaceUsed 新参数@OneResultSet
- Linux kernel 中断之proc接口之irq
- Matlab求点到你直线的垂直距离
- JS基础--输入框获取焦点
- windows下安装gensim
- asp.net 页面设计
- JavaWeb从入门到精通(七)-MySQL
- canvas学习笔记-1(基础篇)
- Java
- 禁止ViewPager滑动&禁止Fragment滑动&单独写一个类&布局文件换成NoScrollViewPager