@@ -411,6 +411,15 @@ static inline struct irq_domain *irq_domain_create_nomap(struct fwnode_handle *f
411411unsigned 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+ */
414423static 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,
457466unsigned int irq_create_fwspec_mapping (struct irq_fwspec * fwspec );
458467void 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+ */
460481static 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+ */
470498static 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 */
481511static 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 */
544575static 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);
570601int irq_domain_activate_irq (struct irq_data * irq_data , bool early );
571602void 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+ */
573613static inline int irq_domain_alloc_irqs (struct irq_domain * domain ,
574614 unsigned int nr_irqs , int node , void * arg )
575615{
0 commit comments