|
@@ -471,7 +471,7 @@ static char *irqbits[] = {
|
|
|
"DONE_RA0", "DONE_RA1", "DONE_RA2", "DONE_RA3",
|
|
|
"AR", "PE", "PWR_ON", "RDCAP", "INTL", "FIDT", "MMC",
|
|
|
"TRIG_ERR", "CONF_ERR", "LOAD_ERR",
|
|
|
- "GPIO16?", "GPIO18", "GPIO22", "GPIO23"
|
|
|
+ "GPIO16", "GPIO18", "GPIO22", "GPIO23"
|
|
|
};
|
|
|
#define IRQBITS ARRAY_SIZE(irqbits)
|
|
|
|
|
@@ -601,12 +601,14 @@ static irqreturn_t saa7134_irq(int irq, void *dev_id)
|
|
|
/* disable gpio16 IRQ */
|
|
|
printk(KERN_WARNING "%s/irq: looping -- "
|
|
|
"clearing GPIO16 enable bit\n",dev->name);
|
|
|
- saa_clearl(SAA7134_IRQ2, SAA7134_IRQ2_INTE_GPIO16);
|
|
|
+ saa_clearl(SAA7134_IRQ2, SAA7134_IRQ2_INTE_GPIO16_P);
|
|
|
+ saa_clearl(SAA7134_IRQ2, SAA7134_IRQ2_INTE_GPIO16_N);
|
|
|
} else if (report & SAA7134_IRQ_REPORT_GPIO18) {
|
|
|
/* disable gpio18 IRQs */
|
|
|
printk(KERN_WARNING "%s/irq: looping -- "
|
|
|
"clearing GPIO18 enable bit\n",dev->name);
|
|
|
- saa_clearl(SAA7134_IRQ2, SAA7134_IRQ2_INTE_GPIO18);
|
|
|
+ saa_clearl(SAA7134_IRQ2, SAA7134_IRQ2_INTE_GPIO18_P);
|
|
|
+ saa_clearl(SAA7134_IRQ2, SAA7134_IRQ2_INTE_GPIO18_N);
|
|
|
} else {
|
|
|
/* disable all irqs */
|
|
|
printk(KERN_WARNING "%s/irq: looping -- "
|
|
@@ -698,11 +700,11 @@ static int saa7134_hw_enable2(struct saa7134_dev *dev)
|
|
|
|
|
|
if (dev->has_remote == SAA7134_REMOTE_GPIO && dev->remote) {
|
|
|
if (dev->remote->mask_keydown & 0x10000)
|
|
|
- irq2_mask |= SAA7134_IRQ2_INTE_GPIO16;
|
|
|
+ irq2_mask |= SAA7134_IRQ2_INTE_GPIO16_N;
|
|
|
else if (dev->remote->mask_keydown & 0x40000)
|
|
|
- irq2_mask |= SAA7134_IRQ2_INTE_GPIO18;
|
|
|
+ irq2_mask |= SAA7134_IRQ2_INTE_GPIO18_P;
|
|
|
else if (dev->remote->mask_keyup & 0x40000)
|
|
|
- irq2_mask |= SAA7134_IRQ2_INTE_GPIO18A;
|
|
|
+ irq2_mask |= SAA7134_IRQ2_INTE_GPIO18_N;
|
|
|
}
|
|
|
|
|
|
if (dev->has_remote == SAA7134_REMOTE_I2C) {
|