aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/net_driver.h
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2008-12-26 16:47:25 -0500
committerDavid S. Miller <davem@davemloft.net>2008-12-26 16:47:25 -0500
commit1796721a5a691a5d392abf8070ad40a0b787b667 (patch)
tree16ed5a5a8c77db9e8f70c9b23f6b26cde491c336 /drivers/net/sfc/net_driver.h
parent2ef3068e6c40ec44d27f6f8027616e284d1b0466 (diff)
sfc: Add support for multiple PHY self-tests
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/net_driver.h')
-rw-r--r--drivers/net/sfc/net_driver.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h
index b0c79755ef2f..5f255f75754e 100644
--- a/drivers/net/sfc/net_driver.h
+++ b/drivers/net/sfc/net_driver.h
@@ -568,6 +568,10 @@ struct efx_mac_operations {
568 * @set_settings: Set ethtool settings. Serialised by the mac_lock. 568 * @set_settings: Set ethtool settings. Serialised by the mac_lock.
569 * @set_xnp_advertise: Set abilities advertised in Extended Next Page 569 * @set_xnp_advertise: Set abilities advertised in Extended Next Page
570 * (only needed where AN bit is set in mmds) 570 * (only needed where AN bit is set in mmds)
571 * @num_tests: Number of PHY-specific tests/results
572 * @test_names: Names of the tests/results
573 * @run_tests: Run tests and record results as appropriate.
574 * Flags are the ethtool tests flags.
571 * @mmds: MMD presence mask 575 * @mmds: MMD presence mask
572 * @loopbacks: Supported loopback modes mask 576 * @loopbacks: Supported loopback modes mask
573 */ 577 */
@@ -578,12 +582,14 @@ struct efx_phy_operations {
578 void (*reconfigure) (struct efx_nic *efx); 582 void (*reconfigure) (struct efx_nic *efx);
579 void (*clear_interrupt) (struct efx_nic *efx); 583 void (*clear_interrupt) (struct efx_nic *efx);
580 void (*poll) (struct efx_nic *efx); 584 void (*poll) (struct efx_nic *efx);
581 int (*test) (struct efx_nic *efx);
582 void (*get_settings) (struct efx_nic *efx, 585 void (*get_settings) (struct efx_nic *efx,
583 struct ethtool_cmd *ecmd); 586 struct ethtool_cmd *ecmd);
584 int (*set_settings) (struct efx_nic *efx, 587 int (*set_settings) (struct efx_nic *efx,
585 struct ethtool_cmd *ecmd); 588 struct ethtool_cmd *ecmd);
586 bool (*set_xnp_advertise) (struct efx_nic *efx, u32); 589 bool (*set_xnp_advertise) (struct efx_nic *efx, u32);
590 u32 num_tests;
591 const char *const *test_names;
592 int (*run_tests) (struct efx_nic *efx, int *results, unsigned flags);
587 int mmds; 593 int mmds;
588 unsigned loopbacks; 594 unsigned loopbacks;
589}; 595};