From 3048b7447fc85b23498a19c966b40b52ee96d474 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Mon, 5 Nov 2007 08:42:55 -0300 Subject: [PATCH] --- yaml --- r: 76385 b: refs/heads/master c: f8b6030ccca06bf0d45d9b0908caac9b624a9beb h: refs/heads/master i: 76383: 4e4d1d79994ff4facfce0326193511a6ddb3be71 v: v3 --- [refs] | 2 +- .../drivers/media/video/em28xx/em28xx-cards.c | 29 ++++++++++++++----- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 2110a9d37c6d..e390bc9be15a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b873e1a3ccf9e04d2de85db0d510ec4b793fe569 +refs/heads/master: f8b6030ccca06bf0d45d9b0908caac9b624a9beb diff --git a/trunk/drivers/media/video/em28xx/em28xx-cards.c b/trunk/drivers/media/video/em28xx/em28xx-cards.c index e88bf6700e63..b1afc6c2d372 100644 --- a/trunk/drivers/media/video/em28xx/em28xx-cards.c +++ b/trunk/drivers/media/video/em28xx/em28xx-cards.c @@ -564,8 +564,26 @@ static int em28xx_hint_board(struct em28xx *dev) return -1; } + +static void em28xx_set_model(struct em28xx *dev) +{ + dev->is_em2800 = em28xx_boards[dev->model].is_em2800; + dev->has_tuner = em28xx_boards[dev->model].has_tuner; + dev->has_msp34xx = em28xx_boards[dev->model].has_msp34xx; + dev->tda9887_conf = em28xx_boards[dev->model].tda9887_conf; + dev->decoder = em28xx_boards[dev->model].decoder; + dev->video_inputs = em28xx_boards[dev->model].vchannels; + + if (!em28xx_boards[dev->model].has_tuner) + dev->tuner_type = UNSET; +} + void em28xx_card_setup(struct em28xx *dev) { + em28xx_set_model(dev); + + dev->tuner_type = em28xx_boards[dev->model].tuner_type; + /* request some modules */ switch (dev->model) { case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2: @@ -593,16 +611,11 @@ void em28xx_card_setup(struct em28xx *dev) break; case EM2820_BOARD_UNKNOWN: case EM2800_BOARD_UNKNOWN: - em28xx_hint_board(dev); + if (!em28xx_hint_board(dev)) + em28xx_set_model(dev); } - dev->is_em2800 = em28xx_boards[dev->model].is_em2800; - dev->has_tuner = em28xx_boards[dev->model].has_tuner; - dev->has_msp34xx = em28xx_boards[dev->model].has_msp34xx; - dev->tda9887_conf = em28xx_boards[dev->model].tda9887_conf; - dev->decoder = em28xx_boards[dev->model].decoder; - dev->video_inputs = em28xx_boards[dev->model].vchannels; - + /* Allow override tuner type by a module parameter */ if (tuner >= 0) dev->tuner_type = tuner;