aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/net_driver.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/sfc/net_driver.h')
-rw-r--r--drivers/net/sfc/net_driver.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h
index fddf8f5870c..32806f9a7e4 100644
--- a/drivers/net/sfc/net_driver.h
+++ b/drivers/net/sfc/net_driver.h
@@ -843,6 +843,21 @@ static inline const char *efx_dev_name(struct efx_nic *efx)
843 843
844/** 844/**
845 * struct efx_nic_type - Efx device type definition 845 * struct efx_nic_type - Efx device type definition
846 * @probe: Probe the controller
847 * @remove: Free resources allocated by probe()
848 * @init: Initialise the controller
849 * @fini: Shut down the controller
850 * @monitor: Periodic function for polling link state and hardware monitor
851 * @reset: Reset the controller hardware and possibly the PHY. This will
852 * be called while the controller is uninitialised.
853 * @probe_port: Probe the MAC and PHY
854 * @remove_port: Free resources allocated by probe_port()
855 * @prepare_flush: Prepare the hardware for flushing the DMA queues
856 * @update_stats: Update statistics not provided by event handling
857 * @start_stats: Start the regular fetching of statistics
858 * @stop_stats: Stop the regular fetching of statistics
859 * @push_irq_moderation: Apply interrupt moderation value
860 * @push_multicast_hash: Apply multicast hash table
846 * @default_mac_ops: efx_mac_operations to set at startup 861 * @default_mac_ops: efx_mac_operations to set at startup
847 * @revision: Hardware architecture revision 862 * @revision: Hardware architecture revision
848 * @mem_map_size: Memory BAR mapped size 863 * @mem_map_size: Memory BAR mapped size
@@ -861,6 +876,20 @@ static inline const char *efx_dev_name(struct efx_nic *efx)
861 * @rx_dc_base: Base address in SRAM of RX queue descriptor caches 876 * @rx_dc_base: Base address in SRAM of RX queue descriptor caches
862 */ 877 */
863struct efx_nic_type { 878struct efx_nic_type {
879 int (*probe)(struct efx_nic *efx);
880 void (*remove)(struct efx_nic *efx);
881 int (*init)(struct efx_nic *efx);
882 void (*fini)(struct efx_nic *efx);
883 void (*monitor)(struct efx_nic *efx);
884 int (*reset)(struct efx_nic *efx, enum reset_type method);
885 int (*probe_port)(struct efx_nic *efx);
886 void (*remove_port)(struct efx_nic *efx);
887 void (*prepare_flush)(struct efx_nic *efx);
888 void (*update_stats)(struct efx_nic *efx);
889 void (*start_stats)(struct efx_nic *efx);
890 void (*stop_stats)(struct efx_nic *efx);
891 void (*push_irq_moderation)(struct efx_channel *channel);
892 void (*push_multicast_hash)(struct efx_nic *efx);
864 struct efx_mac_operations *default_mac_ops; 893 struct efx_mac_operations *default_mac_ops;
865 894
866 int revision; 895 int revision;