• Clemens Ladisch's avatar
    sound: oxygen: handle cards with broken EEPROM · 30459d7b
    Clemens Ladisch authored
    Under as yet unknown circumstances, the first word of the sound card's
    EEPROM gets overwritten.  When this has happened, we cannot rely on the
    subsystem IDs that the kernel reads from the PCI configuration
    registers.  Instead, we read the IDs directly from the EEPROM and do the
    ID matching manually.
    
    Because the model-specific driver cannot determine the model before
    calling oxygen_pci_probe(), that function now gets a get_model()
    callback as parameter.  The customizing of the model structure, which
    was formerly done by the probe() callback, also has moved into
    get_model().
    Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    30459d7b
oxygen_lib.c 21.7 KB