aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/net_driver.h
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2008-11-04 15:34:56 -0500
committerJeff Garzik <jgarzik@redhat.com>2008-11-06 00:50:09 -0500
commit3e133c44d24a094118caee182200462d46c55b56 (patch)
treecabc1821bef090abedd1891c3d16137dea8f2ef3 /drivers/net/sfc/net_driver.h
parentf41507245ef8b079685aba8da5b5b2b5e87e70bc (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.h6
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 */
530enum efx_phy_mode { 534enum 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