CTC++ Coverage Report - Execution Profile    #493/1532

Files Summary | Functions Summary | Execution Profile | Index | No Index
First | Previous | Next | Last


File: drivers/media/video/saa7134/saa7134-cards.c
Instrumentation mode: function-decision-multicondition
TER: 0 % ( 0/102)

Start/ End/    
True False - Line Source

  1 /*
  2  *
  3  * device driver for philips saa7134 based TV cards
  4  * card-specific stuff.
  5  *
  6  * (c) 2001-04 Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]
  7  *
  8  *  This program is free software; you can redistribute it and/or modify
  9  *  it under the terms of the GNU General Public License as published by
  10  *  the Free Software Foundation; either version 2 of the License, or
  11  *  (at your option) any later version.
  12  *
  13  *  This program is distributed in the hope that it will be useful,
  14  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16  *  GNU General Public License for more details.
  17  *
  18  *  You should have received a copy of the GNU General Public License
  19  *  along with this program; if not, write to the Free Software
  20  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21  */
  22 
  23 #include <linux/init.h>
  24 #include <linux/module.h>
  25 
  26 #include "saa7134-reg.h"
  27 #include "saa7134.h"
  28 #include <media/v4l2-common.h>
  29 
  30 /* commly used strings */
  31 static char name_mute[]    = "mute";
  32 static char name_radio[]   = "Radio";
  33 static char name_tv[]      = "Television";
  34 static char name_tv_mono[] = "TV (mono only)";
  35 static char name_comp1[]   = "Composite1";
  36 static char name_comp2[]   = "Composite2";
  37 static char name_comp3[]   = "Composite3";
  38 static char name_comp4[]   = "Composite4";
  39 static char name_svideo[]  = "S-Video";
  40 
  41 /* ------------------------------------------------------------------ */
  42 /* board config info                                                  */
  43 
  44 struct saa7134_board saa7134_boards[] = {
  45    [SAA7134_BOARD_UNKNOWN] = {
  46       .name      = "UNKNOWN/GENERIC",
  47       .audio_clock   = 0x00187de7,
  48       .tuner_type   = TUNER_ABSENT,
  49       .radio_type     = UNSET,
  50       .tuner_addr   = ADDR_UNSET,
  51       .radio_addr   = ADDR_UNSET,
  52 
  53       .inputs         = {{
  54          .name = "default",
  55          .vmux = 0,
  56          .amux = LINE1,
  57       }},
  58    },
  59    [SAA7134_BOARD_PROTEUS_PRO] = {
  60       /* /me */
  61       .name      = "Proteus Pro [philips reference design]",
  62       .audio_clock   = 0x00187de7,
  63       .tuner_type   = TUNER_PHILIPS_PAL,
  64       .radio_type     = UNSET,
  65       .tuner_addr   = ADDR_UNSET,
  66       .radio_addr   = ADDR_UNSET,
  67 
  68       .inputs         = {{
  69          .name = name_comp1,
  70          .vmux = 0,
  71          .amux = LINE1,
  72       },{
  73          .name = name_tv,
  74          .vmux = 1,
  75          .amux = TV,
  76          .tv   = 1,
  77       },{
  78          .name = name_tv_mono,
  79          .vmux = 1,
  80          .amux = LINE2,
  81          .tv   = 1,
  82       }},
  83       .radio = {
  84          .name = name_radio,
  85          .amux = LINE2,
  86       },
  87    },
  88    [SAA7134_BOARD_FLYVIDEO3000] = {
  89       /* "Marco d'Itri" <md@Linux.IT> */
  90       .name      = "LifeView FlyVIDEO3000",
  91       .audio_clock   = 0x00200000,
  92       .tuner_type   = TUNER_PHILIPS_PAL,
  93       .radio_type     = UNSET,
  94       .tuner_addr   = ADDR_UNSET,
  95       .radio_addr   = ADDR_UNSET,
  96 
  97       .gpiomask       = 0xe000,
  98       .inputs         = {{
  99          .name = name_tv,
  100          .vmux = 1,
  101          .amux = TV,
  102          .gpio = 0x8000,
  103          .tv   = 1,
  104       },{
  105          .name = name_tv_mono,
  106          .vmux = 1,
  107          .amux = LINE2,
  108          .gpio = 0x0000,
  109          .tv   = 1,
  110       },{
  111          .name = name_comp1,
  112          .vmux = 0,
  113          .amux = LINE2,
  114          .gpio = 0x4000,
  115       },{
  116          .name = name_comp2,
  117          .vmux = 3,
  118          .amux = LINE2,
  119          .gpio = 0x4000,
  120       },{
  121          .name = name_svideo,
  122          .vmux = 8,
  123          .amux = LINE2,
  124          .gpio = 0x4000,
  125       }},
  126       .radio = {
  127          .name = name_radio,
  128          .amux = LINE2,
  129          .gpio = 0x2000,
  130       },
  131       .mute = {
  132          .name = name_mute,
  133          .amux = TV,
  134          .gpio = 0x8000,
  135       },
  136    },
  137    [SAA7134_BOARD_FLYVIDEO2000] = {
  138       /* "TC Wan" <tcwan@cs.usm.my> */
  139       .name           = "LifeView/Typhoon FlyVIDEO2000",
  140       .audio_clock    = 0x00200000,
  141       .tuner_type     = TUNER_LG_PAL_NEW_TAPC,
  142       .radio_type     = UNSET,
  143       .tuner_addr   = ADDR_UNSET,
  144       .radio_addr   = ADDR_UNSET,
  145 
  146       .gpiomask       = 0xe000,
  147       .inputs         = {{
  148          .name = name_tv,
  149          .vmux = 1,
  150          .amux = LINE2,
  151          .gpio = 0x0000,
  152          .tv   = 1,
  153       },{
  154          .name = name_comp1,
  155          .vmux = 0,
  156          .amux = LINE2,
  157          .gpio = 0x4000,
  158       },{
  159          .name = name_comp2,
  160          .vmux = 3,
  161          .amux = LINE2,
  162          .gpio = 0x4000,
  163       },{
  164          .name = name_svideo,
  165          .vmux = 8,
  166          .amux = LINE2,
  167          .gpio = 0x4000,
  168       }},
  169       .radio = {
  170          .name = name_radio,
  171          .amux = LINE2,
  172          .gpio = 0x2000,
  173       },
  174       .mute = {
  175          .name = name_mute,
  176          .amux = LINE2,
  177          .gpio = 0x8000,
  178       },
  179    },
  180    [SAA7134_BOARD_FLYTVPLATINUM_MINI] = {
  181       /* "Arnaud Quette" <aquette@free.fr> */
  182       .name           = "LifeView FlyTV Platinum Mini",
  183       .audio_clock    = 0x00200000,
  184       .tuner_type     = TUNER_PHILIPS_TDA8290,
  185       .radio_type     = UNSET,
  186       .tuner_addr   = ADDR_UNSET,
  187       .radio_addr   = ADDR_UNSET,
  188 
  189       .inputs         = {{
  190          .name = name_tv,
  191          .vmux = 1,
  192          .amux = TV,
  193          .tv   = 1,
  194       },{
  195          .name = name_comp1,     /* Composite signal on S-Video input */
  196          .vmux = 0,
  197          .amux = LINE2,
  198       },{
  199          .name = name_comp2,   /* Composite input */
  200          .vmux = 3,
  201          .amux = LINE2,
  202       },{
  203          .name = name_svideo,
  204          .vmux = 8,
  205          .amux = LINE2,
  206       }},
  207    },
  208    [SAA7134_BOARD_FLYTVPLATINUM_FM] = {
  209       /* LifeView FlyTV Platinum FM (LR214WF) */
  210       /* "Peter Missel <peter.missel@onlinehome.de> */
  211       .name           = "LifeView FlyTV Platinum FM",
  212       .audio_clock    = 0x00200000,
  213       .tuner_type     = TUNER_PHILIPS_TDA8290,
  214       .radio_type     = UNSET,
  215       .tuner_addr   = ADDR_UNSET,
  216       .radio_addr   = ADDR_UNSET,
  217 
  218       .gpiomask       = 0x1E000,   /* Set GP16 and unused 15,14,13 to Output */
  219       .inputs         = {{
  220          .name = name_tv,
  221          .vmux = 1,
  222          .amux = TV,
  223          .gpio = 0x10000,   /* GP16=1 selects TV input */
  224          .tv   = 1,
  225       },{
  226 /*         .name = name_tv_mono,
  227          .vmux = 1,
  228          .amux = LINE2,
  229          .gpio = 0x0000,
  230          .tv   = 1,
  231       },{
  232 */         .name = name_comp1,   /* Composite signal on S-Video input */
  233          .vmux = 0,
  234          .amux = LINE2,
  235 /*         .gpio = 0x4000,         */
  236       },{
  237          .name = name_comp2,   /* Composite input */
  238          .vmux = 3,
  239          .amux = LINE2,
  240 /*         .gpio = 0x4000,         */
  241       },{
  242          .name = name_svideo,   /* S-Video signal on S-Video input */
  243          .vmux = 8,
  244          .amux = LINE2,
  245 /*         .gpio = 0x4000,         */
  246       }},
  247       .radio = {
  248          .name = name_radio,
  249          .amux = TV,
  250          .gpio = 0x00000,   /* GP16=0 selects FM radio antenna */
  251       },
  252       .mute = {
  253          .name = name_mute,
  254          .amux = TV,
  255          .gpio = 0x10000,
  256       },
  257    },
  258    [SAA7134_BOARD_EMPRESS] = {
  259       /* "Gert Vervoort" <gert.vervoort@philips.com> */
  260       .name      = "EMPRESS",
  261       .audio_clock   = 0x00187de7,
  262       .tuner_type   = TUNER_PHILIPS_PAL,
  263       .radio_type     = UNSET,
  264       .tuner_addr   = ADDR_UNSET,
  265       .radio_addr   = ADDR_UNSET,
  266 
  267       .inputs         = {{
  268          .name = name_comp1,
  269          .vmux = 0,
  270          .amux = LINE1,
  271       },{
  272          .name = name_svideo,
  273          .vmux = 8,
  274          .amux = LINE1,
  275       },{
  276          .name = name_tv,
  277          .vmux = 1,
  278          .amux = LINE2,
  279          .tv   = 1,
  280       }},
  281       .radio = {
  282          .name = name_radio,
  283          .amux = LINE2,
  284       },
  285       .mpeg      = SAA7134_MPEG_EMPRESS,
  286       .video_out = CCIR656,
  287    },
  288    [SAA7134_BOARD_MONSTERTV] = {
  289       /* "K.Ohta" <alpha292@bremen.or.jp> */
  290       .name           = "SKNet Monster TV",
  291       .audio_clock    = 0x00187de7,
  292       .tuner_type     = TUNER_PHILIPS_NTSC_M,
  293       .radio_type     = UNSET,
  294       .tuner_addr   = ADDR_UNSET,
  295       .radio_addr   = ADDR_UNSET,
  296 
  297       .inputs         = {{
  298          .name = name_tv,
  299          .vmux = 1,
  300          .amux = TV,
  301          .tv   = 1,
  302       },{
  303          .name = name_comp1,
  304          .vmux = 0,
  305          .amux = LINE1,
  306       },{
  307          .name = name_svideo,
  308          .vmux = 8,
  309          .amux = LINE1,
  310       }},
  311       .radio = {
  312          .name = name_radio,
  313          .amux = LINE2,
  314       },
  315    },
  316    [SAA7134_BOARD_MD9717] = {
  317       .name      = "Tevion MD 9717",
  318       .audio_clock   = 0x00200000,
  319       .tuner_type   = TUNER_PHILIPS_PAL,
  320       .radio_type     = UNSET,
  321       .tuner_addr   = ADDR_UNSET,
  322       .radio_addr   = ADDR_UNSET,
  323       .inputs         = {{
  324          .name = name_tv,
  325          .vmux = 1,
  326          .amux = TV,
  327          .tv   = 1,
  328       },{
  329          /* workaround for problems with normal TV sound */
  330          .name = name_tv_mono,
  331          .vmux = 1,
  332          .amux = LINE2,
  333          .tv   = 1,
  334       },{
  335          .name = name_comp1,
  336          .vmux = 2,
  337          .amux = LINE1,
  338       },{
  339          .name = name_comp2,
  340          .vmux = 3,
  341          .amux = LINE1,
  342       },{
  343          .name = name_svideo,
  344          .vmux = 8,
  345          .amux = LINE1,
  346       }},
  347       .radio = {
  348          .name = name_radio,
  349          .amux = LINE2,
  350       },
  351    },
  352    [SAA7134_BOARD_TVSTATION_RDS] = {
  353       /* Typhoon TV Tuner RDS: Art.Nr. 50694 */
  354       .name      = "KNC One TV-Station RDS / Typhoon TV Tuner RDS",
  355       .audio_clock   = 0x00200000,
  356       .tuner_type   = TUNER_PHILIPS_FM1216ME_MK3,
  357       .radio_type     = UNSET,
  358       .tuner_addr   = ADDR_UNSET,
  359       .radio_addr   = ADDR_UNSET,
  360       .tda9887_conf   = TDA9887_PRESENT,
  361       .inputs         = {{
  362          .name = name_tv,
  363          .vmux = 1,
  364          .amux = TV,
  365          .tv   = 1,
  366       },{
  367          .name = name_tv_mono,
  368          .vmux = 1,
  369          .amux   = LINE2,
  370          .tv   = 1,
  371       },{
  372 
  373          .name = name_svideo,
  374          .vmux = 8,
  375          .amux = LINE1,
  376       },{
  377          .name = name_comp1,
  378          .vmux = 3,
  379          .amux = LINE1,
  380       },{
  381 
  382          .name = "CVid over SVid",
  383          .vmux = 0,
  384          .amux = LINE1,
  385       }},
  386       .radio = {
  387          .name = name_radio,
  388          .amux = LINE2,
  389       },
  390    },
  391    [SAA7134_BOARD_TVSTATION_DVR] = {
  392       .name      = "KNC One TV-Station DVR",
  393       .audio_clock   = 0x00200000,
  394       .tuner_type   = TUNER_PHILIPS_FM1216ME_MK3,
  395       .radio_type     = UNSET,
  396       .tuner_addr   = ADDR_UNSET,
  397       .radio_addr   = ADDR_UNSET,
  398       .tda9887_conf   = TDA9887_PRESENT,
  399       .gpiomask   = 0x820000,
  400       .inputs      = {{
  401          .name = name_tv,
  402          .vmux = 1,
  403          .amux = LINE2,
  404          .tv   = 1,
  405          .gpio = 0x20000,
  406       },{
  407          .name = name_svideo,
  408          .vmux = 8,
  409          .amux = LINE1,
  410          .gpio = 0x20000,
  411       },{
  412          .name = name_comp1,
  413          .vmux = 3,
  414          .amux = LINE1,
  415          .gpio = 0x20000,
  416       }},
  417       .radio      = {
  418          .name = name_radio,
  419          .amux = LINE2,
  420          .gpio = 0x20000,
  421       },
  422       .mpeg           = SAA7134_MPEG_EMPRESS,
  423       .video_out   = CCIR656,
  424    },
  425    [SAA7134_BOARD_CINERGY400] = {
  426       .name           = "Terratec Cinergy 400 TV",
  427       .audio_clock    = 0x00200000,
  428       .tuner_type     = TUNER_PHILIPS_PAL,
  429       .radio_type     = UNSET,
  430       .tuner_addr   = ADDR_UNSET,
  431       .radio_addr   = ADDR_UNSET,
  432       .inputs         = {{
  433          .name = name_tv,
  434          .vmux = 1,
  435          .amux = TV,
  436          .tv   = 1,
  437       },{
  438          .name = name_comp1,
  439          .vmux = 4,
  440          .amux = LINE1,
  441       },{
  442          .name = name_svideo,
  443          .vmux = 8,
  444          .amux = LINE1,
  445       },{
  446          .name = name_comp2, /* CVideo over SVideo Connector */
  447          .vmux = 0,
  448          .amux = LINE1,
  449       }}
  450    },
  451    [SAA7134_BOARD_MD5044] = {
  452       .name           = "Medion 5044",
  453       .audio_clock    = 0x00187de7, /* was: 0x00200000, */
  454       .tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
  455       .radio_type     = UNSET,
  456       .tuner_addr   = ADDR_UNSET,
  457       .radio_addr   = ADDR_UNSET,
  458       .tda9887_conf   = TDA9887_PRESENT,
  459       .inputs         = {{
  460          .name = name_tv,
  461          .vmux = 1,
  462          .amux = TV,
  463          .tv   = 1,
  464       },{
  465          /* workaround for problems with normal TV sound */
  466          .name = name_tv_mono,
  467          .vmux = 1,
  468          .amux = LINE2,
  469          .tv   = 1,
  470       },{
  471          .name = name_comp1,
  472          .vmux = 0,
  473          .amux = LINE2,
  474       },{
  475          .name = name_comp2,
  476          .vmux = 3,
  477          .amux = LINE2,
  478       },{
  479          .name = name_svideo,
  480          .vmux = 8,
  481          .amux = LINE2,
  482       }},
  483       .radio = {
  484          .name = name_radio,
  485          .amux = LINE2,
  486       },
  487    },
  488    [SAA7134_BOARD_KWORLD] = {
  489       .name           = "Kworld/KuroutoShikou SAA7130-TVPCI",
  490       .audio_clock    = 0x00187de7,
  491       .tuner_type     = TUNER_PHILIPS_NTSC_M,
  492       .radio_type     = UNSET,
  493       .tuner_addr   = ADDR_UNSET,
  494       .radio_addr   = ADDR_UNSET,
  495       .inputs         = {{
  496          .name = name_svideo,
  497          .vmux = 8,
  498          .amux = LINE1,
  499       },{
  500          .name = name_comp1,
  501          .vmux = 3,
  502          .amux = LINE1,
  503       },{
  504          .name = name_tv,
  505          .vmux = 1,
  506          .amux = LINE2,
  507          .tv   = 1,
  508       }},
  509    },
  510    [SAA7134_BOARD_CINERGY600] = {
  511       .name           = "Terratec Cinergy 600 TV",
  512       .audio_clock    = 0x00200000,
  513       .tuner_type     = TUNER_PHILIPS_PAL,
  514       .radio_type     = UNSET,
  515       .tuner_addr   = ADDR_UNSET,
  516       .radio_addr   = ADDR_UNSET,
  517       .tda9887_conf   = TDA9887_PRESENT,
  518       .inputs         = {{
  519          .name = name_tv,
  520          .vmux = 1,
  521          .amux = TV,
  522          .tv   = 1,
  523       },{
  524          .name = name_comp1,
  525          .vmux = 4,
  526          .amux = LINE1,
  527       },{
  528          .name = name_svideo,
  529          .vmux = 8,
  530          .amux = LINE1,
  531       },{
  532          .name = name_comp2, /* CVideo over SVideo Connector */
  533          .vmux = 0,
  534          .amux = LINE1,
  535       }},
  536       .radio = {
  537          .name = name_radio,
  538          .amux = LINE2,
  539    },
  540    },
  541    [SAA7134_BOARD_MD7134] = {
  542       .name           = "Medion 7134",
  543       .audio_clock    = 0x00187de7,
  544       .tuner_type     = TUNER_PHILIPS_FMD1216ME_MK3,
  545       .radio_type     = UNSET,
  546       .tuner_addr   = ADDR_UNSET,
  547       .radio_addr   = ADDR_UNSET,
  548       .tda9887_conf   = TDA9887_PRESENT,
  549       .mpeg           = SAA7134_MPEG_DVB,
  550       .inputs = {{
  551          .name   = name_tv,
  552          .vmux   = 1,
  553          .amux   = TV,
  554          .tv     = 1,
  555       },{
  556          .name   = name_comp1,
  557          .vmux   = 0,
  558          .amux   = LINE1,
  559       },{
  560          .name   = name_svideo,
  561          .vmux   = 8,
  562          .amux   = LINE1,
  563       }},
  564       .radio = {
  565          .name   = name_radio,
  566          .amux   = LINE2,
  567       },
  568    },
  569    [SAA7134_BOARD_TYPHOON_90031] = {
  570       /* aka Typhoon "TV+Radio", Art.Nr 90031 */
  571       /* Tom Zoerner <tomzo at users sourceforge net> */
  572       .name           = "Typhoon TV+Radio 90031",
  573       .audio_clock    = 0x00200000,
  574       .tuner_type  &n