aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2006-06-20 04:21:29 -0400
committerDavid S. Miller <davem@davemloft.net>2006-06-20 04:21:29 -0400
commitc6387a48cf5958e43c201fc27a158c328927531a (patch)
treea6c24951d6c86ac47bd3f0ba198adbfffd03291b
parent6a76267f0e52d920e6bb6da75541e6116d7304da (diff)
[SPARC]: Kill __irq_itoa().
This ugly hack was long overdue to die. It was a way to print out Sparc interrupts in a more freindly format, since IRQ numbers were arbitrary opaque 32-bit integers which vectored into PIL levels. These 32-bit integers were not necessarily in the 0-->NR_IRQS range, but the PILs they vectored to were. The idea now is that we will increase NR_IRQS a little bit and use a virtual<-->real IRQ number mapping scheme similar to PowerPC. That makes this IRQ printing hack irrelevant, and furthermore only a handful of drivers actually used __irq_itoa() making it even less useful. Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/sparc/kernel/pcic.c8
-rw-r--r--arch/sparc/kernel/sparc_ksyms.c1
-rw-r--r--arch/sparc/kernel/sun4c_irq.c3
-rw-r--r--arch/sparc/kernel/sun4d_irq.c12
-rw-r--r--arch/sparc/kernel/sun4m_irq.c8
-rw-r--r--drivers/atm/fore200e.c4
-rw-r--r--drivers/char/rtc.c4
-rw-r--r--drivers/fc4/soc.c2
-rw-r--r--drivers/fc4/socal.c2
-rw-r--r--drivers/ide/ide-probe.c7
-rw-r--r--drivers/ide/setup-pci.c5
-rw-r--r--drivers/ieee1394/ohci1394.c4
-rw-r--r--drivers/ieee1394/pcilynx.c4
-rw-r--r--drivers/message/fusion/mptbase.c16
-rw-r--r--drivers/net/3c59x.c5
-rw-r--r--drivers/net/acenic.c6
-rw-r--r--drivers/net/sunhme.c5
-rw-r--r--drivers/net/sunlance.c2
-rw-r--r--drivers/sbus/char/cpwatchdog.c4
-rw-r--r--drivers/sbus/char/uctrl.c2
-rw-r--r--drivers/scsi/esp.c4
-rw-r--r--drivers/scsi/qlogicpti.c6
-rw-r--r--drivers/scsi/sym53c8xx_2/sym_glue.c6
-rw-r--r--drivers/serial/sunsu.c4
-rw-r--r--drivers/serial/sunzilog.c4
-rw-r--r--drivers/usb/core/hcd.c12
-rw-r--r--drivers/usb/gadget/goku_udc.c11
-rw-r--r--drivers/usb/gadget/net2280.c14
-rw-r--r--include/asm-sparc/irq.h2
-rw-r--r--include/asm-sparc64/irq.h8
-rw-r--r--sound/sparc/amd7930.c8
-rw-r--r--sound/sparc/cs4231.c13
-rw-r--r--sound/sparc/dbri.c4
33 files changed, 37 insertions, 163 deletions
diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c
index 42002b742deb..bcdf5ad0f035 100644
--- a/arch/sparc/kernel/pcic.c
+++ b/arch/sparc/kernel/pcic.c
@@ -896,13 +896,6 @@ static inline unsigned long get_irqmask(int irq_nr)
896 return 1 << irq_nr; 896 return 1 << irq_nr;
897} 897}
898 898
899static inline char *pcic_irq_itoa(unsigned int irq)
900{
901 static char buff[16];
902 sprintf(buff, "%d", irq);
903 return buff;
904}
905
906static void pcic_disable_irq(unsigned int irq_nr) 899static void pcic_disable_irq(unsigned int irq_nr)
907{ 900{
908 unsigned long mask, flags; 901 unsigned long mask, flags;
@@ -955,7 +948,6 @@ void __init sun4m_pci_init_IRQ(void)
955 BTFIXUPSET_CALL(clear_clock_irq, pcic_clear_clock_irq, BTFIXUPCALL_NORM); 948 BTFIXUPSET_CALL(clear_clock_irq, pcic_clear_clock_irq, BTFIXUPCALL_NORM);
956 BTFIXUPSET_CALL(clear_profile_irq, pcic_clear_profile_irq, BTFIXUPCALL_NORM); 949 BTFIXUPSET_CALL(clear_profile_irq, pcic_clear_profile_irq, BTFIXUPCALL_NORM);
957 BTFIXUPSET_CALL(load_profile_irq, pcic_load_profile_irq, BTFIXUPCALL_NORM); 950 BTFIXUPSET_CALL(load_profile_irq, pcic_load_profile_irq, BTFIXUPCALL_NORM);
958 BTFIXUPSET_CALL(__irq_itoa, pcic_irq_itoa, BTFIXUPCALL_NORM);
959} 951}
960 952
961int pcibios_assign_resource(struct pci_dev *pdev, int resource) 953int pcibios_assign_resource(struct pci_dev *pdev, int resource)
diff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.c
index 4b376fae752c..fd7deabf9982 100644
--- a/arch/sparc/kernel/sparc_ksyms.c
+++ b/arch/sparc/kernel/sparc_ksyms.c
@@ -163,7 +163,6 @@ EXPORT_SYMBOL(BTFIXUP_CALL(__hard_smp_processor_id));
163#endif 163#endif
164EXPORT_SYMBOL(BTFIXUP_CALL(enable_irq)); 164EXPORT_SYMBOL(BTFIXUP_CALL(enable_irq));
165EXPORT_SYMBOL(BTFIXUP_CALL(disable_irq)); 165EXPORT_SYMBOL(BTFIXUP_CALL(disable_irq));
166EXPORT_SYMBOL(BTFIXUP_CALL(__irq_itoa));
167EXPORT_SYMBOL(BTFIXUP_CALL(mmu_unlockarea)); 166EXPORT_SYMBOL(BTFIXUP_CALL(mmu_unlockarea));
168EXPORT_SYMBOL(BTFIXUP_CALL(mmu_lockarea)); 167EXPORT_SYMBOL(BTFIXUP_CALL(mmu_lockarea));
169EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_sgl)); 168EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_sgl));
diff --git a/arch/sparc/kernel/sun4c_irq.c b/arch/sparc/kernel/sun4c_irq.c
index 3d6a99073c42..0f2d8d9cbdba 100644
--- a/arch/sparc/kernel/sun4c_irq.c
+++ b/arch/sparc/kernel/sun4c_irq.c
@@ -198,8 +198,6 @@ static void __init sun4c_init_timers(irqreturn_t (*counter_fn)(int, void *, stru
198static void sun4c_nop(void) {} 198static void sun4c_nop(void) {}
199#endif 199#endif
200 200
201extern char *sun4m_irq_itoa(unsigned int irq);
202
203void __init sun4c_init_IRQ(void) 201void __init sun4c_init_IRQ(void)
204{ 202{
205 struct linux_prom_registers int_regs[2]; 203 struct linux_prom_registers int_regs[2];
@@ -238,7 +236,6 @@ void __init sun4c_init_IRQ(void)
238 BTFIXUPSET_CALL(clear_clock_irq, sun4c_clear_clock_irq, BTFIXUPCALL_NORM); 236 BTFIXUPSET_CALL(clear_clock_irq, sun4c_clear_clock_irq, BTFIXUPCALL_NORM);
239 BTFIXUPSET_CALL(clear_profile_irq, sun4c_clear_profile_irq, BTFIXUPCALL_NOP); 237 BTFIXUPSET_CALL(clear_profile_irq, sun4c_clear_profile_irq, BTFIXUPCALL_NOP);
240 BTFIXUPSET_CALL(load_profile_irq, sun4c_load_profile_irq, BTFIXUPCALL_NOP); 238 BTFIXUPSET_CALL(load_profile_irq, sun4c_load_profile_irq, BTFIXUPCALL_NOP);
241 BTFIXUPSET_CALL(__irq_itoa, sun4m_irq_itoa, BTFIXUPCALL_NORM);
242 sparc_init_timers = sun4c_init_timers; 239 sparc_init_timers = sun4c_init_timers;
243#ifdef CONFIG_SMP 240#ifdef CONFIG_SMP
244 BTFIXUPSET_CALL(set_cpu_int, sun4c_nop, BTFIXUPCALL_NOP); 241 BTFIXUPSET_CALL(set_cpu_int, sun4c_nop, BTFIXUPCALL_NOP);
diff --git a/arch/sparc/kernel/sun4d_irq.c b/arch/sparc/kernel/sun4d_irq.c
index ca656d9bd6fd..9c30e35c88f7 100644
--- a/arch/sparc/kernel/sun4d_irq.c
+++ b/arch/sparc/kernel/sun4d_irq.c
@@ -560,17 +560,6 @@ void __init sun4d_init_sbi_irq(void)
560 } 560 }
561} 561}
562 562
563static char *sun4d_irq_itoa(unsigned int irq)
564{
565 static char buff[16];
566
567 if (irq < (1 << 5))
568 sprintf(buff, "%d", irq);
569 else
570 sprintf(buff, "%d,%x", sbus_to_pil[(irq >> 2) & 7], irq);
571 return buff;
572}
573
574void __init sun4d_init_IRQ(void) 563void __init sun4d_init_IRQ(void)
575{ 564{
576 local_irq_disable(); 565 local_irq_disable();
@@ -581,7 +570,6 @@ void __init sun4d_init_IRQ(void)
581 BTFIXUPSET_CALL(clear_clock_irq, sun4d_clear_clock_irq, BTFIXUPCALL_NORM); 570 BTFIXUPSET_CALL(clear_clock_irq, sun4d_clear_clock_irq, BTFIXUPCALL_NORM);
582 BTFIXUPSET_CALL(clear_profile_irq, sun4d_clear_profile_irq, BTFIXUPCALL_NORM); 571 BTFIXUPSET_CALL(clear_profile_irq, sun4d_clear_profile_irq, BTFIXUPCALL_NORM);
583 BTFIXUPSET_CALL(load_profile_irq, sun4d_load_profile_irq, BTFIXUPCALL_NORM); 572 BTFIXUPSET_CALL(load_profile_irq, sun4d_load_profile_irq, BTFIXUPCALL_NORM);
584 BTFIXUPSET_CALL(__irq_itoa, sun4d_irq_itoa, BTFIXUPCALL_NORM);
585 sparc_init_timers = sun4d_init_timers; 573 sparc_init_timers = sun4d_init_timers;
586#ifdef CONFIG_SMP 574#ifdef CONFIG_SMP
587 BTFIXUPSET_CALL(set_cpu_int, sun4d_set_cpu_int, BTFIXUPCALL_NORM); 575 BTFIXUPSET_CALL(set_cpu_int, sun4d_set_cpu_int, BTFIXUPCALL_NORM);
diff --git a/arch/sparc/kernel/sun4m_irq.c b/arch/sparc/kernel/sun4m_irq.c
index 39d712c3c809..a296c13ac18f 100644
--- a/arch/sparc/kernel/sun4m_irq.c
+++ b/arch/sparc/kernel/sun4m_irq.c
@@ -229,13 +229,6 @@ static void sun4m_load_profile_irq(int cpu, unsigned int limit)
229 sun4m_timers->cpu_timers[cpu].l14_timer_limit = limit; 229 sun4m_timers->cpu_timers[cpu].l14_timer_limit = limit;
230} 230}
231 231
232char *sun4m_irq_itoa(unsigned int irq)
233{
234 static char buff[16];
235 sprintf(buff, "%d", irq);
236 return buff;
237}
238
239static void __init sun4m_init_timers(irqreturn_t (*counter_fn)(int, void *, struct pt_regs *)) 232static void __init sun4m_init_timers(irqreturn_t (*counter_fn)(int, void *, struct pt_regs *))
240{ 233{
241 int reg_count, irq, cpu; 234 int reg_count, irq, cpu;
@@ -388,7 +381,6 @@ void __init sun4m_init_IRQ(void)
388 BTFIXUPSET_CALL(clear_clock_irq, sun4m_clear_clock_irq, BTFIXUPCALL_NORM); 381 BTFIXUPSET_CALL(clear_clock_irq, sun4m_clear_clock_irq, BTFIXUPCALL_NORM);
389 BTFIXUPSET_CALL(clear_profile_irq, sun4m_clear_profile_irq, BTFIXUPCALL_NORM); 382 BTFIXUPSET_CALL(clear_profile_irq, sun4m_clear_profile_irq, BTFIXUPCALL_NORM);
390 BTFIXUPSET_CALL(load_profile_irq, sun4m_load_profile_irq, BTFIXUPCALL_NORM); 383 BTFIXUPSET_CALL(load_profile_irq, sun4m_load_profile_irq, BTFIXUPCALL_NORM);
391 BTFIXUPSET_CALL(__irq_itoa, sun4m_irq_itoa, BTFIXUPCALL_NORM);
392 sparc_init_timers = sun4m_init_timers; 384 sparc_init_timers = sun4m_init_timers;
393#ifdef CONFIG_SMP 385#ifdef CONFIG_SMP
394 BTFIXUPSET_CALL(set_cpu_int, sun4m_send_ipi, BTFIXUPCALL_NORM); 386 BTFIXUPSET_CALL(set_cpu_int, sun4m_send_ipi, BTFIXUPCALL_NORM);
diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c
index 05983a312d50..92923bf27233 100644
--- a/drivers/atm/fore200e.c
+++ b/drivers/atm/fore200e.c
@@ -167,13 +167,9 @@ fore200e_atm2fore_aal(int aal)
167static char* 167static char*
168fore200e_irq_itoa(int irq) 168fore200e_irq_itoa(int irq)
169{ 169{
170#if defined(__sparc_v9__)
171 return __irq_itoa(irq);
172#else
173 static char str[8]; 170 static char str[8];
174 sprintf(str, "%d", irq); 171 sprintf(str, "%d", irq);
175 return str; 172 return str;
176#endif
177} 173}
178 174
179 175
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c
index 7cac6d05d723..f6686fcce809 100644
--- a/drivers/char/rtc.c
+++ b/drivers/char/rtc.c
@@ -960,10 +960,6 @@ found:
960 * PCI Slot 2 INTA# (and some INTx# in Slot 1). 960 * PCI Slot 2 INTA# (and some INTx# in Slot 1).
961 */ 961 */
962 if (request_irq(rtc_irq, rtc_interrupt, SA_SHIRQ, "rtc", (void *)&rtc_port)) { 962 if (request_irq(rtc_irq, rtc_interrupt, SA_SHIRQ, "rtc", (void *)&rtc_port)) {
963 /*
964 * Standard way for sparc to print irq's is to use
965 * __irq_itoa(). I think for EBus it's ok to use %d.
966 */
967 printk(KERN_ERR "rtc: cannot register IRQ %d\n", rtc_irq); 963 printk(KERN_ERR "rtc: cannot register IRQ %d\n", rtc_irq);
968 return -EIO; 964 return -EIO;
969 } 965 }
diff --git a/drivers/fc4/soc.c b/drivers/fc4/soc.c
index ec1f94738c59..cf8768b8d1f1 100644
--- a/drivers/fc4/soc.c
+++ b/drivers/fc4/soc.c
@@ -643,7 +643,7 @@ static inline void soc_init(struct sbus_dev *sdev, int no)
643 return; 643 return;
644 } 644 }
645 645
646 SOD(("SOC uses IRQ%s\n", __irq_itoa(irq))) 646 SOD(("SOC uses IRQ %d\n", irq))
647 647
648 s->port[0].fc.irq = irq; 648 s->port[0].fc.irq = irq;
649 s->port[1].fc.irq = irq; 649 s->port[1].fc.irq = irq;
diff --git a/drivers/fc4/socal.c b/drivers/fc4/socal.c
index 922e9613b2cf..f52d1e5bd5a5 100644
--- a/drivers/fc4/socal.c
+++ b/drivers/fc4/socal.c
@@ -767,7 +767,7 @@ static inline void socal_init(struct sbus_dev *sdev, int no)
767 return; 767 return;
768 } 768 }
769 769
770 SOD(("SOCAL uses IRQ %s\n", __irq_itoa(irq))) 770 SOD(("SOCAL uses IRQ %d\n", irq))
771 771
772 s->port[0].fc.irq = irq; 772 s->port[0].fc.irq = irq;
773 s->port[1].fc.irq = irq; 773 s->port[1].fc.irq = irq;
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c
index 1b7b4c531bc2..9ebf8ae2a5e3 100644
--- a/drivers/ide/ide-probe.c
+++ b/drivers/ide/ide-probe.c
@@ -1138,16 +1138,11 @@ static int init_irq (ide_hwif_t *hwif)
1138 spin_unlock_irq(&ide_lock); 1138 spin_unlock_irq(&ide_lock);
1139 } 1139 }
1140 1140
1141#if !defined(__mc68000__) && !defined(CONFIG_APUS) && !defined(__sparc__) 1141#if !defined(__mc68000__) && !defined(CONFIG_APUS)
1142 printk("%s at 0x%03lx-0x%03lx,0x%03lx on irq %d", hwif->name, 1142 printk("%s at 0x%03lx-0x%03lx,0x%03lx on irq %d", hwif->name,
1143 hwif->io_ports[IDE_DATA_OFFSET], 1143 hwif->io_ports[IDE_DATA_OFFSET],
1144 hwif->io_ports[IDE_DATA_OFFSET]+7, 1144 hwif->io_ports[IDE_DATA_OFFSET]+7,
1145 hwif->io_ports[IDE_CONTROL_OFFSET], hwif->irq); 1145 hwif->io_ports[IDE_CONTROL_OFFSET], hwif->irq);
1146#elif defined(__sparc__)
1147 printk("%s at 0x%03lx-0x%03lx,0x%03lx on irq %s", hwif->name,
1148 hwif->io_ports[IDE_DATA_OFFSET],
1149 hwif->io_ports[IDE_DATA_OFFSET]+7,
1150 hwif->io_ports[IDE_CONTROL_OFFSET], __irq_itoa(hwif->irq));
1151#else 1146#else
1152 printk("%s at 0x%08lx on irq %d", hwif->name, 1147 printk("%s at 0x%08lx on irq %d", hwif->name,
1153 hwif->io_ports[IDE_DATA_OFFSET], hwif->irq); 1148 hwif->io_ports[IDE_DATA_OFFSET], hwif->irq);
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c
index 462ed3006c30..c11e3b2e67a6 100644
--- a/drivers/ide/setup-pci.c
+++ b/drivers/ide/setup-pci.c
@@ -694,13 +694,8 @@ static int do_ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t *d,
694 goto out; 694 goto out;
695 } 695 }
696 if (noisy) 696 if (noisy)
697#ifdef __sparc__
698 printk(KERN_INFO "%s: 100%% native mode on irq %s\n",
699 d->name, __irq_itoa(pciirq));
700#else
701 printk(KERN_INFO "%s: 100%% native mode on irq %d\n", 697 printk(KERN_INFO "%s: 100%% native mode on irq %d\n",
702 d->name, pciirq); 698 d->name, pciirq);
703#endif
704 } 699 }
705 700
706 /* FIXME: silent failure can happen */ 701 /* FIXME: silent failure can happen */
diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c
index 11f13778f139..c031650a1c74 100644
--- a/drivers/ieee1394/ohci1394.c
+++ b/drivers/ieee1394/ohci1394.c
@@ -586,11 +586,7 @@ static void ohci_initialize(struct ti_ohci *ohci)
586 reg_write(ohci, OHCI1394_HCControlSet, OHCI1394_HCControl_linkEnable); 586 reg_write(ohci, OHCI1394_HCControlSet, OHCI1394_HCControl_linkEnable);
587 587
588 buf = reg_read(ohci, OHCI1394_Version); 588 buf = reg_read(ohci, OHCI1394_Version);
589#ifndef __sparc__
590 sprintf (irq_buf, "%d", ohci->dev->irq); 589 sprintf (irq_buf, "%d", ohci->dev->irq);
591#else
592 sprintf (irq_buf, "%s", __irq_itoa(ohci->dev->irq));
593#endif
594 PRINT(KERN_INFO, "OHCI-1394 %d.%d (PCI): IRQ=[%s] " 590 PRINT(KERN_INFO, "OHCI-1394 %d.%d (PCI): IRQ=[%s] "
595 "MMIO=[%lx-%lx] Max Packet=[%d] IR/IT contexts=[%d/%d]", 591 "MMIO=[%lx-%lx] Max Packet=[%d] IR/IT contexts=[%d/%d]",
596 ((((buf) >> 16) & 0xf) + (((buf) >> 20) & 0xf) * 10), 592 ((((buf) >> 16) & 0xf) + (((buf) >> 20) & 0xf) * 10),
diff --git a/drivers/ieee1394/pcilynx.c b/drivers/ieee1394/pcilynx.c
index e2edc41e1b6f..e29dfd280bee 100644
--- a/drivers/ieee1394/pcilynx.c
+++ b/drivers/ieee1394/pcilynx.c
@@ -1252,11 +1252,7 @@ static int __devinit add_card(struct pci_dev *dev,
1252 /* Fix buggy cards with autoboot pin not tied low: */ 1252 /* Fix buggy cards with autoboot pin not tied low: */
1253 reg_write(lynx, DMA0_CHAN_CTRL, 0); 1253 reg_write(lynx, DMA0_CHAN_CTRL, 0);
1254 1254
1255#ifndef __sparc__
1256 sprintf (irq_buf, "%d", dev->irq); 1255 sprintf (irq_buf, "%d", dev->irq);
1257#else
1258 sprintf (irq_buf, "%s", __irq_itoa(dev->irq));
1259#endif
1260 1256
1261 if (!request_irq(dev->irq, lynx_irq_handler, SA_SHIRQ, 1257 if (!request_irq(dev->irq, lynx_irq_handler, SA_SHIRQ,
1262 PCILYNX_DRIVER_NAME, lynx)) { 1258 PCILYNX_DRIVER_NAME, lynx)) {
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index a30084076ac8..59690cbabfca 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -63,9 +63,6 @@
63#ifdef CONFIG_MTRR 63#ifdef CONFIG_MTRR
64#include <asm/mtrr.h> 64#include <asm/mtrr.h>
65#endif 65#endif
66#ifdef __sparc__
67#include <asm/irq.h> /* needed for __irq_itoa() proto */
68#endif
69 66
70#include "mptbase.h" 67#include "mptbase.h"
71 68
@@ -1394,13 +1391,8 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)
1394 r = request_irq(pdev->irq, mpt_interrupt, SA_SHIRQ, ioc->name, ioc); 1391 r = request_irq(pdev->irq, mpt_interrupt, SA_SHIRQ, ioc->name, ioc);
1395 1392
1396 if (r < 0) { 1393 if (r < 0) {
1397#ifndef __sparc__
1398 printk(MYIOC_s_ERR_FMT "Unable to allocate interrupt %d!\n", 1394 printk(MYIOC_s_ERR_FMT "Unable to allocate interrupt %d!\n",
1399 ioc->name, pdev->irq); 1395 ioc->name, pdev->irq);
1400#else
1401 printk(MYIOC_s_ERR_FMT "Unable to allocate interrupt %s!\n",
1402 ioc->name, __irq_itoa(pdev->irq));
1403#endif
1404 list_del(&ioc->list); 1396 list_del(&ioc->list);
1405 iounmap(mem); 1397 iounmap(mem);
1406 kfree(ioc); 1398 kfree(ioc);
@@ -1412,11 +1404,7 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)
1412 pci_set_master(pdev); /* ?? */ 1404 pci_set_master(pdev); /* ?? */
1413 pci_set_drvdata(pdev, ioc); 1405 pci_set_drvdata(pdev, ioc);
1414 1406
1415#ifndef __sparc__
1416 dprintk((KERN_INFO MYNAM ": %s installed at interrupt %d\n", ioc->name, pdev->irq)); 1407 dprintk((KERN_INFO MYNAM ": %s installed at interrupt %d\n", ioc->name, pdev->irq));
1417#else
1418 dprintk((KERN_INFO MYNAM ": %s installed at interrupt %s\n", ioc->name, __irq_itoa(pdev->irq)));
1419#endif
1420 } 1408 }
1421 1409
1422 /* Check for "bound ports" (929, 929X, 1030, 1035) to reduce redundant resets. 1410 /* Check for "bound ports" (929, 929X, 1030, 1035) to reduce redundant resets.
@@ -5647,11 +5635,7 @@ mpt_print_ioc_summary(MPT_ADAPTER *ioc, char *buffer, int *size, int len, int sh
5647 a[5], a[4], a[3], a[2], a[1], a[0]); 5635 a[5], a[4], a[3], a[2], a[1], a[0]);
5648 } 5636 }
5649 5637
5650#ifndef __sparc__
5651 y += sprintf(buffer+len+y, ", IRQ=%d", ioc->pci_irq); 5638 y += sprintf(buffer+len+y, ", IRQ=%d", ioc->pci_irq);
5652#else
5653 y += sprintf(buffer+len+y, ", IRQ=%s", __irq_itoa(ioc->pci_irq));
5654#endif
5655 5639
5656 if (!ioc->active) 5640 if (!ioc->active)
5657 y += sprintf(buffer+len+y, " (disabled)"); 5641 y += sprintf(buffer+len+y, " (disabled)");
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index 274b0138d442..e27778926eba 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -1382,17 +1382,12 @@ static int __devinit vortex_probe1(struct device *gendev,
1382 for (i = 0; i < 6; i++) 1382 for (i = 0; i < 6; i++)
1383 iowrite8(dev->dev_addr[i], ioaddr + i); 1383 iowrite8(dev->dev_addr[i], ioaddr + i);
1384 1384
1385#ifdef __sparc__
1386 if (print_info)
1387 printk(", IRQ %s\n", __irq_itoa(dev->irq));
1388#else
1389 if (print_info) 1385 if (print_info)
1390 printk(", IRQ %d\n", dev->irq); 1386 printk(", IRQ %d\n", dev->irq);
1391 /* Tell them about an invalid IRQ. */ 1387 /* Tell them about an invalid IRQ. */
1392 if (dev->irq <= 0 || dev->irq >= NR_IRQS) 1388 if (dev->irq <= 0 || dev->irq >= NR_IRQS)
1393 printk(KERN_WARNING " *** Warning: IRQ %d is unlikely to work! ***\n", 1389 printk(KERN_WARNING " *** Warning: IRQ %d is unlikely to work! ***\n",
1394 dev->irq); 1390 dev->irq);
1395#endif
1396 1391
1397 EL3WINDOW(4); 1392 EL3WINDOW(4);
1398 step = (ioread8(ioaddr + Wn4_NetDiag) & 0x1e) >> 1; 1393 step = (ioread8(ioaddr + Wn4_NetDiag) & 0x1e) >> 1;
diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c
index b508812e97ac..23ff22ba5d31 100644
--- a/drivers/net/acenic.c
+++ b/drivers/net/acenic.c
@@ -579,11 +579,7 @@ static int __devinit acenic_probe_one(struct pci_dev *pdev,
579 } 579 }
580 580
581 printk("Gigabit Ethernet at 0x%08lx, ", dev->base_addr); 581 printk("Gigabit Ethernet at 0x%08lx, ", dev->base_addr);
582#ifdef __sparc__ 582 printk("irq %d\n", pdev->irq);
583 printk("irq %s\n", __irq_itoa(pdev->irq));
584#else
585 printk("irq %i\n", pdev->irq);
586#endif
587 583
588#ifdef CONFIG_ACENIC_OMIT_TIGON_I 584#ifdef CONFIG_ACENIC_OMIT_TIGON_I
589 if ((readl(&ap->regs->HostCtrl) >> 28) == 4) { 585 if ((readl(&ap->regs->HostCtrl) >> 28) == 4) {
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c
index 9f046cae2f71..bd5d2668a362 100644
--- a/drivers/net/sunhme.c
+++ b/drivers/net/sunhme.c
@@ -2221,13 +2221,8 @@ static int happy_meal_open(struct net_device *dev)
2221 if (request_irq(dev->irq, &happy_meal_interrupt, 2221 if (request_irq(dev->irq, &happy_meal_interrupt,
2222 SA_SHIRQ, dev->name, (void *)dev)) { 2222 SA_SHIRQ, dev->name, (void *)dev)) {
2223 HMD(("EAGAIN\n")); 2223 HMD(("EAGAIN\n"));
2224#ifdef __sparc__
2225 printk(KERN_ERR "happy_meal(SBUS): Can't order irq %s to go.\n",
2226 __irq_itoa(dev->irq));
2227#else
2228 printk(KERN_ERR "happy_meal(SBUS): Can't order irq %d to go.\n", 2224 printk(KERN_ERR "happy_meal(SBUS): Can't order irq %d to go.\n",
2229 dev->irq); 2225 dev->irq);
2230#endif
2231 2226
2232 return -EAGAIN; 2227 return -EAGAIN;
2233 } 2228 }
diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c
index b7d87d4690b4..6381243d8d00 100644
--- a/drivers/net/sunlance.c
+++ b/drivers/net/sunlance.c
@@ -936,7 +936,7 @@ static int lance_open(struct net_device *dev)
936 936
937 if (request_irq(dev->irq, &lance_interrupt, SA_SHIRQ, 937 if (request_irq(dev->irq, &lance_interrupt, SA_SHIRQ,
938 lancestr, (void *) dev)) { 938 lancestr, (void *) dev)) {
939 printk(KERN_ERR "Lance: Can't get irq %s\n", __irq_itoa(dev->irq)); 939 printk(KERN_ERR "Lance: Can't get irq %d\n", dev->irq);
940 return -EAGAIN; 940 return -EAGAIN;
941 } 941 }
942 942
diff --git a/drivers/sbus/char/cpwatchdog.c b/drivers/sbus/char/cpwatchdog.c
index fd2cc7782f76..5bf3dd901b65 100644
--- a/drivers/sbus/char/cpwatchdog.c
+++ b/drivers/sbus/char/cpwatchdog.c
@@ -304,8 +304,8 @@ static int wd_open(struct inode *inode, struct file *f)
304 SA_SHIRQ, 304 SA_SHIRQ,
305 WD_OBPNAME, 305 WD_OBPNAME,
306 (void *)wd_dev.regs)) { 306 (void *)wd_dev.regs)) {
307 printk("%s: Cannot register IRQ %s\n", 307 printk("%s: Cannot register IRQ %d\n",
308 WD_OBPNAME, __irq_itoa(wd_dev.irq)); 308 WD_OBPNAME, wd_dev.irq);
309 return(-EBUSY); 309 return(-EBUSY);
310 } 310 }
311 wd_dev.initialized = 1; 311 wd_dev.initialized = 1;
diff --git a/drivers/sbus/char/uctrl.c b/drivers/sbus/char/uctrl.c
index e2d9a7c85427..575b1f7ed410 100644
--- a/drivers/sbus/char/uctrl.c
+++ b/drivers/sbus/char/uctrl.c
@@ -400,7 +400,7 @@ static int __init ts102_uctrl_init(void)
400 } 400 }
401 401
402 driver->regs->uctrl_intr = UCTRL_INTR_RXNE_REQ|UCTRL_INTR_RXNE_MSK; 402 driver->regs->uctrl_intr = UCTRL_INTR_RXNE_REQ|UCTRL_INTR_RXNE_MSK;
403 printk("uctrl: 0x%x (irq %s)\n", driver->regs, __irq_itoa(driver->irq)); 403 printk("uctrl: 0x%x (irq %d)\n", driver->regs, driver->irq);
404 uctrl_get_event_status(); 404 uctrl_get_event_status();
405 uctrl_get_external_status(); 405 uctrl_get_external_status();
406 return 0; 406 return 0;
diff --git a/drivers/scsi/esp.c b/drivers/scsi/esp.c
index 87a8c3d2072c..0a3e45d7a972 100644
--- a/drivers/scsi/esp.c
+++ b/drivers/scsi/esp.c
@@ -821,8 +821,8 @@ static int __init esp_register_irq(struct esp *esp)
821 return -1; 821 return -1;
822 } 822 }
823 823
824 printk("esp%d: IRQ %s ", esp->esp_id, 824 printk("esp%d: IRQ %d ", esp->esp_id,
825 __irq_itoa(esp->ehost->irq)); 825 esp->ehost->irq);
826 826
827 return 0; 827 return 0;
828} 828}
diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
index c7e78dcf09df..7c27ecc6fb5d 100644
--- a/drivers/scsi/qlogicpti.c
+++ b/drivers/scsi/qlogicpti.c
@@ -725,7 +725,7 @@ static int __init qpti_register_irq(struct qlogicpti *qpti)
725 SA_SHIRQ, "Qlogic/PTI", qpti)) 725 SA_SHIRQ, "Qlogic/PTI", qpti))
726 goto fail; 726 goto fail;
727 727
728 printk("qpti%d: IRQ %s ", qpti->qpti_id, __irq_itoa(qpti->irq)); 728 printk("qpti%d: IRQ %d ", qpti->qpti_id, qpti->irq);
729 729
730 return 0; 730 return 0;
731 731
@@ -988,8 +988,8 @@ const char *qlogicpti_info(struct Scsi_Host *host)
988 static char buf[80]; 988 static char buf[80];
989 struct qlogicpti *qpti = (struct qlogicpti *) host->hostdata; 989 struct qlogicpti *qpti = (struct qlogicpti *) host->hostdata;
990 990
991 sprintf(buf, "PTI Qlogic,ISP SBUS SCSI irq %s regs at %p", 991 sprintf(buf, "PTI Qlogic,ISP SBUS SCSI irq %d regs at %p",
992 __irq_itoa(qpti->qhost->irq), qpti->qregs); 992 qpti->qhost->irq, qpti->qregs);
993 return buf; 993 return buf;
994} 994}
995 995
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c
index 9c83b4d39a26..7677fba2ceb5 100644
--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
@@ -54,14 +54,8 @@
54#define NAME53C "sym53c" 54#define NAME53C "sym53c"
55#define NAME53C8XX "sym53c8xx" 55#define NAME53C8XX "sym53c8xx"
56 56
57/* SPARC just has to be different ... */
58#ifdef __sparc__
59#define IRQ_FMT "%s"
60#define IRQ_PRM(x) __irq_itoa(x)
61#else
62#define IRQ_FMT "%d" 57#define IRQ_FMT "%d"
63#define IRQ_PRM(x) (x) 58#define IRQ_PRM(x) (x)
64#endif
65 59
66struct sym_driver_setup sym_driver_setup = SYM_LINUX_DRIVER_SETUP; 60struct sym_driver_setup sym_driver_setup = SYM_LINUX_DRIVER_SETUP;
67unsigned int sym_debug_flags = 0; 61unsigned int sym_debug_flags = 0;
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index 2b4f96541b8e..4cdb610cdd37 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -1295,9 +1295,9 @@ static int __init sunsu_kbd_ms_init(struct uart_sunsu_port *up, int channel)
1295 if (up->port.type == PORT_UNKNOWN) 1295 if (up->port.type == PORT_UNKNOWN)
1296 return -1; 1296 return -1;
1297 1297
1298 printk(KERN_INFO "su%d at 0x%p (irq = %s) is a %s\n", 1298 printk(KERN_INFO "su%d at 0x%p (irq = %d) is a %s\n",
1299 channel, 1299 channel,
1300 up->port.membase, __irq_itoa(up->port.irq), 1300 up->port.membase, up->port.irq,
1301 sunsu_type(&up->port)); 1301 sunsu_type(&up->port));
1302 1302
1303#ifdef CONFIG_SERIO 1303#ifdef CONFIG_SERIO
diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c
index cd49ebbf4a45..5b6569728a9c 100644
--- a/drivers/serial/sunzilog.c
+++ b/drivers/serial/sunzilog.c
@@ -1540,8 +1540,8 @@ static void __init sunzilog_init_kbdms(struct uart_sunzilog_port *up, int channe
1540 up->cflag = B4800 | CS8 | CLOCAL | CREAD; 1540 up->cflag = B4800 | CS8 | CLOCAL | CREAD;
1541 baud = 4800; 1541 baud = 4800;
1542 } 1542 }
1543 printk(KERN_INFO "zs%d at 0x%p (irq = %s) is a SunZilog\n", 1543 printk(KERN_INFO "zs%d at 0x%p (irq = %d) is a SunZilog\n",
1544 channel, up->port.membase, __irq_itoa(zilog_irq)); 1544 channel, up->port.membase, zilog_irq);
1545 1545
1546 up->curregs[R15] = BRKIE; 1546 up->curregs[R15] = BRKIE;
1547 brg = BPS_TO_BRG(baud, ZS_CLOCK / ZS_CLOCK_DIVISOR); 1547 brg = BPS_TO_BRG(baud, ZS_CLOCK / ZS_CLOCK_DIVISOR);
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index e2e00ba4e1e6..4bf914d00a14 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1826,24 +1826,16 @@ int usb_add_hcd(struct usb_hcd *hcd,
1826 1826
1827 /* enable irqs just before we start the controller */ 1827 /* enable irqs just before we start the controller */
1828 if (hcd->driver->irq) { 1828 if (hcd->driver->irq) {
1829 char buf[8], *bufp = buf;
1830
1831#ifdef __sparc__
1832 bufp = __irq_itoa(irqnum);
1833#else
1834 sprintf(buf, "%d", irqnum);
1835#endif
1836
1837 snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d", 1829 snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d",
1838 hcd->driver->description, hcd->self.busnum); 1830 hcd->driver->description, hcd->self.busnum);
1839 if ((retval = request_irq(irqnum, &usb_hcd_irq, irqflags, 1831 if ((retval = request_irq(irqnum, &usb_hcd_irq, irqflags,
1840 hcd->irq_descr, hcd)) != 0) { 1832 hcd->irq_descr, hcd)) != 0) {
1841 dev_err(hcd->self.controller, 1833 dev_err(hcd->self.controller,
1842 "request interrupt %s failed\n", bufp); 1834 "request interrupt %d failed\n", irqnum);
1843 goto err_request_irq; 1835 goto err_request_irq;
1844 } 1836 }
1845 hcd->irq = irqnum; 1837 hcd->irq = irqnum;
1846 dev_info(hcd->self.controller, "irq %s, %s 0x%08llx\n", bufp, 1838 dev_info(hcd->self.controller, "irq %d, %s 0x%08llx\n", irqnum,
1847 (hcd->driver->flags & HCD_MEMORY) ? 1839 (hcd->driver->flags & HCD_MEMORY) ?
1848 "io mem" : "io base", 1840 "io mem" : "io base",
1849 (unsigned long long)hcd->rsrc_start); 1841 (unsigned long long)hcd->rsrc_start);
diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c
index 66b81bbf6bee..5378c1757292 100644
--- a/drivers/usb/gadget/goku_udc.c
+++ b/drivers/usb/gadget/goku_udc.c
@@ -1850,7 +1850,6 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id)
1850 unsigned long resource, len; 1850 unsigned long resource, len;
1851 void __iomem *base = NULL; 1851 void __iomem *base = NULL;
1852 int retval; 1852 int retval;
1853 char buf [8], *bufp;
1854 1853
1855 /* if you want to support more than one controller in a system, 1854 /* if you want to support more than one controller in a system,
1856 * usb_gadget_driver_{register,unregister}() must change. 1855 * usb_gadget_driver_{register,unregister}() must change.
@@ -1913,20 +1912,14 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id)
1913 pci_set_drvdata(pdev, dev); 1912 pci_set_drvdata(pdev, dev);
1914 INFO(dev, "%s\n", driver_desc); 1913 INFO(dev, "%s\n", driver_desc);
1915 INFO(dev, "version: " DRIVER_VERSION " %s\n", dmastr()); 1914 INFO(dev, "version: " DRIVER_VERSION " %s\n", dmastr());
1916#ifndef __sparc__ 1915 INFO(dev, "irq %d, pci mem %p\n", pdev->irq, base);
1917 scnprintf(buf, sizeof buf, "%d", pdev->irq);
1918 bufp = buf;
1919#else
1920 bufp = __irq_itoa(pdev->irq);
1921#endif
1922 INFO(dev, "irq %s, pci mem %p\n", bufp, base);
1923 1916
1924 /* init to known state, then setup irqs */ 1917 /* init to known state, then setup irqs */
1925 udc_reset(dev); 1918 udc_reset(dev);
1926 udc_reinit (dev); 1919 udc_reinit (dev);
1927 if (request_irq(pdev->irq, goku_irq, SA_SHIRQ/*|SA_SAMPLE_RANDOM*/, 1920 if (request_irq(pdev->irq, goku_irq, SA_SHIRQ/*|SA_SAMPLE_RANDOM*/,
1928 driver_name, dev) != 0) { 1921 driver_name, dev) != 0) {
1929 DBG(dev, "request interrupt %s failed\n", bufp); 1922 DBG(dev, "request interrupt %d failed\n", pdev->irq);
1930 retval = -EBUSY; 1923 retval = -EBUSY;
1931 goto done; 1924 goto done;
1932 } 1925 }
diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c
index 0b9293493957..020d3c42b1af 100644
--- a/drivers/usb/gadget/net2280.c
+++ b/drivers/usb/gadget/net2280.c
@@ -2822,7 +2822,6 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id)
2822 unsigned long resource, len; 2822 unsigned long resource, len;
2823 void __iomem *base = NULL; 2823 void __iomem *base = NULL;
2824 int retval, i; 2824 int retval, i;
2825 char buf [8], *bufp;
2826 2825
2827 /* if you want to support more than one controller in a system, 2826 /* if you want to support more than one controller in a system,
2828 * usb_gadget_driver_{register,unregister}() must change. 2827 * usb_gadget_driver_{register,unregister}() must change.
@@ -2896,15 +2895,10 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id)
2896 retval = -ENODEV; 2895 retval = -ENODEV;
2897 goto done; 2896 goto done;
2898 } 2897 }
2899#ifndef __sparc__ 2898
2900 scnprintf (buf, sizeof buf, "%d", pdev->irq);
2901 bufp = buf;
2902#else
2903 bufp = __irq_itoa(pdev->irq);
2904#endif
2905 if (request_irq (pdev->irq, net2280_irq, SA_SHIRQ, driver_name, dev) 2899 if (request_irq (pdev->irq, net2280_irq, SA_SHIRQ, driver_name, dev)
2906 != 0) { 2900 != 0) {
2907 ERROR (dev, "request interrupt %s failed\n", bufp); 2901 ERROR (dev, "request interrupt %d failed\n", pdev->irq);
2908 retval = -EBUSY; 2902 retval = -EBUSY;
2909 goto done; 2903 goto done;
2910 } 2904 }
@@ -2953,8 +2947,8 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id)
2953 2947
2954 /* done */ 2948 /* done */
2955 INFO (dev, "%s\n", driver_desc); 2949 INFO (dev, "%s\n", driver_desc);
2956 INFO (dev, "irq %s, pci mem %p, chip rev %04x\n", 2950 INFO (dev, "irq %d, pci mem %p, chip rev %04x\n",
2957 bufp, base, dev->chiprev); 2951 pdev->irq, base, dev->chiprev);
2958 INFO (dev, "version: " DRIVER_VERSION "; dma %s\n", 2952 INFO (dev, "version: " DRIVER_VERSION "; dma %s\n",
2959 use_dma 2953 use_dma
2960 ? (use_dma_chaining ? "chaining" : "enabled") 2954 ? (use_dma_chaining ? "chaining" : "enabled")
diff --git a/include/asm-sparc/irq.h b/include/asm-sparc/irq.h
index cee356b0dae3..a6115c6ed6e3 100644
--- a/include/asm-sparc/irq.h
+++ b/include/asm-sparc/irq.h
@@ -17,8 +17,6 @@
17 17
18#define __irq_ino(irq) irq 18#define __irq_ino(irq) irq
19#define __irq_pil(irq) irq 19#define __irq_pil(irq) irq
20BTFIXUPDEF_CALL(char *, __irq_itoa, unsigned int)
21#define __irq_itoa(irq) BTFIXUP_CALL(__irq_itoa)(irq)
22 20
23#define NR_IRQS 16 21#define NR_IRQS 16
24 22
diff --git a/include/asm-sparc64/irq.h b/include/asm-sparc64/irq.h
index de33d6e1afb5..bbdf89e6faa4 100644
--- a/include/asm-sparc64/irq.h
+++ b/include/asm-sparc64/irq.h
@@ -99,14 +99,6 @@ extern struct ino_bucket ivector_table[NUM_IVECS];
99#define __bucket(irq) ((struct ino_bucket *)(unsigned long)(irq)) 99#define __bucket(irq) ((struct ino_bucket *)(unsigned long)(irq))
100#define __irq(bucket) ((unsigned int)(unsigned long)(bucket)) 100#define __irq(bucket) ((unsigned int)(unsigned long)(bucket))
101 101
102static __inline__ char *__irq_itoa(unsigned int irq)
103{
104 static char buff[16];
105
106 sprintf(buff, "%d,%x", __irq_pil(irq), (unsigned int)__irq_ino(irq));
107 return buff;
108}
109
110#define NR_IRQS 16 102#define NR_IRQS 16
111 103
112#define irq_canonicalize(irq) (irq) 104#define irq_canonicalize(irq) (irq)
diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
index 55493340f467..dfe9bac7fa32 100644
--- a/sound/sparc/amd7930.c
+++ b/sound/sparc/amd7930.c
@@ -977,9 +977,9 @@ static int __init snd_amd7930_create(struct snd_card *card,
977 977
978 if (request_irq(irq_prop->pri, snd_amd7930_interrupt, 978 if (request_irq(irq_prop->pri, snd_amd7930_interrupt,
979 SA_INTERRUPT | SA_SHIRQ, "amd7930", amd)) { 979 SA_INTERRUPT | SA_SHIRQ, "amd7930", amd)) {
980 snd_printk("amd7930-%d: Unable to grab IRQ %s\n", 980 snd_printk("amd7930-%d: Unable to grab IRQ %d\n",
981 dev, 981 dev,
982 __irq_itoa(irq_prop->pri)); 982 irq_prop->pri);
983 snd_amd7930_free(amd); 983 snd_amd7930_free(amd);
984 return -EBUSY; 984 return -EBUSY;
985 } 985 }
@@ -1063,11 +1063,11 @@ static int __init amd7930_attach(int prom_node, struct sbus_dev *sdev)
1063 1063
1064 strcpy(card->driver, "AMD7930"); 1064 strcpy(card->driver, "AMD7930");
1065 strcpy(card->shortname, "Sun AMD7930"); 1065 strcpy(card->shortname, "Sun AMD7930");
1066 sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %s", 1066 sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %d",
1067 card->shortname, 1067 card->shortname,
1068 rp->flags & 0xffL, 1068 rp->flags & 0xffL,
1069 rp->start, 1069 rp->start,
1070 __irq_itoa(irq_prop.pri)); 1070 irq_prop.pri);
1071 1071
1072 if ((err = snd_amd7930_create(card, sdev, rp, reg_prop.reg_size, 1072 if ((err = snd_amd7930_create(card, sdev, rp, reg_prop.reg_size,
1073 &irq_prop, dev, &amd)) < 0) 1073 &irq_prop, dev, &amd)) < 0)
diff --git a/sound/sparc/cs4231.c b/sound/sparc/cs4231.c
index 8804f26ddb3a..b3efc9aa2916 100644
--- a/sound/sparc/cs4231.c
+++ b/sound/sparc/cs4231.c
@@ -2003,9 +2003,8 @@ static int __init snd_cs4231_sbus_create(struct snd_card *card,
2003 2003
2004 if (request_irq(sdev->irqs[0], snd_cs4231_sbus_interrupt, 2004 if (request_irq(sdev->irqs[0], snd_cs4231_sbus_interrupt,
2005 SA_SHIRQ, "cs4231", chip)) { 2005 SA_SHIRQ, "cs4231", chip)) {
2006 snd_printdd("cs4231-%d: Unable to grab SBUS IRQ %s\n", 2006 snd_printdd("cs4231-%d: Unable to grab SBUS IRQ %d\n",
2007 dev, 2007 dev, sdev->irqs[0]);
2008 __irq_itoa(sdev->irqs[0]));
2009 snd_cs4231_sbus_free(chip); 2008 snd_cs4231_sbus_free(chip);
2010 return -EBUSY; 2009 return -EBUSY;
2011 } 2010 }
@@ -2038,11 +2037,11 @@ static int __init cs4231_sbus_attach(struct sbus_dev *sdev)
2038 if (err) 2037 if (err)
2039 return err; 2038 return err;
2040 2039
2041 sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %s", 2040 sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %d",
2042 card->shortname, 2041 card->shortname,
2043 rp->flags & 0xffL, 2042 rp->flags & 0xffL,
2044 rp->start, 2043 rp->start,
2045 __irq_itoa(sdev->irqs[0])); 2044 sdev->irqs[0]);
2046 2045
2047 if ((err = snd_cs4231_sbus_create(card, sdev, dev, &cp)) < 0) { 2046 if ((err = snd_cs4231_sbus_create(card, sdev, dev, &cp)) < 0) {
2048 snd_card_free(card); 2047 snd_card_free(card);
@@ -2244,10 +2243,10 @@ static int __init cs4231_ebus_attach(struct linux_ebus_device *edev)
2244 if (err) 2243 if (err)
2245 return err; 2244 return err;
2246 2245
2247 sprintf(card->longname, "%s at 0x%lx, irq %s", 2246 sprintf(card->longname, "%s at 0x%lx, irq %d",
2248 card->shortname, 2247 card->shortname,
2249 edev->resource[0].start, 2248 edev->resource[0].start,
2250 __irq_itoa(edev->irqs[0])); 2249 edev->irqs[0]);
2251 2250
2252 if ((err = snd_cs4231_ebus_create(card, edev, dev, &chip)) < 0) { 2251 if ((err = snd_cs4231_ebus_create(card, edev, dev, &chip)) < 0) {
2253 snd_card_free(card); 2252 snd_card_free(card);
diff --git a/sound/sparc/dbri.c b/sound/sparc/dbri.c
index 2164b7d290c7..e622d08215c9 100644
--- a/sound/sparc/dbri.c
+++ b/sound/sparc/dbri.c
@@ -2645,9 +2645,9 @@ static int __init dbri_attach(int prom_node, struct sbus_dev *sdev)
2645 strcpy(card->driver, "DBRI"); 2645 strcpy(card->driver, "DBRI");
2646 strcpy(card->shortname, "Sun DBRI"); 2646 strcpy(card->shortname, "Sun DBRI");
2647 rp = &sdev->resource[0]; 2647 rp = &sdev->resource[0];
2648 sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %s", 2648 sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %d",
2649 card->shortname, 2649 card->shortname,
2650 rp->flags & 0xffL, rp->start, __irq_itoa(irq.pri)); 2650 rp->flags & 0xffL, rp->start, irq.pri);
2651 2651
2652 if ((err = snd_dbri_create(card, sdev, &irq, dev)) < 0) { 2652 if ((err = snd_dbri_create(card, sdev, &irq, dev)) < 0) {
2653 snd_card_free(card); 2653 snd_card_free(card);