V4L/DVB (4791): Added autodetected flag to the saa7134_dev structure

In case the exact board type needs to be determined by probing
or evaluating the eeprom, this flag allows to still set the 
board type via the card=xx insmod option. 
This is an extract of a patch by Francis Barber.

Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Hartmut Hackmann 2006-10-30 19:56:59 -03:00 committed by Mauro Carvalho Chehab
parent 19be685a4a
commit a75ec3f033
2 changed files with 9 additions and 5 deletions

View File

@ -889,15 +889,16 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev,
must_configure_manually(); must_configure_manually();
dev->board = SAA7134_BOARD_UNKNOWN; dev->board = SAA7134_BOARD_UNKNOWN;
} }
dev->autodetected = card[dev->nr] != dev->board;
dev->tuner_type = saa7134_boards[dev->board].tuner_type; dev->tuner_type = saa7134_boards[dev->board].tuner_type;
dev->tda9887_conf = saa7134_boards[dev->board].tda9887_conf; dev->tda9887_conf = saa7134_boards[dev->board].tda9887_conf;
if (UNSET != tuner[dev->nr]) if (UNSET != tuner[dev->nr])
dev->tuner_type = tuner[dev->nr]; dev->tuner_type = tuner[dev->nr];
printk(KERN_INFO "%s: subsystem: %04x:%04x, board: %s [card=%d,%s]\n", printk(KERN_INFO "%s: subsystem: %04x:%04x, board: %s [card=%d,%s]\n",
dev->name,pci_dev->subsystem_vendor, dev->name,pci_dev->subsystem_vendor,
pci_dev->subsystem_device,saa7134_boards[dev->board].name, pci_dev->subsystem_device,saa7134_boards[dev->board].name,
dev->board, card[dev->nr] == dev->board ? dev->board, dev->autodetected ?
"insmod option" : "autodetected"); "autodetected" : "insmod option");
/* get mmio */ /* get mmio */
if (!request_mem_region(pci_resource_start(pci_dev,0), if (!request_mem_region(pci_resource_start(pci_dev,0),

View File

@ -448,6 +448,9 @@ struct saa7134_dev {
struct v4l2_prio_state prio; struct v4l2_prio_state prio;
#endif #endif
/* insmod option/autodetected */
int autodetected;
/* various device info */ /* various device info */
unsigned int resources; unsigned int resources;
struct video_device *video_dev; struct video_device *video_dev;