Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5add9a6f3c90680f89b4694e81025d2aed9559af
Commit:     5add9a6f3c90680f89b4694e81025d2aed9559af
Parent:     a5e9fe149afb0fdf0de4729f1b0d203d4ac14906
Author:     Mauro Carvalho Chehab <[EMAIL PROTECTED]>
AuthorDate: Thu Nov 22 12:08:53 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 19:02:39 2008 -0200

    V4L/DVB (6659): Convert MTS to bitfield
    
    Xc2028.3028 has two type of firmwares: audio-standard specific ones and
    baseband MTS firmwares. MTS firmwares provide stereo decoding for 6 MHz
    BTSC/EIAJ and for monoaural audio decoding on 8 MHz firmwares.
    
    It seems that the option to use MTS or a standard-specific audio decoding
    depends on the way xc2028/3028 is connected.
    
    Instead of wasting 32 (or 64 bits) to signalize if the driver needs to use 
MTS
    firmware, this patch converts it to a bitfield that can be shared with other
    proprieties of xc2028/3028.
    
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/dvb/dvb-usb/cxusb.c         |    1 -
 drivers/media/video/em28xx/em28xx-cards.c |    4 ++--
 drivers/media/video/em28xx/em28xx.h       |    2 +-
 drivers/media/video/tuner-xc2028.c        |    2 +-
 drivers/media/video/tuner-xc2028.h        |    9 ++-------
 5 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/media/dvb/dvb-usb/cxusb.c 
b/drivers/media/dvb/dvb-usb/cxusb.c
index deeb387..c583650 100644
--- a/drivers/media/dvb/dvb-usb/cxusb.c
+++ b/drivers/media/dvb/dvb-usb/cxusb.c
@@ -513,7 +513,6 @@ static int cxusb_dvico_xc3028_tuner_attach(struct 
dvb_usb_adapter *adap)
                .callback  = dvico_bluebird_xc2028_callback,
        };
        static struct xc2028_ctrl ctl = {
-               .type        = XC2028_FIRM_NORMAL,
                .fname       = "xc3028-dvico-au-01.fw",
                .max_len     = 64,
                .scode_table = ZARLINK456,
diff --git a/drivers/media/video/em28xx/em28xx-cards.c 
b/drivers/media/video/em28xx/em28xx-cards.c
index c40b9d9..29e935f 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -154,7 +154,7 @@ struct em28xx_board em28xx_boards[] = {
                .tda9887_conf = TDA9887_PRESENT,
                .tuner_type   = TUNER_XC2028,
                .has_tuner    = 1,
-               .xc2028_type  = XC2028_FIRM_MTS,
+               .mts_firmware = 1,
                .decoder      = EM28XX_TVP5150,
                .input          = {{
                        .type     = EM28XX_VMUX_TELEVISION,
@@ -476,7 +476,7 @@ static void em28xx_config_tuner (struct em28xx *dev)
 
                ctl.fname   = XC2028_DEFAULT_FIRMWARE;
                ctl.max_len = 64;
-               ctl.type = em28xx_boards[dev->model].xc2028_type;
+               ctl.mts = em28xx_boards[dev->model].mts_firmware;
 
                xc2028_cfg.tuner = TUNER_XC2028;
                xc2028_cfg.priv  = &ctl;
diff --git a/drivers/media/video/em28xx/em28xx.h 
b/drivers/media/video/em28xx/em28xx.h
index db82b51..93007cc 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -176,9 +176,9 @@ struct em28xx_board {
 
        unsigned int has_tuner:1;
        unsigned int has_msp34xx:1;
+       unsigned int mts_firmware:1;
 
        enum em28xx_decoder decoder;
-       int xc2028_type;
 
        struct em28xx_input       input[MAX_EM28XX_INPUT];
 };
diff --git a/drivers/media/video/tuner-xc2028.c 
b/drivers/media/video/tuner-xc2028.c
index 8fa3ab7..6a6642e 100644
--- a/drivers/media/video/tuner-xc2028.c
+++ b/drivers/media/video/tuner-xc2028.c
@@ -631,7 +631,7 @@ static int check_firmware(struct dvb_frontend *fe, enum 
tuner_mode new_mode,
                        return rc;
        }
 
-       if (priv->ctrl.type == XC2028_FIRM_MTS)
+       if (priv->ctrl.mts)
                type |= MTS;
        if (bandwidth == BANDWIDTH_7_MHZ || bandwidth == BANDWIDTH_8_MHZ)
                type |= F8MHZ;
diff --git a/drivers/media/video/tuner-xc2028.h 
b/drivers/media/video/tuner-xc2028.h
index 16259b1..f24fb2a 100644
--- a/drivers/media/video/tuner-xc2028.h
+++ b/drivers/media/video/tuner-xc2028.h
@@ -11,17 +11,12 @@
 
 #define XC2028_DEFAULT_FIRMWARE "xc3028-v27.fw"
 
-enum xc2028_firm_type {
-       XC2028_FIRM_NORMAL,
-       XC2028_FIRM_MTS,
-};
-
 struct xc2028_ctrl {
-       enum xc2028_firm_type   type;
        char                    *fname;
        int                     max_len;
-       int                     d2633:1;
        unsigned int            scode_table;
+       unsigned int            mts  :1;
+       unsigned int            d2633:1;
 };
 
 struct xc2028_config {
-
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