• Stefan Tauner's avatar
    ichspi: use a variable to distinguish ich generations instead of spi_programmer->type · a8d838d9
    Stefan Tauner authored
    
    The type member is enough most of the time to derive the wanted
    information, but
     - not always (e.g. ich_set_bbar),
     - only available after registration, which we want to delay till the
       end of init, and
     - we really want to distinguish between chipset version-grained
       attributes which are not reflected by the registered programmer.
    
    Hence this patch introduces a new static variable which is set up
    early by the init functions and allows us to get rid of all "switch
    (spi_programmer->type)" in ichspi.c. We reuse the enum introduced
    for descriptor mode for the type of the new variable.
    
    Previously magic numbers were passed by chipset_enable wrappers. Now
    they use the enumeration items too. To get this working the enum
    definition had to be moved to programmer.h.
    
    Another noteworthy detail: previously we have checked for a valid
    programmer/ich generation all over the place. I have removed those
    checks and added one single check in the init method. Calling any
    function of a programmer without executing the init method first, is
    undefined behavior.
    
    Corresponding to flashrom svn r1460.
    Signed-off-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
    Acked-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
    a8d838d9
ichspi.c 46.2 KB