• Russell King's avatar
    net: sfp: allow modules with slow diagnostics to probe · 139d3a21
    Russell King authored
    When a module is inserted, we attempt to read read the ID from address
    0x50.  Once we are able to read the ID, we immediately attempt to
    initialise the hwmon support by reading from address 0x51.  If this
    fails, then we fall into error state, and assume that the module is
    not usable.
    
    Modules such as the ALCATELLUCENT 3FE46541AA use a real EEPROM for
    I2C address 0x50, which responds immediately.  However, address 0x51
    is an emulated, which only becomes available once the on-board firmware
    has booted.  This prompts us to fall into the error state.
    
    Since the module may be usable without diagnostics, arrange for the
    hwmon probe independent of the rest of the SFP itself, retrying every
    5s for up to about 60s for the monitoring to become available, and
    print an error message if it doesn't become available.
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    139d3a21
sfp.c 51.5 KB