@@ -411,6 +411,15 @@ static inline struct irq_domain *irq_domain_create_nomap(struct fwnode_handle *f
411
411
unsigned int irq_create_direct_mapping (struct irq_domain * domain );
412
412
#endif
413
413
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
+ */
414
423
static inline struct irq_domain * irq_domain_create_linear (struct fwnode_handle * fwnode ,
415
424
unsigned int size ,
416
425
const struct irq_domain_ops * ops ,
@@ -457,6 +466,18 @@ unsigned int irq_create_mapping_affinity(struct irq_domain *domain,
457
466
unsigned int irq_create_fwspec_mapping (struct irq_fwspec * fwspec );
458
467
void irq_dispose_mapping (unsigned int virq );
459
468
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
+ */
460
481
static inline unsigned int irq_create_mapping (struct irq_domain * domain ,
461
482
irq_hw_number_t hwirq )
462
483
{
@@ -467,6 +488,13 @@ struct irq_desc *__irq_resolve_mapping(struct irq_domain *domain,
467
488
irq_hw_number_t hwirq ,
468
489
unsigned int * irq );
469
490
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
+ */
470
498
static inline struct irq_desc * irq_resolve_mapping (struct irq_domain * domain ,
471
499
irq_hw_number_t hwirq )
472
500
{
@@ -477,6 +505,8 @@ static inline struct irq_desc *irq_resolve_mapping(struct irq_domain *domain,
477
505
* irq_find_mapping() - Find a linux irq from a hw irq number.
478
506
* @domain: domain owning this hardware interrupt
479
507
* @hwirq: hardware irq number in that domain space
508
+ *
509
+ * Returns: Linux irq number or 0 if not found
480
510
*/
481
511
static inline unsigned int irq_find_mapping (struct irq_domain * domain ,
482
512
irq_hw_number_t hwirq )
@@ -539,7 +569,8 @@ void irq_domain_reset_irq_data(struct irq_data *irq_data);
539
569
*
540
570
* If successful the parent is associated to the new domain and the
541
571
* 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.
543
574
*/
544
575
static inline struct irq_domain * irq_domain_create_hierarchy (struct irq_domain * parent ,
545
576
unsigned int flags ,
@@ -570,6 +601,15 @@ void irq_domain_free_irqs(unsigned int virq, unsigned int nr_irqs);
570
601
int irq_domain_activate_irq (struct irq_data * irq_data , bool early );
571
602
void irq_domain_deactivate_irq (struct irq_data * irq_data );
572
603
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
+ */
573
613
static inline int irq_domain_alloc_irqs (struct irq_domain * domain ,
574
614
unsigned int nr_irqs , int node , void * arg )
575
615
{
0 commit comments