mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 14:19:16 +00:00
[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>
This commit is contained in:
parent
6a76267f0e
commit
c6387a48cf
33 changed files with 37 additions and 163 deletions
|
@ -896,13 +896,6 @@ static inline unsigned long get_irqmask(int irq_nr)
|
||||||
return 1 << irq_nr;
|
return 1 << irq_nr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline char *pcic_irq_itoa(unsigned int irq)
|
|
||||||
{
|
|
||||||
static char buff[16];
|
|
||||||
sprintf(buff, "%d", irq);
|
|
||||||
return buff;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void pcic_disable_irq(unsigned int irq_nr)
|
static void pcic_disable_irq(unsigned int irq_nr)
|
||||||
{
|
{
|
||||||
unsigned long mask, flags;
|
unsigned long mask, flags;
|
||||||
|
@ -955,7 +948,6 @@ void __init sun4m_pci_init_IRQ(void)
|
||||||
BTFIXUPSET_CALL(clear_clock_irq, pcic_clear_clock_irq, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(clear_clock_irq, pcic_clear_clock_irq, BTFIXUPCALL_NORM);
|
||||||
BTFIXUPSET_CALL(clear_profile_irq, pcic_clear_profile_irq, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(clear_profile_irq, pcic_clear_profile_irq, BTFIXUPCALL_NORM);
|
||||||
BTFIXUPSET_CALL(load_profile_irq, pcic_load_profile_irq, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(load_profile_irq, pcic_load_profile_irq, BTFIXUPCALL_NORM);
|
||||||
BTFIXUPSET_CALL(__irq_itoa, pcic_irq_itoa, BTFIXUPCALL_NORM);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int pcibios_assign_resource(struct pci_dev *pdev, int resource)
|
int pcibios_assign_resource(struct pci_dev *pdev, int resource)
|
||||||
|
|
|
@ -163,7 +163,6 @@ EXPORT_SYMBOL(BTFIXUP_CALL(__hard_smp_processor_id));
|
||||||
#endif
|
#endif
|
||||||
EXPORT_SYMBOL(BTFIXUP_CALL(enable_irq));
|
EXPORT_SYMBOL(BTFIXUP_CALL(enable_irq));
|
||||||
EXPORT_SYMBOL(BTFIXUP_CALL(disable_irq));
|
EXPORT_SYMBOL(BTFIXUP_CALL(disable_irq));
|
||||||
EXPORT_SYMBOL(BTFIXUP_CALL(__irq_itoa));
|
|
||||||
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_unlockarea));
|
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_unlockarea));
|
||||||
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_lockarea));
|
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_lockarea));
|
||||||
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_sgl));
|
EXPORT_SYMBOL(BTFIXUP_CALL(mmu_get_scsi_sgl));
|
||||||
|
|
|
@ -198,8 +198,6 @@ static void __init sun4c_init_timers(irqreturn_t (*counter_fn)(int, void *, stru
|
||||||
static void sun4c_nop(void) {}
|
static void sun4c_nop(void) {}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern char *sun4m_irq_itoa(unsigned int irq);
|
|
||||||
|
|
||||||
void __init sun4c_init_IRQ(void)
|
void __init sun4c_init_IRQ(void)
|
||||||
{
|
{
|
||||||
struct linux_prom_registers int_regs[2];
|
struct linux_prom_registers int_regs[2];
|
||||||
|
@ -238,7 +236,6 @@ void __init sun4c_init_IRQ(void)
|
||||||
BTFIXUPSET_CALL(clear_clock_irq, sun4c_clear_clock_irq, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(clear_clock_irq, sun4c_clear_clock_irq, BTFIXUPCALL_NORM);
|
||||||
BTFIXUPSET_CALL(clear_profile_irq, sun4c_clear_profile_irq, BTFIXUPCALL_NOP);
|
BTFIXUPSET_CALL(clear_profile_irq, sun4c_clear_profile_irq, BTFIXUPCALL_NOP);
|
||||||
BTFIXUPSET_CALL(load_profile_irq, sun4c_load_profile_irq, BTFIXUPCALL_NOP);
|
BTFIXUPSET_CALL(load_profile_irq, sun4c_load_profile_irq, BTFIXUPCALL_NOP);
|
||||||
BTFIXUPSET_CALL(__irq_itoa, sun4m_irq_itoa, BTFIXUPCALL_NORM);
|
|
||||||
sparc_init_timers = sun4c_init_timers;
|
sparc_init_timers = sun4c_init_timers;
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
BTFIXUPSET_CALL(set_cpu_int, sun4c_nop, BTFIXUPCALL_NOP);
|
BTFIXUPSET_CALL(set_cpu_int, sun4c_nop, BTFIXUPCALL_NOP);
|
||||||
|
|
|
@ -560,17 +560,6 @@ void __init sun4d_init_sbi_irq(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *sun4d_irq_itoa(unsigned int irq)
|
|
||||||
{
|
|
||||||
static char buff[16];
|
|
||||||
|
|
||||||
if (irq < (1 << 5))
|
|
||||||
sprintf(buff, "%d", irq);
|
|
||||||
else
|
|
||||||
sprintf(buff, "%d,%x", sbus_to_pil[(irq >> 2) & 7], irq);
|
|
||||||
return buff;
|
|
||||||
}
|
|
||||||
|
|
||||||
void __init sun4d_init_IRQ(void)
|
void __init sun4d_init_IRQ(void)
|
||||||
{
|
{
|
||||||
local_irq_disable();
|
local_irq_disable();
|
||||||
|
@ -581,7 +570,6 @@ void __init sun4d_init_IRQ(void)
|
||||||
BTFIXUPSET_CALL(clear_clock_irq, sun4d_clear_clock_irq, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(clear_clock_irq, sun4d_clear_clock_irq, BTFIXUPCALL_NORM);
|
||||||
BTFIXUPSET_CALL(clear_profile_irq, sun4d_clear_profile_irq, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(clear_profile_irq, sun4d_clear_profile_irq, BTFIXUPCALL_NORM);
|
||||||
BTFIXUPSET_CALL(load_profile_irq, sun4d_load_profile_irq, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(load_profile_irq, sun4d_load_profile_irq, BTFIXUPCALL_NORM);
|
||||||
BTFIXUPSET_CALL(__irq_itoa, sun4d_irq_itoa, BTFIXUPCALL_NORM);
|
|
||||||
sparc_init_timers = sun4d_init_timers;
|
sparc_init_timers = sun4d_init_timers;
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
BTFIXUPSET_CALL(set_cpu_int, sun4d_set_cpu_int, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(set_cpu_int, sun4d_set_cpu_int, BTFIXUPCALL_NORM);
|
||||||
|
|
|
@ -229,13 +229,6 @@ static void sun4m_load_profile_irq(int cpu, unsigned int limit)
|
||||||
sun4m_timers->cpu_timers[cpu].l14_timer_limit = limit;
|
sun4m_timers->cpu_timers[cpu].l14_timer_limit = limit;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *sun4m_irq_itoa(unsigned int irq)
|
|
||||||
{
|
|
||||||
static char buff[16];
|
|
||||||
sprintf(buff, "%d", irq);
|
|
||||||
return buff;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __init sun4m_init_timers(irqreturn_t (*counter_fn)(int, void *, struct pt_regs *))
|
static void __init sun4m_init_timers(irqreturn_t (*counter_fn)(int, void *, struct pt_regs *))
|
||||||
{
|
{
|
||||||
int reg_count, irq, cpu;
|
int reg_count, irq, cpu;
|
||||||
|
@ -388,7 +381,6 @@ void __init sun4m_init_IRQ(void)
|
||||||
BTFIXUPSET_CALL(clear_clock_irq, sun4m_clear_clock_irq, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(clear_clock_irq, sun4m_clear_clock_irq, BTFIXUPCALL_NORM);
|
||||||
BTFIXUPSET_CALL(clear_profile_irq, sun4m_clear_profile_irq, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(clear_profile_irq, sun4m_clear_profile_irq, BTFIXUPCALL_NORM);
|
||||||
BTFIXUPSET_CALL(load_profile_irq, sun4m_load_profile_irq, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(load_profile_irq, sun4m_load_profile_irq, BTFIXUPCALL_NORM);
|
||||||
BTFIXUPSET_CALL(__irq_itoa, sun4m_irq_itoa, BTFIXUPCALL_NORM);
|
|
||||||
sparc_init_timers = sun4m_init_timers;
|
sparc_init_timers = sun4m_init_timers;
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
BTFIXUPSET_CALL(set_cpu_int, sun4m_send_ipi, BTFIXUPCALL_NORM);
|
BTFIXUPSET_CALL(set_cpu_int, sun4m_send_ipi, BTFIXUPCALL_NORM);
|
||||||
|
|
|
@ -167,13 +167,9 @@ fore200e_atm2fore_aal(int aal)
|
||||||
static char*
|
static char*
|
||||||
fore200e_irq_itoa(int irq)
|
fore200e_irq_itoa(int irq)
|
||||||
{
|
{
|
||||||
#if defined(__sparc_v9__)
|
|
||||||
return __irq_itoa(irq);
|
|
||||||
#else
|
|
||||||
static char str[8];
|
static char str[8];
|
||||||
sprintf(str, "%d", irq);
|
sprintf(str, "%d", irq);
|
||||||
return str;
|
return str;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -960,10 +960,6 @@ static int __init rtc_init(void)
|
||||||
* PCI Slot 2 INTA# (and some INTx# in Slot 1).
|
* PCI Slot 2 INTA# (and some INTx# in Slot 1).
|
||||||
*/
|
*/
|
||||||
if (request_irq(rtc_irq, rtc_interrupt, SA_SHIRQ, "rtc", (void *)&rtc_port)) {
|
if (request_irq(rtc_irq, rtc_interrupt, SA_SHIRQ, "rtc", (void *)&rtc_port)) {
|
||||||
/*
|
|
||||||
* Standard way for sparc to print irq's is to use
|
|
||||||
* __irq_itoa(). I think for EBus it's ok to use %d.
|
|
||||||
*/
|
|
||||||
printk(KERN_ERR "rtc: cannot register IRQ %d\n", rtc_irq);
|
printk(KERN_ERR "rtc: cannot register IRQ %d\n", rtc_irq);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
|
|
@ -643,7 +643,7 @@ static inline void soc_init(struct sbus_dev *sdev, int no)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SOD(("SOC uses IRQ%s\n", __irq_itoa(irq)))
|
SOD(("SOC uses IRQ %d\n", irq))
|
||||||
|
|
||||||
s->port[0].fc.irq = irq;
|
s->port[0].fc.irq = irq;
|
||||||
s->port[1].fc.irq = irq;
|
s->port[1].fc.irq = irq;
|
||||||
|
|
|
@ -767,7 +767,7 @@ static inline void socal_init(struct sbus_dev *sdev, int no)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SOD(("SOCAL uses IRQ %s\n", __irq_itoa(irq)))
|
SOD(("SOCAL uses IRQ %d\n", irq))
|
||||||
|
|
||||||
s->port[0].fc.irq = irq;
|
s->port[0].fc.irq = irq;
|
||||||
s->port[1].fc.irq = irq;
|
s->port[1].fc.irq = irq;
|
||||||
|
|
|
@ -1138,16 +1138,11 @@ static int init_irq (ide_hwif_t *hwif)
|
||||||
spin_unlock_irq(&ide_lock);
|
spin_unlock_irq(&ide_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(__mc68000__) && !defined(CONFIG_APUS) && !defined(__sparc__)
|
#if !defined(__mc68000__) && !defined(CONFIG_APUS)
|
||||||
printk("%s at 0x%03lx-0x%03lx,0x%03lx on irq %d", hwif->name,
|
printk("%s at 0x%03lx-0x%03lx,0x%03lx on irq %d", hwif->name,
|
||||||
hwif->io_ports[IDE_DATA_OFFSET],
|
hwif->io_ports[IDE_DATA_OFFSET],
|
||||||
hwif->io_ports[IDE_DATA_OFFSET]+7,
|
hwif->io_ports[IDE_DATA_OFFSET]+7,
|
||||||
hwif->io_ports[IDE_CONTROL_OFFSET], hwif->irq);
|
hwif->io_ports[IDE_CONTROL_OFFSET], hwif->irq);
|
||||||
#elif defined(__sparc__)
|
|
||||||
printk("%s at 0x%03lx-0x%03lx,0x%03lx on irq %s", hwif->name,
|
|
||||||
hwif->io_ports[IDE_DATA_OFFSET],
|
|
||||||
hwif->io_ports[IDE_DATA_OFFSET]+7,
|
|
||||||
hwif->io_ports[IDE_CONTROL_OFFSET], __irq_itoa(hwif->irq));
|
|
||||||
#else
|
#else
|
||||||
printk("%s at 0x%08lx on irq %d", hwif->name,
|
printk("%s at 0x%08lx on irq %d", hwif->name,
|
||||||
hwif->io_ports[IDE_DATA_OFFSET], hwif->irq);
|
hwif->io_ports[IDE_DATA_OFFSET], hwif->irq);
|
||||||
|
|
|
@ -694,13 +694,8 @@ static int do_ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t *d,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if (noisy)
|
if (noisy)
|
||||||
#ifdef __sparc__
|
|
||||||
printk(KERN_INFO "%s: 100%% native mode on irq %s\n",
|
|
||||||
d->name, __irq_itoa(pciirq));
|
|
||||||
#else
|
|
||||||
printk(KERN_INFO "%s: 100%% native mode on irq %d\n",
|
printk(KERN_INFO "%s: 100%% native mode on irq %d\n",
|
||||||
d->name, pciirq);
|
d->name, pciirq);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: silent failure can happen */
|
/* FIXME: silent failure can happen */
|
||||||
|
|
|
@ -586,11 +586,7 @@ static void ohci_initialize(struct ti_ohci *ohci)
|
||||||
reg_write(ohci, OHCI1394_HCControlSet, OHCI1394_HCControl_linkEnable);
|
reg_write(ohci, OHCI1394_HCControlSet, OHCI1394_HCControl_linkEnable);
|
||||||
|
|
||||||
buf = reg_read(ohci, OHCI1394_Version);
|
buf = reg_read(ohci, OHCI1394_Version);
|
||||||
#ifndef __sparc__
|
|
||||||
sprintf (irq_buf, "%d", ohci->dev->irq);
|
sprintf (irq_buf, "%d", ohci->dev->irq);
|
||||||
#else
|
|
||||||
sprintf (irq_buf, "%s", __irq_itoa(ohci->dev->irq));
|
|
||||||
#endif
|
|
||||||
PRINT(KERN_INFO, "OHCI-1394 %d.%d (PCI): IRQ=[%s] "
|
PRINT(KERN_INFO, "OHCI-1394 %d.%d (PCI): IRQ=[%s] "
|
||||||
"MMIO=[%lx-%lx] Max Packet=[%d] IR/IT contexts=[%d/%d]",
|
"MMIO=[%lx-%lx] Max Packet=[%d] IR/IT contexts=[%d/%d]",
|
||||||
((((buf) >> 16) & 0xf) + (((buf) >> 20) & 0xf) * 10),
|
((((buf) >> 16) & 0xf) + (((buf) >> 20) & 0xf) * 10),
|
||||||
|
|
|
@ -1252,11 +1252,7 @@ static int __devinit add_card(struct pci_dev *dev,
|
||||||
/* Fix buggy cards with autoboot pin not tied low: */
|
/* Fix buggy cards with autoboot pin not tied low: */
|
||||||
reg_write(lynx, DMA0_CHAN_CTRL, 0);
|
reg_write(lynx, DMA0_CHAN_CTRL, 0);
|
||||||
|
|
||||||
#ifndef __sparc__
|
|
||||||
sprintf (irq_buf, "%d", dev->irq);
|
sprintf (irq_buf, "%d", dev->irq);
|
||||||
#else
|
|
||||||
sprintf (irq_buf, "%s", __irq_itoa(dev->irq));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!request_irq(dev->irq, lynx_irq_handler, SA_SHIRQ,
|
if (!request_irq(dev->irq, lynx_irq_handler, SA_SHIRQ,
|
||||||
PCILYNX_DRIVER_NAME, lynx)) {
|
PCILYNX_DRIVER_NAME, lynx)) {
|
||||||
|
|
|
@ -63,9 +63,6 @@
|
||||||
#ifdef CONFIG_MTRR
|
#ifdef CONFIG_MTRR
|
||||||
#include <asm/mtrr.h>
|
#include <asm/mtrr.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef __sparc__
|
|
||||||
#include <asm/irq.h> /* needed for __irq_itoa() proto */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "mptbase.h"
|
#include "mptbase.h"
|
||||||
|
|
||||||
|
@ -1394,13 +1391,8 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
r = request_irq(pdev->irq, mpt_interrupt, SA_SHIRQ, ioc->name, ioc);
|
r = request_irq(pdev->irq, mpt_interrupt, SA_SHIRQ, ioc->name, ioc);
|
||||||
|
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
#ifndef __sparc__
|
|
||||||
printk(MYIOC_s_ERR_FMT "Unable to allocate interrupt %d!\n",
|
printk(MYIOC_s_ERR_FMT "Unable to allocate interrupt %d!\n",
|
||||||
ioc->name, pdev->irq);
|
ioc->name, pdev->irq);
|
||||||
#else
|
|
||||||
printk(MYIOC_s_ERR_FMT "Unable to allocate interrupt %s!\n",
|
|
||||||
ioc->name, __irq_itoa(pdev->irq));
|
|
||||||
#endif
|
|
||||||
list_del(&ioc->list);
|
list_del(&ioc->list);
|
||||||
iounmap(mem);
|
iounmap(mem);
|
||||||
kfree(ioc);
|
kfree(ioc);
|
||||||
|
@ -1412,11 +1404,7 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
pci_set_master(pdev); /* ?? */
|
pci_set_master(pdev); /* ?? */
|
||||||
pci_set_drvdata(pdev, ioc);
|
pci_set_drvdata(pdev, ioc);
|
||||||
|
|
||||||
#ifndef __sparc__
|
|
||||||
dprintk((KERN_INFO MYNAM ": %s installed at interrupt %d\n", ioc->name, pdev->irq));
|
dprintk((KERN_INFO MYNAM ": %s installed at interrupt %d\n", ioc->name, pdev->irq));
|
||||||
#else
|
|
||||||
dprintk((KERN_INFO MYNAM ": %s installed at interrupt %s\n", ioc->name, __irq_itoa(pdev->irq)));
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check for "bound ports" (929, 929X, 1030, 1035) to reduce redundant resets.
|
/* 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
|
||||||
a[5], a[4], a[3], a[2], a[1], a[0]);
|
a[5], a[4], a[3], a[2], a[1], a[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef __sparc__
|
|
||||||
y += sprintf(buffer+len+y, ", IRQ=%d", ioc->pci_irq);
|
y += sprintf(buffer+len+y, ", IRQ=%d", ioc->pci_irq);
|
||||||
#else
|
|
||||||
y += sprintf(buffer+len+y, ", IRQ=%s", __irq_itoa(ioc->pci_irq));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!ioc->active)
|
if (!ioc->active)
|
||||||
y += sprintf(buffer+len+y, " (disabled)");
|
y += sprintf(buffer+len+y, " (disabled)");
|
||||||
|
|
|
@ -1382,17 +1382,12 @@ static int __devinit vortex_probe1(struct device *gendev,
|
||||||
for (i = 0; i < 6; i++)
|
for (i = 0; i < 6; i++)
|
||||||
iowrite8(dev->dev_addr[i], ioaddr + i);
|
iowrite8(dev->dev_addr[i], ioaddr + i);
|
||||||
|
|
||||||
#ifdef __sparc__
|
|
||||||
if (print_info)
|
|
||||||
printk(", IRQ %s\n", __irq_itoa(dev->irq));
|
|
||||||
#else
|
|
||||||
if (print_info)
|
if (print_info)
|
||||||
printk(", IRQ %d\n", dev->irq);
|
printk(", IRQ %d\n", dev->irq);
|
||||||
/* Tell them about an invalid IRQ. */
|
/* Tell them about an invalid IRQ. */
|
||||||
if (dev->irq <= 0 || dev->irq >= NR_IRQS)
|
if (dev->irq <= 0 || dev->irq >= NR_IRQS)
|
||||||
printk(KERN_WARNING " *** Warning: IRQ %d is unlikely to work! ***\n",
|
printk(KERN_WARNING " *** Warning: IRQ %d is unlikely to work! ***\n",
|
||||||
dev->irq);
|
dev->irq);
|
||||||
#endif
|
|
||||||
|
|
||||||
EL3WINDOW(4);
|
EL3WINDOW(4);
|
||||||
step = (ioread8(ioaddr + Wn4_NetDiag) & 0x1e) >> 1;
|
step = (ioread8(ioaddr + Wn4_NetDiag) & 0x1e) >> 1;
|
||||||
|
|
|
@ -579,11 +579,7 @@ static int __devinit acenic_probe_one(struct pci_dev *pdev,
|
||||||
}
|
}
|
||||||
|
|
||||||
printk("Gigabit Ethernet at 0x%08lx, ", dev->base_addr);
|
printk("Gigabit Ethernet at 0x%08lx, ", dev->base_addr);
|
||||||
#ifdef __sparc__
|
printk("irq %d\n", pdev->irq);
|
||||||
printk("irq %s\n", __irq_itoa(pdev->irq));
|
|
||||||
#else
|
|
||||||
printk("irq %i\n", pdev->irq);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_ACENIC_OMIT_TIGON_I
|
#ifdef CONFIG_ACENIC_OMIT_TIGON_I
|
||||||
if ((readl(&ap->regs->HostCtrl) >> 28) == 4) {
|
if ((readl(&ap->regs->HostCtrl) >> 28) == 4) {
|
||||||
|
|
|
@ -2221,13 +2221,8 @@ static int happy_meal_open(struct net_device *dev)
|
||||||
if (request_irq(dev->irq, &happy_meal_interrupt,
|
if (request_irq(dev->irq, &happy_meal_interrupt,
|
||||||
SA_SHIRQ, dev->name, (void *)dev)) {
|
SA_SHIRQ, dev->name, (void *)dev)) {
|
||||||
HMD(("EAGAIN\n"));
|
HMD(("EAGAIN\n"));
|
||||||
#ifdef __sparc__
|
|
||||||
printk(KERN_ERR "happy_meal(SBUS): Can't order irq %s to go.\n",
|
|
||||||
__irq_itoa(dev->irq));
|
|
||||||
#else
|
|
||||||
printk(KERN_ERR "happy_meal(SBUS): Can't order irq %d to go.\n",
|
printk(KERN_ERR "happy_meal(SBUS): Can't order irq %d to go.\n",
|
||||||
dev->irq);
|
dev->irq);
|
||||||
#endif
|
|
||||||
|
|
||||||
return -EAGAIN;
|
return -EAGAIN;
|
||||||
}
|
}
|
||||||
|
|
|
@ -936,7 +936,7 @@ static int lance_open(struct net_device *dev)
|
||||||
|
|
||||||
if (request_irq(dev->irq, &lance_interrupt, SA_SHIRQ,
|
if (request_irq(dev->irq, &lance_interrupt, SA_SHIRQ,
|
||||||
lancestr, (void *) dev)) {
|
lancestr, (void *) dev)) {
|
||||||
printk(KERN_ERR "Lance: Can't get irq %s\n", __irq_itoa(dev->irq));
|
printk(KERN_ERR "Lance: Can't get irq %d\n", dev->irq);
|
||||||
return -EAGAIN;
|
return -EAGAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -304,8 +304,8 @@ static int wd_open(struct inode *inode, struct file *f)
|
||||||
SA_SHIRQ,
|
SA_SHIRQ,
|
||||||
WD_OBPNAME,
|
WD_OBPNAME,
|
||||||
(void *)wd_dev.regs)) {
|
(void *)wd_dev.regs)) {
|
||||||
printk("%s: Cannot register IRQ %s\n",
|
printk("%s: Cannot register IRQ %d\n",
|
||||||
WD_OBPNAME, __irq_itoa(wd_dev.irq));
|
WD_OBPNAME, wd_dev.irq);
|
||||||
return(-EBUSY);
|
return(-EBUSY);
|
||||||
}
|
}
|
||||||
wd_dev.initialized = 1;
|
wd_dev.initialized = 1;
|
||||||
|
|
|
@ -400,7 +400,7 @@ static int __init ts102_uctrl_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
driver->regs->uctrl_intr = UCTRL_INTR_RXNE_REQ|UCTRL_INTR_RXNE_MSK;
|
driver->regs->uctrl_intr = UCTRL_INTR_RXNE_REQ|UCTRL_INTR_RXNE_MSK;
|
||||||
printk("uctrl: 0x%x (irq %s)\n", driver->regs, __irq_itoa(driver->irq));
|
printk("uctrl: 0x%x (irq %d)\n", driver->regs, driver->irq);
|
||||||
uctrl_get_event_status();
|
uctrl_get_event_status();
|
||||||
uctrl_get_external_status();
|
uctrl_get_external_status();
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -821,8 +821,8 @@ static int __init esp_register_irq(struct esp *esp)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
printk("esp%d: IRQ %s ", esp->esp_id,
|
printk("esp%d: IRQ %d ", esp->esp_id,
|
||||||
__irq_itoa(esp->ehost->irq));
|
esp->ehost->irq);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -725,7 +725,7 @@ static int __init qpti_register_irq(struct qlogicpti *qpti)
|
||||||
SA_SHIRQ, "Qlogic/PTI", qpti))
|
SA_SHIRQ, "Qlogic/PTI", qpti))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
printk("qpti%d: IRQ %s ", qpti->qpti_id, __irq_itoa(qpti->irq));
|
printk("qpti%d: IRQ %d ", qpti->qpti_id, qpti->irq);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -988,8 +988,8 @@ const char *qlogicpti_info(struct Scsi_Host *host)
|
||||||
static char buf[80];
|
static char buf[80];
|
||||||
struct qlogicpti *qpti = (struct qlogicpti *) host->hostdata;
|
struct qlogicpti *qpti = (struct qlogicpti *) host->hostdata;
|
||||||
|
|
||||||
sprintf(buf, "PTI Qlogic,ISP SBUS SCSI irq %s regs at %p",
|
sprintf(buf, "PTI Qlogic,ISP SBUS SCSI irq %d regs at %p",
|
||||||
__irq_itoa(qpti->qhost->irq), qpti->qregs);
|
qpti->qhost->irq, qpti->qregs);
|
||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,14 +54,8 @@
|
||||||
#define NAME53C "sym53c"
|
#define NAME53C "sym53c"
|
||||||
#define NAME53C8XX "sym53c8xx"
|
#define NAME53C8XX "sym53c8xx"
|
||||||
|
|
||||||
/* SPARC just has to be different ... */
|
|
||||||
#ifdef __sparc__
|
|
||||||
#define IRQ_FMT "%s"
|
|
||||||
#define IRQ_PRM(x) __irq_itoa(x)
|
|
||||||
#else
|
|
||||||
#define IRQ_FMT "%d"
|
#define IRQ_FMT "%d"
|
||||||
#define IRQ_PRM(x) (x)
|
#define IRQ_PRM(x) (x)
|
||||||
#endif
|
|
||||||
|
|
||||||
struct sym_driver_setup sym_driver_setup = SYM_LINUX_DRIVER_SETUP;
|
struct sym_driver_setup sym_driver_setup = SYM_LINUX_DRIVER_SETUP;
|
||||||
unsigned int sym_debug_flags = 0;
|
unsigned int sym_debug_flags = 0;
|
||||||
|
|
|
@ -1295,9 +1295,9 @@ static int __init sunsu_kbd_ms_init(struct uart_sunsu_port *up, int channel)
|
||||||
if (up->port.type == PORT_UNKNOWN)
|
if (up->port.type == PORT_UNKNOWN)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
printk(KERN_INFO "su%d at 0x%p (irq = %s) is a %s\n",
|
printk(KERN_INFO "su%d at 0x%p (irq = %d) is a %s\n",
|
||||||
channel,
|
channel,
|
||||||
up->port.membase, __irq_itoa(up->port.irq),
|
up->port.membase, up->port.irq,
|
||||||
sunsu_type(&up->port));
|
sunsu_type(&up->port));
|
||||||
|
|
||||||
#ifdef CONFIG_SERIO
|
#ifdef CONFIG_SERIO
|
||||||
|
|
|
@ -1540,8 +1540,8 @@ static void __init sunzilog_init_kbdms(struct uart_sunzilog_port *up, int channe
|
||||||
up->cflag = B4800 | CS8 | CLOCAL | CREAD;
|
up->cflag = B4800 | CS8 | CLOCAL | CREAD;
|
||||||
baud = 4800;
|
baud = 4800;
|
||||||
}
|
}
|
||||||
printk(KERN_INFO "zs%d at 0x%p (irq = %s) is a SunZilog\n",
|
printk(KERN_INFO "zs%d at 0x%p (irq = %d) is a SunZilog\n",
|
||||||
channel, up->port.membase, __irq_itoa(zilog_irq));
|
channel, up->port.membase, zilog_irq);
|
||||||
|
|
||||||
up->curregs[R15] = BRKIE;
|
up->curregs[R15] = BRKIE;
|
||||||
brg = BPS_TO_BRG(baud, ZS_CLOCK / ZS_CLOCK_DIVISOR);
|
brg = BPS_TO_BRG(baud, ZS_CLOCK / ZS_CLOCK_DIVISOR);
|
||||||
|
|
|
@ -1826,24 +1826,16 @@ int usb_add_hcd(struct usb_hcd *hcd,
|
||||||
|
|
||||||
/* enable irqs just before we start the controller */
|
/* enable irqs just before we start the controller */
|
||||||
if (hcd->driver->irq) {
|
if (hcd->driver->irq) {
|
||||||
char buf[8], *bufp = buf;
|
|
||||||
|
|
||||||
#ifdef __sparc__
|
|
||||||
bufp = __irq_itoa(irqnum);
|
|
||||||
#else
|
|
||||||
sprintf(buf, "%d", irqnum);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d",
|
snprintf(hcd->irq_descr, sizeof(hcd->irq_descr), "%s:usb%d",
|
||||||
hcd->driver->description, hcd->self.busnum);
|
hcd->driver->description, hcd->self.busnum);
|
||||||
if ((retval = request_irq(irqnum, &usb_hcd_irq, irqflags,
|
if ((retval = request_irq(irqnum, &usb_hcd_irq, irqflags,
|
||||||
hcd->irq_descr, hcd)) != 0) {
|
hcd->irq_descr, hcd)) != 0) {
|
||||||
dev_err(hcd->self.controller,
|
dev_err(hcd->self.controller,
|
||||||
"request interrupt %s failed\n", bufp);
|
"request interrupt %d failed\n", irqnum);
|
||||||
goto err_request_irq;
|
goto err_request_irq;
|
||||||
}
|
}
|
||||||
hcd->irq = irqnum;
|
hcd->irq = irqnum;
|
||||||
dev_info(hcd->self.controller, "irq %s, %s 0x%08llx\n", bufp,
|
dev_info(hcd->self.controller, "irq %d, %s 0x%08llx\n", irqnum,
|
||||||
(hcd->driver->flags & HCD_MEMORY) ?
|
(hcd->driver->flags & HCD_MEMORY) ?
|
||||||
"io mem" : "io base",
|
"io mem" : "io base",
|
||||||
(unsigned long long)hcd->rsrc_start);
|
(unsigned long long)hcd->rsrc_start);
|
||||||
|
|
|
@ -1850,7 +1850,6 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
unsigned long resource, len;
|
unsigned long resource, len;
|
||||||
void __iomem *base = NULL;
|
void __iomem *base = NULL;
|
||||||
int retval;
|
int retval;
|
||||||
char buf [8], *bufp;
|
|
||||||
|
|
||||||
/* if you want to support more than one controller in a system,
|
/* if you want to support more than one controller in a system,
|
||||||
* usb_gadget_driver_{register,unregister}() must change.
|
* 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)
|
||||||
pci_set_drvdata(pdev, dev);
|
pci_set_drvdata(pdev, dev);
|
||||||
INFO(dev, "%s\n", driver_desc);
|
INFO(dev, "%s\n", driver_desc);
|
||||||
INFO(dev, "version: " DRIVER_VERSION " %s\n", dmastr());
|
INFO(dev, "version: " DRIVER_VERSION " %s\n", dmastr());
|
||||||
#ifndef __sparc__
|
INFO(dev, "irq %d, pci mem %p\n", pdev->irq, base);
|
||||||
scnprintf(buf, sizeof buf, "%d", pdev->irq);
|
|
||||||
bufp = buf;
|
|
||||||
#else
|
|
||||||
bufp = __irq_itoa(pdev->irq);
|
|
||||||
#endif
|
|
||||||
INFO(dev, "irq %s, pci mem %p\n", bufp, base);
|
|
||||||
|
|
||||||
/* init to known state, then setup irqs */
|
/* init to known state, then setup irqs */
|
||||||
udc_reset(dev);
|
udc_reset(dev);
|
||||||
udc_reinit (dev);
|
udc_reinit (dev);
|
||||||
if (request_irq(pdev->irq, goku_irq, SA_SHIRQ/*|SA_SAMPLE_RANDOM*/,
|
if (request_irq(pdev->irq, goku_irq, SA_SHIRQ/*|SA_SAMPLE_RANDOM*/,
|
||||||
driver_name, dev) != 0) {
|
driver_name, dev) != 0) {
|
||||||
DBG(dev, "request interrupt %s failed\n", bufp);
|
DBG(dev, "request interrupt %d failed\n", pdev->irq);
|
||||||
retval = -EBUSY;
|
retval = -EBUSY;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2822,7 +2822,6 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
unsigned long resource, len;
|
unsigned long resource, len;
|
||||||
void __iomem *base = NULL;
|
void __iomem *base = NULL;
|
||||||
int retval, i;
|
int retval, i;
|
||||||
char buf [8], *bufp;
|
|
||||||
|
|
||||||
/* if you want to support more than one controller in a system,
|
/* if you want to support more than one controller in a system,
|
||||||
* usb_gadget_driver_{register,unregister}() must change.
|
* 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)
|
||||||
retval = -ENODEV;
|
retval = -ENODEV;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
#ifndef __sparc__
|
|
||||||
scnprintf (buf, sizeof buf, "%d", pdev->irq);
|
|
||||||
bufp = buf;
|
|
||||||
#else
|
|
||||||
bufp = __irq_itoa(pdev->irq);
|
|
||||||
#endif
|
|
||||||
if (request_irq (pdev->irq, net2280_irq, SA_SHIRQ, driver_name, dev)
|
if (request_irq (pdev->irq, net2280_irq, SA_SHIRQ, driver_name, dev)
|
||||||
!= 0) {
|
!= 0) {
|
||||||
ERROR (dev, "request interrupt %s failed\n", bufp);
|
ERROR (dev, "request interrupt %d failed\n", pdev->irq);
|
||||||
retval = -EBUSY;
|
retval = -EBUSY;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
@ -2953,8 +2947,8 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
|
|
||||||
/* done */
|
/* done */
|
||||||
INFO (dev, "%s\n", driver_desc);
|
INFO (dev, "%s\n", driver_desc);
|
||||||
INFO (dev, "irq %s, pci mem %p, chip rev %04x\n",
|
INFO (dev, "irq %d, pci mem %p, chip rev %04x\n",
|
||||||
bufp, base, dev->chiprev);
|
pdev->irq, base, dev->chiprev);
|
||||||
INFO (dev, "version: " DRIVER_VERSION "; dma %s\n",
|
INFO (dev, "version: " DRIVER_VERSION "; dma %s\n",
|
||||||
use_dma
|
use_dma
|
||||||
? (use_dma_chaining ? "chaining" : "enabled")
|
? (use_dma_chaining ? "chaining" : "enabled")
|
||||||
|
|
|
@ -17,8 +17,6 @@
|
||||||
|
|
||||||
#define __irq_ino(irq) irq
|
#define __irq_ino(irq) irq
|
||||||
#define __irq_pil(irq) irq
|
#define __irq_pil(irq) irq
|
||||||
BTFIXUPDEF_CALL(char *, __irq_itoa, unsigned int)
|
|
||||||
#define __irq_itoa(irq) BTFIXUP_CALL(__irq_itoa)(irq)
|
|
||||||
|
|
||||||
#define NR_IRQS 16
|
#define NR_IRQS 16
|
||||||
|
|
||||||
|
|
|
@ -99,14 +99,6 @@ extern struct ino_bucket ivector_table[NUM_IVECS];
|
||||||
#define __bucket(irq) ((struct ino_bucket *)(unsigned long)(irq))
|
#define __bucket(irq) ((struct ino_bucket *)(unsigned long)(irq))
|
||||||
#define __irq(bucket) ((unsigned int)(unsigned long)(bucket))
|
#define __irq(bucket) ((unsigned int)(unsigned long)(bucket))
|
||||||
|
|
||||||
static __inline__ char *__irq_itoa(unsigned int irq)
|
|
||||||
{
|
|
||||||
static char buff[16];
|
|
||||||
|
|
||||||
sprintf(buff, "%d,%x", __irq_pil(irq), (unsigned int)__irq_ino(irq));
|
|
||||||
return buff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define NR_IRQS 16
|
#define NR_IRQS 16
|
||||||
|
|
||||||
#define irq_canonicalize(irq) (irq)
|
#define irq_canonicalize(irq) (irq)
|
||||||
|
|
|
@ -977,9 +977,9 @@ static int __init snd_amd7930_create(struct snd_card *card,
|
||||||
|
|
||||||
if (request_irq(irq_prop->pri, snd_amd7930_interrupt,
|
if (request_irq(irq_prop->pri, snd_amd7930_interrupt,
|
||||||
SA_INTERRUPT | SA_SHIRQ, "amd7930", amd)) {
|
SA_INTERRUPT | SA_SHIRQ, "amd7930", amd)) {
|
||||||
snd_printk("amd7930-%d: Unable to grab IRQ %s\n",
|
snd_printk("amd7930-%d: Unable to grab IRQ %d\n",
|
||||||
dev,
|
dev,
|
||||||
__irq_itoa(irq_prop->pri));
|
irq_prop->pri);
|
||||||
snd_amd7930_free(amd);
|
snd_amd7930_free(amd);
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
@ -1063,11 +1063,11 @@ static int __init amd7930_attach(int prom_node, struct sbus_dev *sdev)
|
||||||
|
|
||||||
strcpy(card->driver, "AMD7930");
|
strcpy(card->driver, "AMD7930");
|
||||||
strcpy(card->shortname, "Sun AMD7930");
|
strcpy(card->shortname, "Sun AMD7930");
|
||||||
sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %s",
|
sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %d",
|
||||||
card->shortname,
|
card->shortname,
|
||||||
rp->flags & 0xffL,
|
rp->flags & 0xffL,
|
||||||
rp->start,
|
rp->start,
|
||||||
__irq_itoa(irq_prop.pri));
|
irq_prop.pri);
|
||||||
|
|
||||||
if ((err = snd_amd7930_create(card, sdev, rp, reg_prop.reg_size,
|
if ((err = snd_amd7930_create(card, sdev, rp, reg_prop.reg_size,
|
||||||
&irq_prop, dev, &amd)) < 0)
|
&irq_prop, dev, &amd)) < 0)
|
||||||
|
|
|
@ -2003,9 +2003,8 @@ static int __init snd_cs4231_sbus_create(struct snd_card *card,
|
||||||
|
|
||||||
if (request_irq(sdev->irqs[0], snd_cs4231_sbus_interrupt,
|
if (request_irq(sdev->irqs[0], snd_cs4231_sbus_interrupt,
|
||||||
SA_SHIRQ, "cs4231", chip)) {
|
SA_SHIRQ, "cs4231", chip)) {
|
||||||
snd_printdd("cs4231-%d: Unable to grab SBUS IRQ %s\n",
|
snd_printdd("cs4231-%d: Unable to grab SBUS IRQ %d\n",
|
||||||
dev,
|
dev, sdev->irqs[0]);
|
||||||
__irq_itoa(sdev->irqs[0]));
|
|
||||||
snd_cs4231_sbus_free(chip);
|
snd_cs4231_sbus_free(chip);
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
@ -2038,11 +2037,11 @@ static int __init cs4231_sbus_attach(struct sbus_dev *sdev)
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %s",
|
sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %d",
|
||||||
card->shortname,
|
card->shortname,
|
||||||
rp->flags & 0xffL,
|
rp->flags & 0xffL,
|
||||||
rp->start,
|
rp->start,
|
||||||
__irq_itoa(sdev->irqs[0]));
|
sdev->irqs[0]);
|
||||||
|
|
||||||
if ((err = snd_cs4231_sbus_create(card, sdev, dev, &cp)) < 0) {
|
if ((err = snd_cs4231_sbus_create(card, sdev, dev, &cp)) < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
|
@ -2244,10 +2243,10 @@ static int __init cs4231_ebus_attach(struct linux_ebus_device *edev)
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
sprintf(card->longname, "%s at 0x%lx, irq %s",
|
sprintf(card->longname, "%s at 0x%lx, irq %d",
|
||||||
card->shortname,
|
card->shortname,
|
||||||
edev->resource[0].start,
|
edev->resource[0].start,
|
||||||
__irq_itoa(edev->irqs[0]));
|
edev->irqs[0]);
|
||||||
|
|
||||||
if ((err = snd_cs4231_ebus_create(card, edev, dev, &chip)) < 0) {
|
if ((err = snd_cs4231_ebus_create(card, edev, dev, &chip)) < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
|
|
|
@ -2645,9 +2645,9 @@ static int __init dbri_attach(int prom_node, struct sbus_dev *sdev)
|
||||||
strcpy(card->driver, "DBRI");
|
strcpy(card->driver, "DBRI");
|
||||||
strcpy(card->shortname, "Sun DBRI");
|
strcpy(card->shortname, "Sun DBRI");
|
||||||
rp = &sdev->resource[0];
|
rp = &sdev->resource[0];
|
||||||
sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %s",
|
sprintf(card->longname, "%s at 0x%02lx:0x%08lx, irq %d",
|
||||||
card->shortname,
|
card->shortname,
|
||||||
rp->flags & 0xffL, rp->start, __irq_itoa(irq.pri));
|
rp->flags & 0xffL, rp->start, irq.pri);
|
||||||
|
|
||||||
if ((err = snd_dbri_create(card, sdev, &irq, dev)) < 0) {
|
if ((err = snd_dbri_create(card, sdev, &irq, dev)) < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
|
|
Loading…
Reference in a new issue