• Daniel Drake's avatar
    [PATCH] zd1211rw: Defer firmware load until first ifup · 74553aed
    Daniel Drake authored
    While playing with the firmware a while back, I discovered a way to
    access the device's entire address space before the firmware has been
    loaded.
    
    Previously we were loading the firmware early on (during probe) so that
    we could read the MAC address from the EEPROM and register a netdevice.
    Now that we can read the EEPROM without having firmware, we can defer
    firmware loading until later while still reading the MAC address early
    on.
    
    This has the advantage that zd1211rw can now be built into the kernel --
    previously if this was the case, zd1211rw would be loaded before the
    filesystem is available and firmware loading would fail.
    
    Firmware load and other device initialization operations now happen the
    first time the interface is brought up.
    
    Some architectural changes were needed: handling of the is_zd1211b flag
    was moved into the zd_usb structure, MAC address handling was obviously
    changed, and a preinit_hw stage was added (the order is now: init,
    preinit_hw, init_hw).
    Signed-off-by: default avatarDaniel Drake <dsd@gentoo.org>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    74553aed
zd_usb.h 5.8 KB