Skip to content

Commit 2272a78

Browse files
Jiri Slaby (SUSE)KAGA-KOKO
authored andcommitted
irqdomain: Improve kernel-docs of functions
Many of irqdomain.h's functions are referenced in Documentation/ but are not properly documented. Therefore, document these. And use "Returns:" tag consistently, so that it is properly generated in the resulting docs. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250319092951.37667-53-jirislaby@kernel.org
1 parent 66cbf17 commit 2272a78

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

include/linux/irqdomain.h

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,15 @@ static inline struct irq_domain *irq_domain_create_nomap(struct fwnode_handle *f
411411
unsigned int irq_create_direct_mapping(struct irq_domain *domain);
412412
#endif
413413

414+
/**
415+
* irq_domain_create_linear - Allocate and register a linear revmap irq_domain.
416+
* @fwnode: pointer to interrupt controller's FW node.
417+
* @size: Number of interrupts in the domain.
418+
* @ops: map/unmap domain callbacks
419+
* @host_data: Controller private data pointer
420+
*
421+
* Returns: Newly created irq_domain
422+
*/
414423
static inline struct irq_domain *irq_domain_create_linear(struct fwnode_handle *fwnode,
415424
unsigned int size,
416425
const struct irq_domain_ops *ops,
@@ -457,6 +466,18 @@ unsigned int irq_create_mapping_affinity(struct irq_domain *domain,
457466
unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec);
458467
void irq_dispose_mapping(unsigned int virq);
459468

469+
/**
470+
* irq_create_mapping - Map a hardware interrupt into linux irq space
471+
* @domain: domain owning this hardware interrupt or NULL for default domain
472+
* @hwirq: hardware irq number in that domain space
473+
*
474+
* Only one mapping per hardware interrupt is permitted.
475+
*
476+
* If the sense/trigger is to be specified, set_irq_type() should be called
477+
* on the number returned from that call.
478+
*
479+
* Returns: Linux irq number or 0 on error
480+
*/
460481
static inline unsigned int irq_create_mapping(struct irq_domain *domain,
461482
irq_hw_number_t hwirq)
462483
{
@@ -467,6 +488,13 @@ struct irq_desc *__irq_resolve_mapping(struct irq_domain *domain,
467488
irq_hw_number_t hwirq,
468489
unsigned int *irq);
469490

491+
/**
492+
* irq_resolve_mapping - Find a linux irq from a hw irq number.
493+
* @domain: domain owning this hardware interrupt
494+
* @hwirq: hardware irq number in that domain space
495+
*
496+
* Returns: Interrupt descriptor
497+
*/
470498
static inline struct irq_desc *irq_resolve_mapping(struct irq_domain *domain,
471499
irq_hw_number_t hwirq)
472500
{
@@ -477,6 +505,8 @@ static inline struct irq_desc *irq_resolve_mapping(struct irq_domain *domain,
477505
* irq_find_mapping() - Find a linux irq from a hw irq number.
478506
* @domain: domain owning this hardware interrupt
479507
* @hwirq: hardware irq number in that domain space
508+
*
509+
* Returns: Linux irq number or 0 if not found
480510
*/
481511
static inline unsigned int irq_find_mapping(struct irq_domain *domain,
482512
irq_hw_number_t hwirq)
@@ -539,7 +569,8 @@ void irq_domain_reset_irq_data(struct irq_data *irq_data);
539569
*
540570
* If successful the parent is associated to the new domain and the
541571
* domain flags are set.
542-
* Returns pointer to IRQ domain, or NULL on failure.
572+
*
573+
* Returns: A pointer to IRQ domain, or %NULL on failure.
543574
*/
544575
static inline struct irq_domain *irq_domain_create_hierarchy(struct irq_domain *parent,
545576
unsigned int flags,
@@ -570,6 +601,15 @@ void irq_domain_free_irqs(unsigned int virq, unsigned int nr_irqs);
570601
int irq_domain_activate_irq(struct irq_data *irq_data, bool early);
571602
void irq_domain_deactivate_irq(struct irq_data *irq_data);
572603

604+
/**
605+
* irq_domain_alloc_irqs - Allocate IRQs from domain
606+
* @domain: domain to allocate from
607+
* @nr_irqs: number of IRQs to allocate
608+
* @node: NUMA node id for memory allocation
609+
* @arg: domain specific argument
610+
*
611+
* See __irq_domain_alloc_irqs()' documentation.
612+
*/
573613
static inline int irq_domain_alloc_irqs(struct irq_domain *domain,
574614
unsigned int nr_irqs, int node, void *arg)
575615
{

0 commit comments

Comments
 (0)