• Chris Pascoe's avatar
    V4L/DVB (6646): xc2028: rework firmware (re)loading process · e0f0b37a
    Chris Pascoe authored
    Define a list of valid "firmware types" for each combination of BASE,
    DTV and SCODEs.  By masking the appropriate firmware bits off we can
    just use one "type" for the firmware searching and also flag when we
    are looking for a BASE, DTV or SCODE type firmware.  This makes it
    much easier to track if we need to change device modes or flash an
    individual firmware part.
    
    Add a structure to remember what firmware properties we have.  This
    contains the currently loaded/wanted  base firmware (type), video std
    (id), video std requested (std_req), scode file and number in use.
    
    Incorporate said structure into the tuner private data.
    
    When checking whether the current firmware needs to be reloaded, first
    figure out exactly what "type" of firmware we want (base, std and
    scode), and then proceed to load the appropriate matching base,
    std-specific and scode records iff there are any changes required.
    This removes guesswork from the process because we no longer need to
    individually code a check for every tuning parameter's interactions.
    Signed-off-by: default avatarChris Pascoe <c.pascoe@itee.uq.edu.au>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
    e0f0b37a
tuner-xc2028.c 23 KB