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 --- |