Commit 390e4a17 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] irqs: multimedia drivers

Update a couple of media drivers to the new IRQ API.

Some stuff in there doesn't link btw:

drivers/built-in.o: In function `rds_waitread':
drivers/built-in.o(.text+0x6c152): undefined reference to `aci_port'
drivers/built-in.o: In function `rds_rawwrite':
drivers/built-in.o(.text+0x6c1a3): undefined reference to `aci_port'
parent 421dfa0e
......@@ -192,7 +192,7 @@ void saa7146_setgpio(struct saa7146_dev *dev, int port, u32 data)
/********************************************************************************/
/* interrupt handler */
static void interrupt_hw(int irq, void *dev_id, struct pt_regs *regs)
static irqreturn_t interrupt_hw(int irq, void *dev_id, struct pt_regs *regs)
{
struct saa7146_dev *dev = (struct saa7146_dev*)dev_id;
u32 isr = 0;
......@@ -203,7 +203,7 @@ static void interrupt_hw(int irq, void *dev_id, struct pt_regs *regs)
/* is this our interrupt? */
if ( 0 == isr ) {
/* nope, some other device */
return;
return IRQ_NONE;
}
saa7146_write(dev, ISR, isr);
......@@ -254,6 +254,7 @@ static void interrupt_hw(int irq, void *dev_id, struct pt_regs *regs)
ERR(("disabling interrupt source(s)!\n"));
IER_DISABLE(dev,isr);
}
return IRQ_HANDLED;
}
/*********************************************************************************/
......
......@@ -442,11 +442,12 @@ static void send_osd_data(struct saa7146 *saa)
}
}
static void saa7146_irq(int irq, void *dev_id, struct pt_regs *regs)
static irqreturn_t saa7146_irq(int irq, void *dev_id, struct pt_regs *regs)
{
struct saa7146 *saa = (struct saa7146 *) dev_id;
u32 stat, astat;
int count;
int handled = 0;
count = 0;
while (1) {
......@@ -454,7 +455,8 @@ static void saa7146_irq(int irq, void *dev_id, struct pt_regs *regs)
stat = saaread(SAA7146_ISR);
astat = stat & saaread(SAA7146_IER);
if (!astat)
return;
break;
handled = 1;
saawrite(astat, SAA7146_ISR);
if (astat & SAA7146_PSR_DEBI_S) {
do_irq_send_data(saa);
......@@ -611,6 +613,7 @@ static void saa7146_irq(int irq, void *dev_id, struct pt_regs *regs)
"stradis%d: IRQ loop cleared\n", saa->nr);
}
}
return IRQ_RETVAL(handled);
}
static int ibm_send_command(struct saa7146 *saa,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment