• Pantelis Koukousoulas's avatar
    V4L/DVB (5035): Pvrusb2: Enable radio mode round #2 · 25d8527a
    Pantelis Koukousoulas authored
    This is the logic that:
      a) Ensures /sys/class/pvrusb2/sn-*/ctl_frequency/{max,min}_val are
         "automagically" reset to sane values on each mode change.
    
      b) Allows tuning to a radio frequency by something like:
         echo `perl -e "print int(94.9*16000 + 0.5)"` \
           > /sys/class/pvrusb2/sn-*/ctl_input/cur_val
    
    
    The trick was to take advantage of the already existing .get_{min,max}_value
    function pointers in pvr2_ctrl, to "dynamically override" the hardcoded values
    for min/max frequency at runtime.
    
    For a moment I thought to dispose of the hardcoded MIN/MAX_FREQ and use the
    hirange/lowrange fields of the v4l2_tuner struct instead, but then I see that
    tuner-core.c kinda hardcodes these as well, so I decided to not bother.
    Signed-off-by: default avatarPantelis Koukousoulas <pakt223@freemail.gr>
    Signed-off-by: default avatarMike Isely <isely@pobox.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
    25d8527a
pvrusb2-hdw.c 82 KB