lkml.org 
[lkml]   [2008]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] irq: rename irq_desc() to to_irq_desc() - fix #3
Date
add create_irq_nr, and retore create_irq to old

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>

---
arch/arm/mach-iop13xx/msi.c | 4 ++--
arch/ia64/kernel/iosapic.c | 6 +++---
arch/ia64/kernel/irq_ia64.c | 2 +-
arch/ia64/kernel/msi_ia64.c | 2 +-
arch/ia64/sn/kernel/msi_sn.c | 2 +-
arch/x86/kernel/io_apic.c | 18 +++++++++++++++---
drivers/pci/htirq.c | 2 +-
drivers/pci/intel-iommu.c | 2 +-
include/linux/irq.h | 3 ++-
9 files changed, 27 insertions(+), 14 deletions(-)

Index: linux-2.6/arch/arm/mach-iop13xx/msi.c
===================================================================
--- linux-2.6.orig/arch/arm/mach-iop13xx/msi.c
+++ linux-2.6/arch/arm/mach-iop13xx/msi.c
@@ -125,7 +125,7 @@ void __init iop13xx_msi_init(void)
/*
* Dynamic irq allocate and deallocation
*/
-unsigned int create_irq(unsigned not_used)
+int create_irq(void)
{
int irq, pos;

@@ -173,7 +173,7 @@ static struct irq_chip iop13xx_msi_chip

int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
{
- int id, irq = create_irq(0);
+ int id, irq = create_irq();
struct msi_msg msg;

if (irq < 0)
Index: linux-2.6/arch/ia64/kernel/iosapic.c
===================================================================
--- linux-2.6.orig/arch/ia64/kernel/iosapic.c
+++ linux-2.6/arch/ia64/kernel/iosapic.c
@@ -532,7 +532,7 @@ iosapic_reassign_vector (int irq)
int new_irq;

if (iosapic_intr_info[irq].count) {
- new_irq = create_irq(0);
+ new_irq = create_irq();
if (new_irq < 0)
panic("%s: out of interrupt vectors!\n", __func__);
printk(KERN_INFO "Reassigning vector %d to %d\n",
@@ -783,7 +783,7 @@ iosapic_register_intr (unsigned int gsi,
goto unlock_iosapic_lock;
}
} else
- irq = create_irq(0);
+ irq = create_irq();

/* If vector is running out, we try to find a sharable vector */
if (irq < 0) {
@@ -922,7 +922,7 @@ iosapic_register_platform_intr (u32 int_
delivery = IOSAPIC_PMI;
break;
case ACPI_INTERRUPT_INIT:
- irq = create_irq(0);
+ irq = create_irq();
if (irq < 0)
panic("%s: out of interrupt vectors!\n", __func__);
vector = irq_to_vector(irq);
Index: linux-2.6/arch/ia64/kernel/irq_ia64.c
===================================================================
--- linux-2.6.orig/arch/ia64/kernel/irq_ia64.c
+++ linux-2.6/arch/ia64/kernel/irq_ia64.c
@@ -403,7 +403,7 @@ void destroy_and_reserve_irq(unsigned in
/*
* Dynamic irq allocate and deallocation for MSI
*/
-unsigned int create_irq(unsigned int not_used)
+int create_irq(void)
{
unsigned long flags;
int irq, vector, cpu;
Index: linux-2.6/arch/ia64/kernel/msi_ia64.c
===================================================================
--- linux-2.6.orig/arch/ia64/kernel/msi_ia64.c
+++ linux-2.6/arch/ia64/kernel/msi_ia64.c
@@ -84,7 +84,7 @@ int ia64_setup_msi_irq(struct pci_dev *p
int irq, vector;
cpumask_t mask;

- irq = create_irq(0);
+ irq = create_irq();
if (irq < 0)
return irq;

Index: linux-2.6/arch/ia64/sn/kernel/msi_sn.c
===================================================================
--- linux-2.6.orig/arch/ia64/sn/kernel/msi_sn.c
+++ linux-2.6/arch/ia64/sn/kernel/msi_sn.c
@@ -83,7 +83,7 @@ int sn_setup_msi_irq(struct pci_dev *pde
if (provider == NULL || provider->dma_map_consistent == NULL)
return -EINVAL;

- irq = create_irq(0);
+ irq = create_irq();
if (irq < 0)
return irq;

Index: linux-2.6/arch/x86/kernel/io_apic.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/io_apic.c
+++ linux-2.6/arch/x86/kernel/io_apic.c
@@ -3039,7 +3039,7 @@ device_initcall(ioapic_init_sysfs);
/*
* Dynamic irq allocate and deallocation
*/
-unsigned int create_irq(unsigned int irq_want)
+unsigned int create_irq_nr(unsigned int irq_want)
{
/* Allocate an unused irq */
unsigned int irq;
@@ -3074,6 +3074,18 @@ unsigned int create_irq(unsigned int irq
return irq;
}

+int create_irq(void)
+{
+ int irq;
+
+ irq = create_irq_nr(nr_irqs - 1);
+
+ if (irq == 0)
+ irq = -1;
+
+ return irq;
+}
+
void destroy_irq(unsigned int irq)
{
unsigned long flags;
@@ -3346,7 +3358,7 @@ int arch_setup_msi_irq(struct pci_dev *d

irq_want = build_irq_for_pci_dev(dev) + 0x100;

- irq = create_irq(irq_want);
+ irq = create_irq_nr(irq_want);
if (irq == 0)
return -1;

@@ -3388,7 +3400,7 @@ int arch_setup_msi_irqs(struct pci_dev *
irq_want = build_irq_for_pci_dev(dev) + 0x100;
sub_handle = 0;
list_for_each_entry(desc, &dev->msi_list, list) {
- irq = create_irq(irq_want--);
+ irq = create_irq_nr(irq_want--);
if (irq == 0)
return -1;
#ifdef CONFIG_INTR_REMAP
Index: linux-2.6/drivers/pci/htirq.c
===================================================================
--- linux-2.6.orig/drivers/pci/htirq.c
+++ linux-2.6/drivers/pci/htirq.c
@@ -139,7 +139,7 @@ int __ht_create_irq(struct pci_dev *dev,
cfg->msg.address_hi = 0xffffffff;

irq_want= build_irq_for_pci_dev(dev);
- irq = create_irq(irq_want + idx);
+ irq = create_irq_nr(irq_want + idx);
if (irq == 0) {
kfree(cfg);
return -EBUSY;
Index: linux-2.6/drivers/pci/intel-iommu.c
===================================================================
--- linux-2.6.orig/drivers/pci/intel-iommu.c
+++ linux-2.6/drivers/pci/intel-iommu.c
@@ -915,7 +915,7 @@ int dmar_set_interrupt(struct intel_iomm
{
int irq, ret;

- irq = create_irq(0);
+ irq = create_irq();
if (!irq) {
printk(KERN_ERR "IOMMU: no free vectors\n");
return -EINVAL;
Index: linux-2.6/include/linux/irq.h
===================================================================
--- linux-2.6.orig/include/linux/irq.h
+++ linux-2.6/include/linux/irq.h
@@ -396,7 +396,8 @@ extern void set_irq_noprobe(unsigned int
extern void set_irq_probe(unsigned int irq);

/* Handle dynamic irq creation and destruction */
-extern unsigned int create_irq(unsigned int irq_want);
+extern unsigned int create_irq_nr(unsigned int irq_want);
+extern int create_irq(void);
extern void destroy_irq(unsigned int irq);

/* Test to see if a driver has successfully requested an irq */

\
 
 \ /
  Last update: 2008-08-18 22:49    [W:0.060 / U:0.752 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site