函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:注册中断线程

函数原型:int request_threaded_irq(unsigned int irq, irq_handler_t handler, irq_handler_t thread_fn, unsigned long irqflags, const char *devname, void *dev_id)

返回类型:int

参数:

类型参数名称
unsigned intirq
irq_handler_thandler
irq_handler_tthread_fn
unsigned longirqflags
const char *devname
void *dev_id
1968  如果irq恒等于If a (PCI) device interrupt is not connected we set dev->irq to* IRQ_NOTCONNECTED则返回:负ENOTCONN
1980  如果irqflags按位与These flags used only by the kernel as part of the* irq handling routines且非dev_id或非irqflags按位与These flags used only by the kernel as part of the* irq handling routines的值且irqflags按位与IRQF_COND_SUSPENDirqflags按位与IRQF_NO_SUSPENDirqflags按位与IRQF_COND_SUSPEND则返回:负EINVAL
1985  desc等于中断转换为描述
1986  如果非desc则返回:负EINVAL
1989  如果非设置请求参数WARN_ON(irq_settings_is_per_cpu_devid(desc))则返回:负EINVAL
1993  如果非handler
1994  如果非thread_fn则返回:负EINVAL
1996  handler等于线程中断的默认主中断处理程序
1999  action等于分配内存并置零
2000  如果非action则返回:负ENOMEM
2003  中断处理函数等于handler
2004  线程中断处理器等于thread_fn
2005  中断动作标志等于irqflags
2006  设备名等于devname
2007  设备标识等于dev_id
2009  retval等于q_chip_pm_get - Enable power for an IRQ chip*@data: Pointer to interrupt specific data* Enable the power to the IRQ chip referenced by the interrupt data* structure.
2010  如果retval小于0则
2011  释放内存
2012  返回:retval
2015  retval等于注册中断
2017  如果retval
2018  q_chip_pm_put - Disable power for an IRQ chip*@data: Pointer to interrupt specific data* Disable the power to the IRQ chip referenced by the interrupt data* structure, belongs. Note that power will only be disabled, once this
2019  释放内存
2020  释放内存
2042  返回:retval
调用者
名称描述
request_any_context_irqquest_any_context_irq - allocate an interrupt line*@irq: Interrupt line to allocate*@handler: Function to be called when the IRQ occurs
devm_request_threaded_irqdevm_request_threaded_irq - allocate an interrupt line for a managed device*@dev: device to request interrupt for*@irq: Interrupt line to allocate*@handler: Function to be called when the IRQ occurs