irqdomain.c (1da027362a7db422243601e895e6f8288389f435) irqdomain.c (e37af8011a9631996e6cd32dd81a152708eee7d4)
1// SPDX-License-Identifier: GPL-2.0
2
3#define pr_fmt(fmt) "irq: " fmt
4
5#include <linux/acpi.h>
6#include <linux/debugfs.h>
7#include <linux/hardirq.h>
8#include <linux/interrupt.h>

--- 590 unchanged lines hidden (view full) ---

599 of_node_full_name(of_node), irq_base, (int)hwirq_base, count);
600
601 for (i = 0; i < count; i++) {
602 irq_domain_associate(domain, irq_base + i, hwirq_base + i);
603 }
604}
605EXPORT_SYMBOL_GPL(irq_domain_associate_many);
606
1// SPDX-License-Identifier: GPL-2.0
2
3#define pr_fmt(fmt) "irq: " fmt
4
5#include <linux/acpi.h>
6#include <linux/debugfs.h>
7#include <linux/hardirq.h>
8#include <linux/interrupt.h>

--- 590 unchanged lines hidden (view full) ---

599 of_node_full_name(of_node), irq_base, (int)hwirq_base, count);
600
601 for (i = 0; i < count; i++) {
602 irq_domain_associate(domain, irq_base + i, hwirq_base + i);
603 }
604}
605EXPORT_SYMBOL_GPL(irq_domain_associate_many);
606
607#ifdef CONFIG_IRQ_DOMAIN_NOMAP
607/**
608 * irq_create_direct_mapping() - Allocate an irq for direct mapping
609 * @domain: domain to allocate the irq for or NULL for default domain
610 *
611 * This routine is used for irq controllers which can choose the hardware
612 * interrupt numbers they generate. In such a case it's simplest to use
613 * the linux irq as the hardware interrupt number. It still uses the linear
614 * or radix tree to store the mapping, but the irq controller can optimize

--- 24 unchanged lines hidden (view full) ---

639 if (irq_domain_associate(domain, virq, virq)) {
640 irq_free_desc(virq);
641 return 0;
642 }
643
644 return virq;
645}
646EXPORT_SYMBOL_GPL(irq_create_direct_mapping);
608/**
609 * irq_create_direct_mapping() - Allocate an irq for direct mapping
610 * @domain: domain to allocate the irq for or NULL for default domain
611 *
612 * This routine is used for irq controllers which can choose the hardware
613 * interrupt numbers they generate. In such a case it's simplest to use
614 * the linux irq as the hardware interrupt number. It still uses the linear
615 * or radix tree to store the mapping, but the irq controller can optimize

--- 24 unchanged lines hidden (view full) ---

640 if (irq_domain_associate(domain, virq, virq)) {
641 irq_free_desc(virq);
642 return 0;
643 }
644
645 return virq;
646}
647EXPORT_SYMBOL_GPL(irq_create_direct_mapping);
648#endif
647
648/**
649 * irq_create_mapping_affinity() - Map a hardware interrupt into linux irq space
650 * @domain: domain owning this hardware interrupt or NULL for default domain
651 * @hwirq: hardware irq number in that domain space
652 * @affinity: irq affinity
653 *
654 * Only one mapping per hardware interrupt is permitted. Returns a linux

--- 1232 unchanged lines hidden ---
649
650/**
651 * irq_create_mapping_affinity() - Map a hardware interrupt into linux irq space
652 * @domain: domain owning this hardware interrupt or NULL for default domain
653 * @hwirq: hardware irq number in that domain space
654 * @affinity: irq affinity
655 *
656 * Only one mapping per hardware interrupt is permitted. Returns a linux

--- 1232 unchanged lines hidden ---