diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2008-11-04 15:34:56 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-11-06 00:50:09 -0500 |
commit | 3e133c44d24a094118caee182200462d46c55b56 (patch) | |
tree | cabc1821bef090abedd1891c3d16137dea8f2ef3 /drivers/net/sfc/net_driver.h | |
parent | f41507245ef8b079685aba8da5b5b2b5e87e70bc (diff) |
sfc: Use lm87 and lm90 drivers for board temperature/power monitoring
Add board monitoring to periodic work whenever link is down.
For SFE4001, report when a fault has caused the PHY to turn off.
For SFE4002, switch XFP PHY into low-power state in case of a fault.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/sfc/net_driver.h')
-rw-r--r-- | drivers/net/sfc/net_driver.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h index c953eb19df42..e596c9a6a4c4 100644 --- a/drivers/net/sfc/net_driver.h +++ b/drivers/net/sfc/net_driver.h | |||
@@ -414,6 +414,7 @@ struct efx_blinker { | |||
414 | * @init_leds: Sets up board LEDs | 414 | * @init_leds: Sets up board LEDs |
415 | * @set_fault_led: Turns the fault LED on or off | 415 | * @set_fault_led: Turns the fault LED on or off |
416 | * @blink: Starts/stops blinking | 416 | * @blink: Starts/stops blinking |
417 | * @monitor: Board-specific health check function | ||
417 | * @fini: Cleanup function | 418 | * @fini: Cleanup function |
418 | * @blinker: used to blink LEDs in software | 419 | * @blinker: used to blink LEDs in software |
419 | * @hwmon_client: I2C client for hardware monitor | 420 | * @hwmon_client: I2C client for hardware monitor |
@@ -428,6 +429,7 @@ struct efx_board { | |||
428 | * have a separate init callback that happens later than | 429 | * have a separate init callback that happens later than |
429 | * board init. */ | 430 | * board init. */ |
430 | int (*init_leds)(struct efx_nic *efx); | 431 | int (*init_leds)(struct efx_nic *efx); |
432 | int (*monitor) (struct efx_nic *nic); | ||
431 | void (*set_fault_led) (struct efx_nic *efx, bool state); | 433 | void (*set_fault_led) (struct efx_nic *efx, bool state); |
432 | void (*blink) (struct efx_nic *efx, bool start); | 434 | void (*blink) (struct efx_nic *efx, bool start); |
433 | void (*fini) (struct efx_nic *nic); | 435 | void (*fini) (struct efx_nic *nic); |
@@ -525,11 +527,15 @@ struct efx_phy_operations { | |||
525 | * @enum efx_phy_mode - PHY operating mode flags | 527 | * @enum efx_phy_mode - PHY operating mode flags |
526 | * @PHY_MODE_NORMAL: on and should pass traffic | 528 | * @PHY_MODE_NORMAL: on and should pass traffic |
527 | * @PHY_MODE_TX_DISABLED: on with TX disabled | 529 | * @PHY_MODE_TX_DISABLED: on with TX disabled |
530 | * @PHY_MODE_LOW_POWER: set to low power through MDIO | ||
531 | * @PHY_MODE_OFF: switched off through external control | ||
528 | * @PHY_MODE_SPECIAL: on but will not pass traffic | 532 | * @PHY_MODE_SPECIAL: on but will not pass traffic |
529 | */ | 533 | */ |
530 | enum efx_phy_mode { | 534 | enum efx_phy_mode { |
531 | PHY_MODE_NORMAL = 0, | 535 | PHY_MODE_NORMAL = 0, |
532 | PHY_MODE_TX_DISABLED = 1, | 536 | PHY_MODE_TX_DISABLED = 1, |
537 | PHY_MODE_LOW_POWER = 2, | ||
538 | PHY_MODE_OFF = 4, | ||
533 | PHY_MODE_SPECIAL = 8, | 539 | PHY_MODE_SPECIAL = 8, |
534 | }; | 540 | }; |
535 | 541 | ||