(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
analyzer/
pr96653.c
       1  /* Examples of switch statements with many cases (with default values).
       2     Adapted from Linux 5.9-rc1:drivers/media/v4l2-core/v4l2-ctrls.c.  */
       3  
       4  /* { dg-additional-options "-O1" } */
       5  
       6  typedef unsigned int u32;
       7  typedef long long s64;
       8  typedef unsigned long long u64;
       9  
      10  enum v4l2_ctrl_type {
      11    V4L2_CTRL_TYPE_INTEGER = 1,
      12    V4L2_CTRL_TYPE_BOOLEAN = 2,
      13    V4L2_CTRL_TYPE_MENU = 3,
      14    V4L2_CTRL_TYPE_BUTTON = 4,
      15    V4L2_CTRL_TYPE_INTEGER64 = 5,
      16    V4L2_CTRL_TYPE_CTRL_CLASS = 6,
      17    V4L2_CTRL_TYPE_STRING = 7,
      18    V4L2_CTRL_TYPE_BITMASK = 8,
      19    V4L2_CTRL_TYPE_INTEGER_MENU = 9,
      20  
      21    V4L2_CTRL_COMPOUND_TYPES = 0x0100,
      22    V4L2_CTRL_TYPE_U8 = 0x0100,
      23    V4L2_CTRL_TYPE_U16 = 0x0101,
      24    V4L2_CTRL_TYPE_U32 = 0x0102,
      25    V4L2_CTRL_TYPE_AREA = 0x0106,
      26  };
      27  
      28  const char *v4l2_ctrl_get_name(u32 id) {
      29    switch (id) {
      30    case (0x00980000 | 1):
      31      return "User Controls";
      32    case ((0x00980000 | 0x900) + 0):
      33      return "Brightness";
      34    case ((0x00980000 | 0x900) + 1):
      35      return "Contrast";
      36    case ((0x00980000 | 0x900) + 2):
      37      return "Saturation";
      38    case ((0x00980000 | 0x900) + 3):
      39      return "Hue";
      40    case ((0x00980000 | 0x900) + 5):
      41      return "Volume";
      42    case ((0x00980000 | 0x900) + 6):
      43      return "Balance";
      44    case ((0x00980000 | 0x900) + 7):
      45      return "Bass";
      46    case ((0x00980000 | 0x900) + 8):
      47      return "Treble";
      48    case ((0x00980000 | 0x900) + 9):
      49      return "Mute";
      50    case ((0x00980000 | 0x900) + 10):
      51      return "Loudness";
      52    case ((0x00980000 | 0x900) + 11):
      53      return "Black Level";
      54    case ((0x00980000 | 0x900) + 12):
      55      return "White Balance, Automatic";
      56    case ((0x00980000 | 0x900) + 13):
      57      return "Do White Balance";
      58    case ((0x00980000 | 0x900) + 14):
      59      return "Red Balance";
      60    case ((0x00980000 | 0x900) + 15):
      61      return "Blue Balance";
      62    case ((0x00980000 | 0x900) + 16):
      63      return "Gamma";
      64    case ((0x00980000 | 0x900) + 17):
      65      return "Exposure";
      66    case ((0x00980000 | 0x900) + 18):
      67      return "Gain, Automatic";
      68    case ((0x00980000 | 0x900) + 19):
      69      return "Gain";
      70    case ((0x00980000 | 0x900) + 20):
      71      return "Horizontal Flip";
      72    case ((0x00980000 | 0x900) + 21):
      73      return "Vertical Flip";
      74    case ((0x00980000 | 0x900) + 24):
      75      return "Power Line Frequency";
      76    case ((0x00980000 | 0x900) + 25):
      77      return "Hue, Automatic";
      78    case ((0x00980000 | 0x900) + 26):
      79      return "White Balance Temperature";
      80    case ((0x00980000 | 0x900) + 27):
      81      return "Sharpness";
      82    case ((0x00980000 | 0x900) + 28):
      83      return "Backlight Compensation";
      84    case ((0x00980000 | 0x900) + 29):
      85      return "Chroma AGC";
      86    case ((0x00980000 | 0x900) + 30):
      87      return "Color Killer";
      88    case ((0x00980000 | 0x900) + 31):
      89      return "Color Effects";
      90    case ((0x00980000 | 0x900) + 32):
      91      return "Brightness, Automatic";
      92    case ((0x00980000 | 0x900) + 33):
      93      return "Band-Stop Filter";
      94    case ((0x00980000 | 0x900) + 34):
      95      return "Rotate";
      96    case ((0x00980000 | 0x900) + 35):
      97      return "Background Color";
      98    case ((0x00980000 | 0x900) + 36):
      99      return "Chroma Gain";
     100    case ((0x00980000 | 0x900) + 37):
     101      return "Illuminator 1";
     102    case ((0x00980000 | 0x900) + 38):
     103      return "Illuminator 2";
     104    case ((0x00980000 | 0x900) + 39):
     105      return "Min Number of Capture Buffers";
     106    case ((0x00980000 | 0x900) + 40):
     107      return "Min Number of Output Buffers";
     108    case ((0x00980000 | 0x900) + 41):
     109      return "Alpha Component";
     110    case ((0x00980000 | 0x900) + 42):
     111      return "Color Effects, CbCr";
     112    case (0x00990000 | 1):
     113      return "Codec Controls";
     114    case ((0x00990000 | 0x900) + 0):
     115      return "Stream Type";
     116    case ((0x00990000 | 0x900) + 1):
     117      return "Stream PMT Program ID";
     118    case ((0x00990000 | 0x900) + 2):
     119      return "Stream Audio Program ID";
     120    case ((0x00990000 | 0x900) + 3):
     121      return "Stream Video Program ID";
     122    case ((0x00990000 | 0x900) + 4):
     123      return "Stream PCR Program ID";
     124    case ((0x00990000 | 0x900) + 5):
     125      return "Stream PES Audio ID";
     126    case ((0x00990000 | 0x900) + 6):
     127      return "Stream PES Video ID";
     128    case ((0x00990000 | 0x900) + 7):
     129      return "Stream VBI Format";
     130    case ((0x00990000 | 0x900) + 100):
     131      return "Audio Sampling Frequency";
     132    case ((0x00990000 | 0x900) + 101):
     133      return "Audio Encoding";
     134    case ((0x00990000 | 0x900) + 102):
     135      return "Audio Layer I Bitrate";
     136    case ((0x00990000 | 0x900) + 103):
     137      return "Audio Layer II Bitrate";
     138    case ((0x00990000 | 0x900) + 104):
     139      return "Audio Layer III Bitrate";
     140    case ((0x00990000 | 0x900) + 105):
     141      return "Audio Stereo Mode";
     142    case ((0x00990000 | 0x900) + 106):
     143      return "Audio Stereo Mode Extension";
     144    case ((0x00990000 | 0x900) + 107):
     145      return "Audio Emphasis";
     146    case ((0x00990000 | 0x900) + 108):
     147      return "Audio CRC";
     148    case ((0x00990000 | 0x900) + 109):
     149      return "Audio Mute";
     150    case ((0x00990000 | 0x900) + 110):
     151      return "Audio AAC Bitrate";
     152    case ((0x00990000 | 0x900) + 111):
     153      return "Audio AC-3 Bitrate";
     154    case ((0x00990000 | 0x900) + 112):
     155      return "Audio Playback";
     156    case ((0x00990000 | 0x900) + 113):
     157      return "Audio Multilingual Playback";
     158    case ((0x00990000 | 0x900) + 200):
     159      return "Video Encoding";
     160    case ((0x00990000 | 0x900) + 201):
     161      return "Video Aspect";
     162    case ((0x00990000 | 0x900) + 202):
     163      return "Video B Frames";
     164    case ((0x00990000 | 0x900) + 203):
     165      return "Video GOP Size";
     166    case ((0x00990000 | 0x900) + 204):
     167      return "Video GOP Closure";
     168    case ((0x00990000 | 0x900) + 205):
     169      return "Video Pulldown";
     170    case ((0x00990000 | 0x900) + 206):
     171      return "Video Bitrate Mode";
     172    case ((0x00990000 | 0x900) + 207):
     173      return "Video Bitrate";
     174    case ((0x00990000 | 0x900) + 208):
     175      return "Video Peak Bitrate";
     176    case ((0x00990000 | 0x900) + 209):
     177      return "Video Temporal Decimation";
     178    case ((0x00990000 | 0x900) + 210):
     179      return "Video Mute";
     180    case ((0x00990000 | 0x900) + 211):
     181      return "Video Mute YUV";
     182    case ((0x00990000 | 0x900) + 212):
     183      return "Decoder Slice Interface";
     184    case ((0x00990000 | 0x900) + 213):
     185      return "MPEG4 Loop Filter Enable";
     186    case ((0x00990000 | 0x900) + 214):
     187      return "Number of Intra Refresh MBs";
     188    case ((0x00990000 | 0x900) + 215):
     189      return "Frame Level Rate Control Enable";
     190    case ((0x00990000 | 0x900) + 218):
     191      return "H264 MB Level Rate Control";
     192    case ((0x00990000 | 0x900) + 216):
     193      return "Sequence Header Mode";
     194    case ((0x00990000 | 0x900) + 217):
     195      return "Max Number of Reference Pics";
     196    case ((0x00990000 | 0x900) + 300):
     197      return "H263 I-Frame QP Value";
     198    case ((0x00990000 | 0x900) + 301):
     199      return "H263 P-Frame QP Value";
     200    case ((0x00990000 | 0x900) + 302):
     201      return "H263 B-Frame QP Value";
     202    case ((0x00990000 | 0x900) + 303):
     203      return "H263 Minimum QP Value";
     204    case ((0x00990000 | 0x900) + 304):
     205      return "H263 Maximum QP Value";
     206    case ((0x00990000 | 0x900) + 350):
     207      return "H264 I-Frame QP Value";
     208    case ((0x00990000 | 0x900) + 351):
     209      return "H264 P-Frame QP Value";
     210    case ((0x00990000 | 0x900) + 352):
     211      return "H264 B-Frame QP Value";
     212    case ((0x00990000 | 0x900) + 354):
     213      return "H264 Maximum QP Value";
     214    case ((0x00990000 | 0x900) + 353):
     215      return "H264 Minimum QP Value";
     216    case ((0x00990000 | 0x900) + 355):
     217      return "H264 8x8 Transform Enable";
     218    case ((0x00990000 | 0x900) + 356):
     219      return "H264 CPB Buffer Size";
     220    case ((0x00990000 | 0x900) + 357):
     221      return "H264 Entropy Mode";
     222    case ((0x00990000 | 0x900) + 358):
     223      return "H264 I-Frame Period";
     224    case ((0x00990000 | 0x900) + 359):
     225      return "H264 Level";
     226    case ((0x00990000 | 0x900) + 360):
     227      return "H264 Loop Filter Alpha Offset";
     228    case ((0x00990000 | 0x900) + 361):
     229      return "H264 Loop Filter Beta Offset";
     230    case ((0x00990000 | 0x900) + 362):
     231      return "H264 Loop Filter Mode";
     232    case ((0x00990000 | 0x900) + 363):
     233      return "H264 Profile";
     234    case ((0x00990000 | 0x900) + 364):
     235      return "Vertical Size of SAR";
     236    case ((0x00990000 | 0x900) + 365):
     237      return "Horizontal Size of SAR";
     238    case ((0x00990000 | 0x900) + 366):
     239      return "Aspect Ratio VUI Enable";
     240    case ((0x00990000 | 0x900) + 367):
     241      return "VUI Aspect Ratio IDC";
     242    case ((0x00990000 | 0x900) + 368):
     243      return "H264 Enable Frame Packing SEI";
     244    case ((0x00990000 | 0x900) + 369):
     245      return "H264 Set Curr. Frame as Frame0";
     246    case ((0x00990000 | 0x900) + 370):
     247      return "H264 FP Arrangement Type";
     248    case ((0x00990000 | 0x900) + 371):
     249      return "H264 Flexible MB Ordering";
     250    case ((0x00990000 | 0x900) + 372):
     251      return "H264 Map Type for FMO";
     252    case ((0x00990000 | 0x900) + 373):
     253      return "H264 FMO Number of Slice Groups";
     254    case ((0x00990000 | 0x900) + 374):
     255      return "H264 FMO Direction of Change";
     256    case ((0x00990000 | 0x900) + 375):
     257      return "H264 FMO Size of 1st Slice Grp";
     258    case ((0x00990000 | 0x900) + 376):
     259      return "H264 FMO No. of Consecutive MBs";
     260    case ((0x00990000 | 0x900) + 377):
     261      return "H264 Arbitrary Slice Ordering";
     262    case ((0x00990000 | 0x900) + 378):
     263      return "H264 ASO Slice Order";
     264    case ((0x00990000 | 0x900) + 379):
     265      return "Enable H264 Hierarchical Coding";
     266    case ((0x00990000 | 0x900) + 380):
     267      return "H264 Hierarchical Coding Type";
     268    case ((0x00990000 | 0x900) + 381):
     269      return "H264 Number of HC Layers";
     270    case ((0x00990000 | 0x900) + 382):
     271      return "H264 Set QP Value for HC Layers";
     272    case ((0x00990000 | 0x900) + 383):
     273      return "H264 Constrained Intra Pred";
     274    case ((0x00990000 | 0x900) + 384):
     275      return "H264 Chroma QP Index Offset";
     276    case ((0x00990000 | 0x900) + 385):
     277      return "H264 I-Frame Minimum QP Value";
     278    case ((0x00990000 | 0x900) + 386):
     279      return "H264 I-Frame Maximum QP Value";
     280    case ((0x00990000 | 0x900) + 387):
     281      return "H264 P-Frame Minimum QP Value";
     282    case ((0x00990000 | 0x900) + 388):
     283      return "H264 P-Frame Maximum QP Value";
     284    case ((0x00990000 | 0x900) + 1000):
     285      return "H264 Sequence Parameter Set";
     286    case ((0x00990000 | 0x900) + 1001):
     287      return "H264 Picture Parameter Set";
     288    case ((0x00990000 | 0x900) + 1002):
     289      return "H264 Scaling Matrix";
     290    case ((0x00990000 | 0x900) + 1003):
     291      return "H264 Slice Parameters";
     292    case ((0x00990000 | 0x900) + 1004):
     293      return "H264 Decode Parameters";
     294    case ((0x00990000 | 0x900) + 1005):
     295      return "H264 Decode Mode";
     296    case ((0x00990000 | 0x900) + 1006):
     297      return "H264 Start Code";
     298    case ((0x00990000 | 0x900) + 270):
     299      return "MPEG2 Level";
     300    case ((0x00990000 | 0x900) + 271):
     301      return "MPEG2 Profile";
     302    case ((0x00990000 | 0x900) + 400):
     303      return "MPEG4 I-Frame QP Value";
     304    case ((0x00990000 | 0x900) + 401):
     305      return "MPEG4 P-Frame QP Value";
     306    case ((0x00990000 | 0x900) + 402):
     307      return "MPEG4 B-Frame QP Value";
     308    case ((0x00990000 | 0x900) + 403):
     309      return "MPEG4 Minimum QP Value";
     310    case ((0x00990000 | 0x900) + 404):
     311      return "MPEG4 Maximum QP Value";
     312    case ((0x00990000 | 0x900) + 405):
     313      return "MPEG4 Level";
     314    case ((0x00990000 | 0x900) + 406):
     315      return "MPEG4 Profile";
     316    case ((0x00990000 | 0x900) + 407):
     317      return "Quarter Pixel Search Enable";
     318    case ((0x00990000 | 0x900) + 219):
     319      return "Maximum Bytes in a Slice";
     320    case ((0x00990000 | 0x900) + 220):
     321      return "Number of MBs in a Slice";
     322    case ((0x00990000 | 0x900) + 221):
     323      return "Slice Partitioning Method";
     324    case ((0x00990000 | 0x900) + 222):
     325      return "VBV Buffer Size";
     326    case ((0x00990000 | 0x900) + 223):
     327      return "Video Decoder PTS";
     328    case ((0x00990000 | 0x900) + 224):
     329      return "Video Decoder Frame Count";
     330    case ((0x00990000 | 0x900) + 225):
     331      return "Initial Delay for VBV Control";
     332    case ((0x00990000 | 0x900) + 227):
     333      return "Horizontal MV Search Range";
     334    case ((0x00990000 | 0x900) + 228):
     335      return "Vertical MV Search Range";
     336    case ((0x00990000 | 0x900) + 226):
     337      return "Repeat Sequence Header";
     338    case ((0x00990000 | 0x900) + 229):
     339      return "Force Key Frame";
     340    case ((0x00990000 | 0x900) + 250):
     341      return "MPEG-2 Slice Parameters";
     342    case ((0x00990000 | 0x900) + 251):
     343      return "MPEG-2 Quantization Matrices";
     344    case ((0x00990000 | 0x900) + 292):
     345      return "FWHT Stateless Parameters";
     346    case ((0x00990000 | 0x900) + 290):
     347      return "FWHT I-Frame QP Value";
     348    case ((0x00990000 | 0x900) + 291):
     349      return "FWHT P-Frame QP Value";
     350  
     351    case ((0x00990000 | 0x900) + 500):
     352      return "VPX Number of Partitions";
     353    case ((0x00990000 | 0x900) + 501):
     354      return "VPX Intra Mode Decision Disable";
     355    case ((0x00990000 | 0x900) + 502):
     356      return "VPX No. of Refs for P Frame";
     357    case ((0x00990000 | 0x900) + 503):
     358      return "VPX Loop Filter Level Range";
     359    case ((0x00990000 | 0x900) + 504):
     360      return "VPX Deblocking Effect Control";
     361    case ((0x00990000 | 0x900) + 505):
     362      return "VPX Golden Frame Refresh Period";
     363    case ((0x00990000 | 0x900) + 506):
     364      return "VPX Golden Frame Indicator";
     365    case ((0x00990000 | 0x900) + 507):
     366      return "VPX Minimum QP Value";
     367    case ((0x00990000 | 0x900) + 508):
     368      return "VPX Maximum QP Value";
     369    case ((0x00990000 | 0x900) + 509):
     370      return "VPX I-Frame QP Value";
     371    case ((0x00990000 | 0x900) + 510):
     372      return "VPX P-Frame QP Value";
     373    case ((0x00990000 | 0x900) + 511):
     374      return "VP8 Profile";
     375    case ((0x00990000 | 0x900) + 512):
     376      return "VP9 Profile";
     377    case ((0x00990000 | 0x900) + 2000):
     378      return "VP8 Frame Header";
     379  
     380    case ((0x00990000 | 0x900) + 602):
     381      return "HEVC I-Frame QP Value";
     382    case ((0x00990000 | 0x900) + 603):
     383      return "HEVC P-Frame QP Value";
     384    case ((0x00990000 | 0x900) + 604):
     385      return "HEVC B-Frame QP Value";
     386    case ((0x00990000 | 0x900) + 600):
     387      return "HEVC Minimum QP Value";
     388    case ((0x00990000 | 0x900) + 601):
     389      return "HEVC Maximum QP Value";
     390    case ((0x00990000 | 0x900) + 615):
     391      return "HEVC Profile";
     392    case ((0x00990000 | 0x900) + 616):
     393      return "HEVC Level";
     394    case ((0x00990000 | 0x900) + 618):
     395      return "HEVC Tier";
     396    case ((0x00990000 | 0x900) + 617):
     397      return "HEVC Frame Rate Resolution";
     398    case ((0x00990000 | 0x900) + 619):
     399      return "HEVC Maximum Coding Unit Depth";
     400    case ((0x00990000 | 0x900) + 623):
     401      return "HEVC Refresh Type";
     402    case ((0x00990000 | 0x900) + 626):
     403      return "HEVC Constant Intra Prediction";
     404    case ((0x00990000 | 0x900) + 625):
     405      return "HEVC Lossless Encoding";
     406    case ((0x00990000 | 0x900) + 627):
     407      return "HEVC Wavefront";
     408    case ((0x00990000 | 0x900) + 620):
     409      return "HEVC Loop Filter";
     410    case ((0x00990000 | 0x900) + 605):
     411      return "HEVC QP Values";
     412    case ((0x00990000 | 0x900) + 606):
     413      return "HEVC Hierarchical Coding Type";
     414    case ((0x00990000 | 0x900) + 607):
     415      return "HEVC Hierarchical Coding Layer";
     416    case ((0x00990000 | 0x900) + 608):
     417      return "HEVC Hierarchical Layer 0 QP";
     418    case ((0x00990000 | 0x900) + 609):
     419      return "HEVC Hierarchical Layer 1 QP";
     420    case ((0x00990000 | 0x900) + 610):
     421      return "HEVC Hierarchical Layer 2 QP";
     422    case ((0x00990000 | 0x900) + 611):
     423      return "HEVC Hierarchical Layer 3 QP";
     424    case ((0x00990000 | 0x900) + 612):
     425      return "HEVC Hierarchical Layer 4 QP";
     426    case ((0x00990000 | 0x900) + 613):
     427      return "HEVC Hierarchical Layer 5 QP";
     428    case ((0x00990000 | 0x900) + 614):
     429      return "HEVC Hierarchical Layer 6 QP";
     430    case ((0x00990000 | 0x900) + 636):
     431      return "HEVC Hierarchical Lay 0 BitRate";
     432    case ((0x00990000 | 0x900) + 637):
     433      return "HEVC Hierarchical Lay 1 BitRate";
     434    case ((0x00990000 | 0x900) + 638):
     435      return "HEVC Hierarchical Lay 2 BitRate";
     436    case ((0x00990000 | 0x900) + 639):
     437      return "HEVC Hierarchical Lay 3 BitRate";
     438    case ((0x00990000 | 0x900) + 640):
     439      return "HEVC Hierarchical Lay 4 BitRate";
     440    case ((0x00990000 | 0x900) + 641):
     441      return "HEVC Hierarchical Lay 5 BitRate";
     442    case ((0x00990000 | 0x900) + 642):
     443      return "HEVC Hierarchical Lay 6 BitRate";
     444    case ((0x00990000 | 0x900) + 628):
     445      return "HEVC General PB";
     446    case ((0x00990000 | 0x900) + 629):
     447      return "HEVC Temporal ID";
     448    case ((0x00990000 | 0x900) + 630):
     449      return "HEVC Strong Intra Smoothing";
     450    case ((0x00990000 | 0x900) + 632):
     451      return "HEVC Intra PU Split";
     452    case ((0x00990000 | 0x900) + 633):
     453      return "HEVC TMV Prediction";
     454    case ((0x00990000 | 0x900) + 631):
     455      return "HEVC Max Num of Candidate MVs";
     456    case ((0x00990000 | 0x900) + 634):
     457      return "HEVC ENC Without Startcode";
     458    case ((0x00990000 | 0x900) + 624):
     459      return "HEVC Num of I-Frame b/w 2 IDR";
     460    case ((0x00990000 | 0x900) + 621):
     461      return "HEVC Loop Filter Beta Offset";
     462    case ((0x00990000 | 0x900) + 622):
     463      return "HEVC Loop Filter TC Offset";
     464    case ((0x00990000 | 0x900) + 635):
     465      return "HEVC Size of Length Field";
     466    case ((0x00990000 | 0x900) + 643):
     467      return "Reference Frames for a P-Frame";
     468    case ((0x00990000 | 0x900) + 644):
     469      return "Prepend SPS and PPS to IDR";
     470    case ((0x00990000 | 0x900) + 1008):
     471      return "HEVC Sequence Parameter Set";
     472    case ((0x00990000 | 0x900) + 1009):
     473      return "HEVC Picture Parameter Set";
     474    case ((0x00990000 | 0x900) + 1010):
     475      return "HEVC Slice Parameters";
     476    case ((0x00990000 | 0x900) + 1015):
     477      return "HEVC Decode Mode";
     478    case ((0x00990000 | 0x900) + 1016):
     479      return "HEVC Start Code";
     480  
     481    case (0x009a0000 | 1):
     482      return "Camera Controls";
     483    case ((0x009a0000 | 0x900) + 1):
     484      return "Auto Exposure";
     485    case ((0x009a0000 | 0x900) + 2):
     486      return "Exposure Time, Absolute";
     487    case ((0x009a0000 | 0x900) + 3):
     488      return "Exposure, Dynamic Framerate";
     489    case ((0x009a0000 | 0x900) + 4):
     490      return "Pan, Relative";
     491    case ((0x009a0000 | 0x900) + 5):
     492      return "Tilt, Relative";
     493    case ((0x009a0000 | 0x900) + 6):
     494      return "Pan, Reset";
     495    case ((0x009a0000 | 0x900) + 7):
     496      return "Tilt, Reset";
     497    case ((0x009a0000 | 0x900) + 8):
     498      return "Pan, Absolute";
     499    case ((0x009a0000 | 0x900) + 9):
     500      return "Tilt, Absolute";
     501    case ((0x009a0000 | 0x900) + 10):
     502      return "Focus, Absolute";
     503    case ((0x009a0000 | 0x900) + 11):
     504      return "Focus, Relative";
     505    case ((0x009a0000 | 0x900) + 12):
     506      return "Focus, Automatic Continuous";
     507    case ((0x009a0000 | 0x900) + 13):
     508      return "Zoom, Absolute";
     509    case ((0x009a0000 | 0x900) + 14):
     510      return "Zoom, Relative";
     511    case ((0x009a0000 | 0x900) + 15):
     512      return "Zoom, Continuous";
     513    case ((0x009a0000 | 0x900) + 16):
     514      return "Privacy";
     515    case ((0x009a0000 | 0x900) + 17):
     516      return "Iris, Absolute";
     517    case ((0x009a0000 | 0x900) + 18):
     518      return "Iris, Relative";
     519    case ((0x009a0000 | 0x900) + 19):
     520      return "Auto Exposure, Bias";
     521    case ((0x009a0000 | 0x900) + 20):
     522      return "White Balance, Auto & Preset";
     523    case ((0x009a0000 | 0x900) + 21):
     524      return "Wide Dynamic Range";
     525    case ((0x009a0000 | 0x900) + 22):
     526      return "Image Stabilization";
     527    case ((0x009a0000 | 0x900) + 23):
     528      return "ISO Sensitivity";
     529    case ((0x009a0000 | 0x900) + 24):
     530      return "ISO Sensitivity, Auto";
     531    case ((0x009a0000 | 0x900) + 25):
     532      return "Exposure, Metering Mode";
     533    case ((0x009a0000 | 0x900) + 26):
     534      return "Scene Mode";
     535    case ((0x009a0000 | 0x900) + 27):
     536      return "3A Lock";
     537    case ((0x009a0000 | 0x900) + 28):
     538      return "Auto Focus, Start";
     539    case ((0x009a0000 | 0x900) + 29):
     540      return "Auto Focus, Stop";
     541    case ((0x009a0000 | 0x900) + 30):
     542      return "Auto Focus, Status";
     543    case ((0x009a0000 | 0x900) + 31):
     544      return "Auto Focus, Range";
     545    case ((0x009a0000 | 0x900) + 32):
     546      return "Pan, Speed";
     547    case ((0x009a0000 | 0x900) + 33):
     548      return "Tilt, Speed";
     549    case ((0x009e0000 | 0x900) + 8):
     550      return "Unit Cell Size";
     551    case ((0x009a0000 | 0x900) + 34):
     552      return "Camera Orientation";
     553    case ((0x009a0000 | 0x900) + 35):
     554      return "Camera Sensor Rotation";
     555  
     556    case (0x009b0000 | 1):
     557      return "FM Radio Modulator Controls";
     558    case ((0x009b0000 | 0x900) + 1):
     559      return "RDS Signal Deviation";
     560    case ((0x009b0000 | 0x900) + 2):
     561      return "RDS Program ID";
     562    case ((0x009b0000 | 0x900) + 3):
     563      return "RDS Program Type";
     564    case ((0x009b0000 | 0x900) + 5):
     565      return "RDS PS Name";
     566    case ((0x009b0000 | 0x900) + 6):
     567      return "RDS Radio Text";
     568    case ((0x009b0000 | 0x900) + 7):
     569      return "RDS Stereo";
     570    case ((0x009b0000 | 0x900) + 8):
     571      return "RDS Artificial Head";
     572    case ((0x009b0000 | 0x900) + 9):
     573      return "RDS Compressed";
     574    case ((0x009b0000 | 0x900) + 10):
     575      return "RDS Dynamic PTY";
     576    case ((0x009b0000 | 0x900) + 11):
     577      return "RDS Traffic Announcement";
     578    case ((0x009b0000 | 0x900) + 12):
     579      return "RDS Traffic Program";
     580    case ((0x009b0000 | 0x900) + 13):
     581      return "RDS Music";
     582    case ((0x009b0000 | 0x900) + 14):
     583      return "RDS Enable Alt Frequencies";
     584    case ((0x009b0000 | 0x900) + 15):
     585      return "RDS Alternate Frequencies";
     586    case ((0x009b0000 | 0x900) + 64):
     587      return "Audio Limiter Feature Enabled";
     588    case ((0x009b0000 | 0x900) + 65):
     589      return "Audio Limiter Release Time";
     590    case ((0x009b0000 | 0x900) + 66):
     591      return "Audio Limiter Deviation";
     592    case ((0x009b0000 | 0x900) + 80):
     593      return "Audio Compression Enabled";
     594    case ((0x009b0000 | 0x900) + 81):
     595      return "Audio Compression Gain";
     596    case ((0x009b0000 | 0x900) + 82):
     597      return "Audio Compression Threshold";
     598    case ((0x009b0000 | 0x900) + 83):
     599      return "Audio Compression Attack Time";
     600    case ((0x009b0000 | 0x900) + 84):
     601      return "Audio Compression Release Time";
     602    case ((0x009b0000 | 0x900) + 96):
     603      return "Pilot Tone Feature Enabled";
     604    case ((0x009b0000 | 0x900) + 97):
     605      return "Pilot Tone Deviation";
     606    case ((0x009b0000 | 0x900) + 98):
     607      return "Pilot Tone Frequency";
     608    case ((0x009b0000 | 0x900) + 112):
     609      return "Pre-Emphasis";
     610    case ((0x009b0000 | 0x900) + 113):
     611      return "Tune Power Level";
     612    case ((0x009b0000 | 0x900) + 114):
     613      return "Tune Antenna Capacitor";
     614  
     615    case (0x009c0000 | 1):
     616      return "Flash Controls";
     617    case ((0x009c0000 | 0x900) + 1):
     618      return "LED Mode";
     619    case ((0x009c0000 | 0x900) + 2):
     620      return "Strobe Source";
     621    case ((0x009c0000 | 0x900) + 3):
     622      return "Strobe";
     623    case ((0x009c0000 | 0x900) + 4):
     624      return "Stop Strobe";
     625    case ((0x009c0000 | 0x900) + 5):
     626      return "Strobe Status";
     627    case ((0x009c0000 | 0x900) + 6):
     628      return "Strobe Timeout";
     629    case ((0x009c0000 | 0x900) + 7):
     630      return "Intensity, Flash Mode";
     631    case ((0x009c0000 | 0x900) + 8):
     632      return "Intensity, Torch Mode";
     633    case ((0x009c0000 | 0x900) + 9):
     634      return "Intensity, Indicator";
     635    case ((0x009c0000 | 0x900) + 10):
     636      return "Faults";
     637    case ((0x009c0000 | 0x900) + 11):
     638      return "Charge";
     639    case ((0x009c0000 | 0x900) + 12):
     640      return "Ready to Strobe";
     641  
     642    case (0x009d0000 | 1):
     643      return "JPEG Compression Controls";
     644    case ((0x009d0000 | 0x900) + 1):
     645      return "Chroma Subsampling";
     646    case ((0x009d0000 | 0x900) + 2):
     647      return "Restart Interval";
     648    case ((0x009d0000 | 0x900) + 3):
     649      return "Compression Quality";
     650    case ((0x009d0000 | 0x900) + 4):
     651      return "Active Markers";
     652  
     653    case (0x009e0000 | 1):
     654      return "Image Source Controls";
     655    case ((0x009e0000 | 0x900) + 1):
     656      return "Vertical Blanking";
     657    case ((0x009e0000 | 0x900) + 2):
     658      return "Horizontal Blanking";
     659    case ((0x009e0000 | 0x900) + 3):
     660      return "Analogue Gain";
     661    case ((0x009e0000 | 0x900) + 4):
     662      return "Red Pixel Value";
     663    case ((0x009e0000 | 0x900) + 5):
     664      return "Green (Red) Pixel Value";
     665    case ((0x009e0000 | 0x900) + 6):
     666      return "Blue Pixel Value";
     667    case ((0x009e0000 | 0x900) + 7):
     668      return "Green (Blue) Pixel Value";
     669  
     670    case (0x009f0000 | 1):
     671      return "Image Processing Controls";
     672    case ((0x009f0000 | 0x900) + 1):
     673      return "Link Frequency";
     674    case ((0x009f0000 | 0x900) + 2):
     675      return "Pixel Rate";
     676    case ((0x009f0000 | 0x900) + 3):
     677      return "Test Pattern";
     678    case ((0x009f0000 | 0x900) + 4):
     679      return "Deinterlacing Mode";
     680    case ((0x009f0000 | 0x900) + 5):
     681      return "Digital Gain";
     682  
     683    case (0x00a00000 | 1):
     684      return "Digital Video Controls";
     685    case ((0x00a00000 | 0x900) + 1):
     686      return "Hotplug Present";
     687    case ((0x00a00000 | 0x900) + 2):
     688      return "RxSense Present";
     689    case ((0x00a00000 | 0x900) + 3):
     690      return "EDID Present";
     691    case ((0x00a00000 | 0x900) + 4):
     692      return "Transmit Mode";
     693    case ((0x00a00000 | 0x900) + 5):
     694      return "Tx RGB Quantization Range";
     695    case ((0x00a00000 | 0x900) + 6):
     696      return "Tx IT Content Type";
     697    case ((0x00a00000 | 0x900) + 100):
     698      return "Power Present";
     699    case ((0x00a00000 | 0x900) + 101):
     700      return "Rx RGB Quantization Range";
     701    case ((0x00a00000 | 0x900) + 102):
     702      return "Rx IT Content Type";
     703  
     704    case (0x00a10000 | 1):
     705      return "FM Radio Receiver Controls";
     706    case ((0x00a10000 | 0x900) + 1):
     707      return "De-Emphasis";
     708    case ((0x00a10000 | 0x900) + 2):
     709      return "RDS Reception";
     710    case (0x00a20000 | 1):
     711      return "RF Tuner Controls";
     712    case ((0x00a20000 | 0x900) + 32):
     713      return "RF Gain";
     714    case ((0x00a20000 | 0x900) + 41):
     715      return "LNA Gain, Auto";
     716    case ((0x00a20000 | 0x900) + 42):
     717      return "LNA Gain";
     718    case ((0x00a20000 | 0x900) + 51):
     719      return "Mixer Gain, Auto";
     720    case ((0x00a20000 | 0x900) + 52):
     721      return "Mixer Gain";
     722    case ((0x00a20000 | 0x900) + 61):
     723      return "IF Gain, Auto";
     724    case ((0x00a20000 | 0x900) + 62):
     725      return "IF Gain";
     726    case ((0x00a20000 | 0x900) + 11):
     727      return "Bandwidth, Auto";
     728    case ((0x00a20000 | 0x900) + 12):
     729      return "Bandwidth";
     730    case ((0x00a20000 | 0x900) + 91):
     731      return "PLL Lock";
     732    case ((0x00a10000 | 0x900) + 3):
     733      return "RDS Program Type";
     734    case ((0x00a10000 | 0x900) + 4):
     735      return "RDS PS Name";
     736    case ((0x00a10000 | 0x900) + 5):
     737      return "RDS Radio Text";
     738    case ((0x00a10000 | 0x900) + 6):
     739      return "RDS Traffic Announcement";
     740    case ((0x00a10000 | 0x900) + 7):
     741      return "RDS Traffic Program";
     742    case ((0x00a10000 | 0x900) + 8):
     743      return "RDS Music";
     744  
     745    case (0x00a30000 | 1):
     746      return "Detection Controls";
     747    case ((0x00a30000 | 0x900) + 1):
     748      return "Motion Detection Mode";
     749    case ((0x00a30000 | 0x900) + 2):
     750      return "MD Global Threshold";
     751    case ((0x00a30000 | 0x900) + 3):
     752      return "MD Threshold Grid";
     753    case ((0x00a30000 | 0x900) + 4):
     754      return "MD Region Grid";
     755    default:
     756      return ((void *)0);
     757    }
     758  }
     759  
     760  void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
     761                      s64 *min, s64 *max, u64 *step, s64 *def, u32 *flags) {
     762    *name = v4l2_ctrl_get_name(id);
     763    *flags = 0;
     764  
     765    switch (id) {
     766    case ((0x00980000 | 0x900) + 9):
     767    case ((0x00980000 | 0x900) + 10):
     768    case ((0x00980000 | 0x900) + 12):
     769    case ((0x00980000 | 0x900) + 18):
     770    case ((0x00980000 | 0x900) + 20):
     771    case ((0x00980000 | 0x900) + 21):
     772    case ((0x00980000 | 0x900) + 25):
     773    case ((0x00980000 | 0x900) + 29):
     774    case ((0x00980000 | 0x900) + 30):
     775    case ((0x00980000 | 0x900) + 32):
     776    case ((0x00990000 | 0x900) + 109):
     777    case ((0x00990000 | 0x900) + 210):
     778    case ((0x00990000 | 0x900) + 204):
     779    case ((0x00990000 | 0x900) + 205):
     780    case ((0x009a0000 | 0x900) + 3):
     781    case ((0x009a0000 | 0x900) + 12):
     782    case ((0x009a0000 | 0x900) + 16):
     783    case ((0x009b0000 | 0x900) + 64):
     784    case ((0x009b0000 | 0x900) + 80):
     785    case ((0x009b0000 | 0x900) + 96):
     786    case ((0x00980000 | 0x900) + 37):
     787    case ((0x00980000 | 0x900) + 38):
     788    case ((0x009c0000 | 0x900) + 5):
     789    case ((0x009c0000 | 0x900) + 11):
     790    case ((0x009c0000 | 0x900) + 12):
     791    case ((0x00990000 | 0x900) + 213):
     792    case ((0x00990000 | 0x900) + 212):
     793    case ((0x00990000 | 0x900) + 215):
     794    case ((0x00990000 | 0x900) + 218):
     795    case ((0x00990000 | 0x900) + 355):
     796    case ((0x00990000 | 0x900) + 366):
     797    case ((0x00990000 | 0x900) + 407):
     798    case ((0x00990000 | 0x900) + 226):
     799    case ((0x009a0000 | 0x900) + 21):
     800    case ((0x009a0000 | 0x900) + 22):
     801    case ((0x00a10000 | 0x900) + 2):
     802    case ((0x00a20000 | 0x900) + 41):
     803    case ((0x00a20000 | 0x900) + 51):
     804    case ((0x00a20000 | 0x900) + 61):
     805    case ((0x00a20000 | 0x900) + 11):
     806    case ((0x00a20000 | 0x900) + 91):
     807    case ((0x009b0000 | 0x900) + 7):
     808    case ((0x009b0000 | 0x900) + 8):
     809    case ((0x009b0000 | 0x900) + 9):
     810    case ((0x009b0000 | 0x900) + 10):
     811    case ((0x009b0000 | 0x900) + 11):
     812    case ((0x009b0000 | 0x900) + 12):
     813    case ((0x009b0000 | 0x900) + 13):
     814    case ((0x009b0000 | 0x900) + 14):
     815    case ((0x00a10000 | 0x900) + 6):
     816    case ((0x00a10000 | 0x900) + 7):
     817    case ((0x00a10000 | 0x900) + 8):
     818      *type = V4L2_CTRL_TYPE_BOOLEAN;
     819      *min = 0;
     820      *max = *step = 1;
     821      break;
     822    case ((0x00980000 | 0x900) + 34):
     823      *type = V4L2_CTRL_TYPE_INTEGER;
     824      *flags |= 0x0400;
     825      break;
     826    case ((0x00990000 | 0x900) + 227):
     827    case ((0x00990000 | 0x900) + 228):
     828      *type = V4L2_CTRL_TYPE_INTEGER;
     829      break;
     830    case ((0x00990000 | 0x900) + 229):
     831    case ((0x009a0000 | 0x900) + 6):
     832    case ((0x009a0000 | 0x900) + 7):
     833    case ((0x009c0000 | 0x900) + 3):
     834    case ((0x009c0000 | 0x900) + 4):
     835    case ((0x009a0000 | 0x900) + 28):
     836    case ((0x009a0000 | 0x900) + 29):
     837    case ((0x00980000 | 0x900) + 13):
     838      *type = V4L2_CTRL_TYPE_BUTTON;
     839      *flags |= 0x0040 | 0x0200;
     840      *min = *max = *step = *def = 0;
     841      break;
     842    case ((0x00980000 | 0x900) + 24):
     843    case ((0x00990000 | 0x900) + 100):
     844    case ((0x00990000 | 0x900) + 101):
     845    case ((0x00990000 | 0x900) + 102):
     846    case ((0x00990000 | 0x900) + 103):
     847    case ((0x00990000 | 0x900) + 104):
     848    case ((0x00990000 | 0x900) + 111):
     849    case ((0x00990000 | 0x900) + 105):
     850    case ((0x00990000 | 0x900) + 106):
     851    case ((0x00990000 | 0x900) + 107):
     852    case ((0x00990000 | 0x900) + 108):
     853    case ((0x00990000 | 0x900) + 112):
     854    case ((0x00990000 | 0x900) + 113):
     855    case ((0x00990000 | 0x900) + 200):
     856    case ((0x00990000 | 0x900) + 201):
     857    case ((0x00990000 | 0x900) + 206):
     858    case ((0x00990000 | 0x900) + 0):
     859    case ((0x00990000 | 0x900) + 7):
     860    case ((0x009a0000 | 0x900) + 1):
     861    case ((0x009a0000 | 0x900) + 31):
     862    case ((0x00980000 | 0x900) + 31):
     863    case ((0x009a0000 | 0x900) + 20):
     864    case ((0x009b0000 | 0x900) + 112):
     865    case ((0x009c0000 | 0x900) + 1):
     866    case ((0x009c0000 | 0x900) + 2):
     867    case ((0x00990000 | 0x900) + 216):
     868    case ((0x00990000 | 0x900) + 221):
     869    case ((0x00990000 | 0x900) + 357):
     870    case ((0x00990000 | 0x900) + 359):
     871    case ((0x00990000 | 0x900) + 362):
     872    case ((0x00990000 | 0x900) + 363):
     873    case ((0x00990000 | 0x900) + 367):
     874    case ((0x00990000 | 0x900) + 370):
     875    case ((0x00990000 | 0x900) + 372):
     876    case ((0x00990000 | 0x900) + 1005):
     877    case ((0x00990000 | 0x900) + 1006):
     878    case ((0x00990000 | 0x900) + 270):
     879    case ((0x00990000 | 0x900) + 271):
     880    case ((0x00990000 | 0x900) + 405):
     881    case ((0x00990000 | 0x900) + 406):
     882    case ((0x009d0000 | 0x900) + 1):
     883    case ((0x009a0000 | 0x900) + 24):
     884    case ((0x009a0000 | 0x900) + 25):
     885    case ((0x009a0000 | 0x900) + 26):
     886    case ((0x00a00000 | 0x900) + 4):
     887    case ((0x00a00000 | 0x900) + 5):
     888    case ((0x00a00000 | 0x900) + 6):
     889    case ((0x00a00000 | 0x900) + 101):
     890    case ((0x00a00000 | 0x900) + 102):
     891    case ((0x009f0000 | 0x900) + 3):
     892    case ((0x009f0000 | 0x900) + 4):
     893    case ((0x00a10000 | 0x900) + 1):
     894    case ((0x00990000 | 0x900) + 506):
     895    case ((0x00990000 | 0x900) + 511):
     896    case ((0x00990000 | 0x900) + 512):
     897    case ((0x00a30000 | 0x900) + 1):
     898    case ((0x00990000 | 0x900) + 615):
     899    case ((0x00990000 | 0x900) + 616):
     900    case ((0x00990000 | 0x900) + 606):
     901    case ((0x00990000 | 0x900) + 623):
     902    case ((0x00990000 | 0x900) + 635):
     903    case ((0x00990000 | 0x900) + 618):
     904    case ((0x00990000 | 0x900) + 620):
     905    case ((0x00990000 | 0x900) + 1015):
     906    case ((0x00990000 | 0x900) + 1016):
     907    case ((0x009a0000 | 0x900) + 34):
     908      *type = V4L2_CTRL_TYPE_MENU;
     909      break;
     910    case ((0x009f0000 | 0x900) + 1):
     911      *type = V4L2_CTRL_TYPE_INTEGER_MENU;
     912      break;
     913    case ((0x009b0000 | 0x900) + 5):
     914    case ((0x009b0000 | 0x900) + 6):
     915    case ((0x00a10000 | 0x900) + 4):
     916    case ((0x00a10000 | 0x900) + 5):
     917      *type = V4L2_CTRL_TYPE_STRING;
     918      break;
     919    case ((0x009a0000 | 0x900) + 23):
     920    case ((0x009a0000 | 0x900) + 19):
     921    case ((0x00990000 | 0x900) + 500):
     922    case ((0x00990000 | 0x900) + 502):
     923      *type = V4L2_CTRL_TYPE_INTEGER_MENU;
     924      break;
     925    case (0x00980000 | 1):
     926    case (0x009a0000 | 1):
     927    case (0x00990000 | 1):
     928    case (0x009b0000 | 1):
     929    case (0x009c0000 | 1):
     930    case (0x009d0000 | 1):
     931    case (0x009e0000 | 1):
     932    case (0x009f0000 | 1):
     933    case (0x00a00000 | 1):
     934    case (0x00a10000 | 1):
     935    case (0x00a20000 | 1):
     936    case (0x00a30000 | 1):
     937      *type = V4L2_CTRL_TYPE_CTRL_CLASS;
     938  
     939      *flags |= 0x0004 | 0x0040;
     940      *min = *max = *step = *def = 0;
     941      break;
     942    case ((0x00980000 | 0x900) + 35):
     943      *type = V4L2_CTRL_TYPE_INTEGER;
     944      *step = 1;
     945      *min = 0;
     946  
     947      *max = 0xFFFFFF;
     948      break;
     949    case ((0x009c0000 | 0x900) + 10):
     950    case ((0x009d0000 | 0x900) + 4):
     951    case ((0x009a0000 | 0x900) + 27):
     952    case ((0x009a0000 | 0x900) + 30):
     953    case ((0x00a00000 | 0x900) + 1):
     954    case ((0x00a00000 | 0x900) + 2):
     955    case ((0x00a00000 | 0x900) + 3):
     956    case ((0x00a00000 | 0x900) + 100):
     957      *type = V4L2_CTRL_TYPE_BITMASK;
     958      break;
     959    case ((0x00980000 | 0x900) + 39):
     960    case ((0x00980000 | 0x900) + 40):
     961      *type = V4L2_CTRL_TYPE_INTEGER;
     962      *flags |= 0x0004;
     963      break;
     964    case ((0x00990000 | 0x900) + 223):
     965      *type = V4L2_CTRL_TYPE_INTEGER64;
     966      *flags |= 0x0080 | 0x0004;
     967      *min = *def = 0;
     968      *max = 0x1ffffffffLL;
     969      *step = 1;
     970      break;
     971    case ((0x00990000 | 0x900) + 224):
     972      *type = V4L2_CTRL_TYPE_INTEGER64;
     973      *flags |= 0x0080 | 0x0004;
     974      *min = *def = 0;
     975      *max = 0x7fffffffffffffffLL;
     976      *step = 1;
     977      break;
     978    case ((0x009f0000 | 0x900) + 2):
     979      *type = V4L2_CTRL_TYPE_INTEGER64;
     980      *flags |= 0x0004;
     981      break;
     982    case ((0x00a30000 | 0x900) + 4):
     983      *type = V4L2_CTRL_TYPE_U8;
     984      break;
     985    case ((0x00a30000 | 0x900) + 3):
     986      *type = V4L2_CTRL_TYPE_U16;
     987      break;
     988    case ((0x009b0000 | 0x900) + 15):
     989      *type = V4L2_CTRL_TYPE_U32;
     990      break;
     991    case ((0x00990000 | 0x900) + 250):
     992      *type = 0x0103;
     993      break;
     994    case ((0x00990000 | 0x900) + 251):
     995      *type = 0x0104;
     996      break;
     997    case ((0x00990000 | 0x900) + 292):
     998      *type = 0x0105;
     999      break;
    1000    case ((0x00990000 | 0x900) + 1000):
    1001      *type = 0x0110;
    1002      break;
    1003    case ((0x00990000 | 0x900) + 1001):
    1004      *type = 0x0111;
    1005      break;
    1006    case ((0x00990000 | 0x900) + 1002):
    1007      *type = 0x0112;
    1008      break;
    1009    case ((0x00990000 | 0x900) + 1003):
    1010      *type = 0x0113;
    1011      break;
    1012    case ((0x00990000 | 0x900) + 1004):
    1013      *type = 0x0114;
    1014      break;
    1015    case ((0x00990000 | 0x900) + 2000):
    1016      *type = 0x301;
    1017      break;
    1018    case ((0x00990000 | 0x900) + 1008):
    1019      *type = 0x0120;
    1020      break;
    1021    case ((0x00990000 | 0x900) + 1009):
    1022      *type = 0x0121;
    1023      break;
    1024    case ((0x00990000 | 0x900) + 1010):
    1025      *type = 0x0122;
    1026      break;
    1027    case ((0x009e0000 | 0x900) + 8):
    1028      *type = V4L2_CTRL_TYPE_AREA;
    1029      *flags |= 0x0004;
    1030      break;
    1031    default:
    1032      *type = V4L2_CTRL_TYPE_INTEGER;
    1033      break;
    1034    }
    1035    switch (id) {
    1036    case ((0x00990000 | 0x900) + 101):
    1037    case ((0x00990000 | 0x900) + 105):
    1038    case ((0x00990000 | 0x900) + 206):
    1039    case ((0x00990000 | 0x900) + 202):
    1040    case ((0x00990000 | 0x900) + 0):
    1041      *flags |= 0x0008;
    1042      break;
    1043    case ((0x00980000 | 0x900) + 5):
    1044    case ((0x00980000 | 0x900) + 6):
    1045    case ((0x00980000 | 0x900) + 7):
    1046    case ((0x00980000 | 0x900) + 8):
    1047    case ((0x00980000 | 0x900) + 0):
    1048    case ((0x00980000 | 0x900) + 1):
    1049    case ((0x00980000 | 0x900) + 2):
    1050    case ((0x00980000 | 0x900) + 3):
    1051    case ((0x00980000 | 0x900) + 14):
    1052    case ((0x00980000 | 0x900) + 15):
    1053    case ((0x00980000 | 0x900) + 16):
    1054    case ((0x00980000 | 0x900) + 27):
    1055    case ((0x00980000 | 0x900) + 36):
    1056    case ((0x009b0000 | 0x900) + 1):
    1057    case ((0x009b0000 | 0x900) + 65):
    1058    case ((0x009b0000 | 0x900) + 66):
    1059    case ((0x009b0000 | 0x900) + 81):
    1060    case ((0x009b0000 | 0x900) + 82):
    1061    case ((0x009b0000 | 0x900) + 83):
    1062    case ((0x009b0000 | 0x900) + 84):
    1063    case ((0x009b0000 | 0x900) + 97):
    1064    case ((0x009b0000 | 0x900) + 98):
    1065    case ((0x009b0000 | 0x900) + 113):
    1066    case ((0x009b0000 | 0x900) + 114):
    1067    case ((0x00a20000 | 0x900) + 32):
    1068    case ((0x00a20000 | 0x900) + 42):
    1069    case ((0x00a20000 | 0x900) + 52):
    1070    case ((0x00a20000 | 0x900) + 62):
    1071    case ((0x00a20000 | 0x900) + 12):
    1072    case ((0x00a30000 | 0x900) + 2):
    1073      *flags |= 0x0020;
    1074      break;
    1075    case ((0x009a0000 | 0x900) + 4):
    1076    case ((0x009a0000 | 0x900) + 5):
    1077    case ((0x009a0000 | 0x900) + 11):
    1078    case ((0x009a0000 | 0x900) + 18):
    1079    case ((0x009a0000 | 0x900) + 14):
    1080      *flags |= 0x0040 | 0x0200;
    1081      break;
    1082    case ((0x009c0000 | 0x900) + 5):
    1083    case ((0x009a0000 | 0x900) + 30):
    1084    case ((0x009c0000 | 0x900) + 12):
    1085    case ((0x00a00000 | 0x900) + 1):
    1086    case ((0x00a00000 | 0x900) + 2):
    1087    case ((0x00a00000 | 0x900) + 3):
    1088    case ((0x00a00000 | 0x900) + 100):
    1089    case ((0x00a00000 | 0x900) + 102):
    1090    case ((0x00a10000 | 0x900) + 3):
    1091    case ((0x00a10000 | 0x900) + 4):
    1092    case ((0x00a10000 | 0x900) + 5):
    1093    case ((0x00a10000 | 0x900) + 6):
    1094    case ((0x00a10000 | 0x900) + 7):
    1095    case ((0x00a10000 | 0x900) + 8):
    1096    case ((0x009a0000 | 0x900) + 34):
    1097    case ((0x009a0000 | 0x900) + 35):
    1098      *flags |= 0x0004;
    1099      break;
    1100    case ((0x00a20000 | 0x900) + 91):
    1101      *flags |= 0x0080;
    1102      break;
    1103    }
    1104  }