函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:q_setup_generic_chip - Setup a range of interrupts with a generic chip*@gc: Generic irq chip holding all data*@msk: Bitmask holding the irqs to initialize relative to gc->irq_base*@flags: Flags for initialization*@clr: IRQ_* bits to clear*@set: IRQ_* bits

函数原型:void irq_setup_generic_chip(struct irq_chip_generic *gc, unsigned int msk, enum irq_gc_flags flags, unsigned int clr, unsigned int set)

返回类型:void

参数:

类型参数名称
struct irq_chip_generic *gc
unsigned intmsk
enum irq_gc_flagsflags
unsigned intclr
unsigned intset
470  ct等于chip_types
471  chip等于chip
474  raw_spin_lock( & gc_lock)
475  添加链表项
476  raw_spin_unlock( & gc_lock)
478  irq_gc_init_mask_cache(gc, flags)
480 msk循环
481  如果非msk按位与0x01的值则继续下一循环
484  如果flags按位与IRQ_GC_INIT_NESTED_LOCKirq_set_lockdep_class(i, & Separate lockdep classes for interrupt chip which can nest irq_desc* lock and request mutex., & irq_nested_request_class)
488  如果非flags按位与IRQ_GC_NO_MASK的值则
489  d等于irq_get_irq_data(i)
491  如果irq_calc_maskirq_calc_mask(d)
493  否则访问寄存器掩码等于1左移iirq_base
496  irq_set_chip_and_handler(i, chip, handler)
497  q_set_chip_data - set irq chip data for an irq*@irq: Interrupt number*@data: Pointer to chip specific data* Set the hardware irq chip data for an irq
498  irq_modify_status(i, clr, set)
500  irq_cnt等于iirq_base