[linux-dvb] [PATCH] bt878 driver update

Edgar Toernig froese at gmx.de
Tue Sep 6 22:21:43 CEST 2005


> 	About V4L part of your patch, you should use
> .no_gpioirq = 1 on your board definition, instead of changing 
> bttv_probe function on bttv_driver.c. The way you changed would break
> support for other video cards, since the default is to have GPIOIRQ.

[relevant patch]
| @@ -3863,7 +3863,6 @@ static int __devinit bttv_probe(struct p
|          btv->tuner_type  = UNSET;
|          btv->pinnacle_id = UNSET;
|         btv->new_input   = UNSET;
| -       btv->gpioirq     = 1;
|         btv->has_radio=radio[btv->c.nr];

| @@ -2802,8 +2800,8 @@ void __devinit bttv_init_card2(struct bt
|                 btv->has_radio=1;
|         if (bttv_tvcards[btv->c.type].has_remote)
|                 btv->has_remote=1;
| -       if (bttv_tvcards[btv->c.type].no_gpioirq)
| -               btv->gpioirq=0;
| +       if (!bttv_tvcards[btv->c.type].no_gpioirq)
| +               btv->gpioirq=1;

No, that's not what the patch does.  The PCTV Sat does use
no_gpioirq=1.  The problem is, that gpioirq is enabled pretty
early during the initialization (bttv_probe) and later turned
off when a card with no_gpioirq=1 is detected (bttv_init_card2).
But that causes gpio irqs being enabled for a while - in my case
there are between some hundred and some thousand (false) irqs
delivered before the gpioirq is disabled.

The patch just changes the default.  gpio irqs are disabled while
probing and later enable when a card with no_gpioirq=0 is found.
The status whether a card gets gpio irqs or not stays the same.

Ciao, ET.

More information about the linux-dvb mailing list