函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\irq\autoprobe.c Create Date:2022-07-27 11:13:27
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:probe_irq_on - begin an interrupt autodetect* Commence probing for an interrupt. The interrupts are scanned* and a mask of potential interrupt lines is returned.

函数原型:unsigned long probe_irq_on(void)

返回类型:unsigned long

参数:

33  mask等于0
39  async_synchronize_full - synchronize all asynchronous function calls* This function waits until all asynchronous function calls have been done.
40  mutex_lock( & Autodetection depends on the fact that any interrupt that* comes in on to an unassigned handler will get stuck with* "IRQS_WAITING" cleared and the interrupt disabled.)
45  for_each_irq_desc_reverse(i, desc)
46  关闭本地中断,获取所要保护的运行队列(runqueue)的自旋锁(spinlock),为查找可运行进程做准备。( & 自旋锁)
57  raw_spin_unlock_irq( & 自旋锁)
61  msleep(20)
68  for_each_irq_desc_reverse(i, desc)
69  关闭本地中断,获取所要保护的运行队列(runqueue)的自旋锁(spinlock),为查找可运行进程做准备。( & 自旋锁)
71  istate或等于IRQS_AUTODETECT按位或IRQS_WAITING
75  raw_spin_unlock_irq( & 自旋锁)
81  msleep(100)
86  for_each_irq_desc(i, desc)
87  关闭本地中断,获取所要保护的运行队列(runqueue)的自旋锁(spinlock),为查找可运行进程做准备。( & 自旋锁)
89  如果istate按位与IRQS_AUTODETECT
91  如果非istate按位与IRQS_WAITING的值则
94  否则如果i小于32则
96  mask或等于1左移i
98  raw_spin_unlock_irq( & 自旋锁)
101  返回:mask