Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\irq\irqdesc.c Create Date:2022-07-28 10:08:38
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__irq_alloc_descs - allocate and initialize a range of irq descriptors*@irq: Allocate for specific irq number if irq >= 0*@from: Start the search from this irq number*@cnt: Number of consecutive irqs to allocate

Proto:int __ref __irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node, struct module *owner, const struct irq_affinity_desc *affinity)

Type:int

Parameter:

TypeParameterName
intirq
unsigned intfrom
unsigned intcnt
intnode
struct module *owner
const struct irq_affinity_desc *affinity
771  If Not cnt Then Return -EINVAL
774  If irq >= 0 Then
775  If from > irq Then Return -EINVAL
777  from = irq
778  Else
784  from = arch_dynirq_lower_bound(from)
787  mutex_lock( & sparse_irq_lock)
789  start = map_find_next_zero_area - find a contiguous aligned zero area*@map: The address to base the search on*@size: The bitmap size in bits*@start: The bitnumber to start searching at*@nr: The number of zeroed bits we're looking for*@align_mask: Alignment mask
791  ret = -EEXIST
792  If irq >= 0 && start != irq Then Go to unlock
795  If start + cnt > nr_irqs Then
796  ret = irq_expand_nr_irqs(start + cnt)
797  If ret Then Go to unlock
800  ret = alloc_descs(start, cnt, node, affinity, owner)
801  unlock :
802  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
803  Return ret
Caller
NameDescribe
__devm_irq_alloc_descs__devm_irq_alloc_descs - Allocate and initialize a range of irq descriptors* for a managed device*@dev: Device to allocate the descriptors for*@irq: Allocate for specific irq number if irq >= 0*@from: Start the search from this irq number*@cnt: Number of
irq_domain_alloc_descs