Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8b6030ccca06bf0d45d9b0908caac9b624a9beb
Commit:     f8b6030ccca06bf0d45d9b0908caac9b624a9beb
Parent:     b873e1a3ccf9e04d2de85db0d510ec4b793fe569
Author:     Mauro Carvalho Chehab <[EMAIL PROTECTED]>
AuthorDate: Mon Nov 5 08:42:55 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 19:02:01 2008 -0200

    V4L/DVB (6560): Fix a bug when setting tuner type
    
    Tuner-type were correctly filled only by the hint function.
    
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/video/em28xx/em28xx-cards.c |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/drivers/media/video/em28xx/em28xx-cards.c 
b/drivers/media/video/em28xx/em28xx-cards.c
index e88bf67..b1afc6c 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/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;
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to