Commit 9ed75331 authored by Shiraz Saleem's avatar Shiraz Saleem Committed by Tony Nguyen

i40e: Prep i40e header for aux bus conversion

Add the definitions to the i40e client header file in
preparation to convert i40e to use the new auxiliary bus
infrastructure. This header is shared between the 'i40e'
Intel networking driver providing RDMA support and the
'irdma' driver.
Signed-off-by: default avatarShiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent f9f5301e
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
#ifndef _I40E_CLIENT_H_ #ifndef _I40E_CLIENT_H_
#define _I40E_CLIENT_H_ #define _I40E_CLIENT_H_
#include <linux/auxiliary_bus.h>
#define I40E_CLIENT_STR_LENGTH 10 #define I40E_CLIENT_STR_LENGTH 10
/* Client interface version should be updated anytime there is a change in the /* Client interface version should be updated anytime there is a change in the
...@@ -78,6 +80,7 @@ struct i40e_info { ...@@ -78,6 +80,7 @@ struct i40e_info {
u8 lanmac[6]; u8 lanmac[6];
struct net_device *netdev; struct net_device *netdev;
struct pci_dev *pcidev; struct pci_dev *pcidev;
struct auxiliary_device *aux_dev;
u8 __iomem *hw_addr; u8 __iomem *hw_addr;
u8 fid; /* function id, PF id or VF id */ u8 fid; /* function id, PF id or VF id */
#define I40E_CLIENT_FTYPE_PF 0 #define I40E_CLIENT_FTYPE_PF 0
...@@ -100,6 +103,11 @@ struct i40e_info { ...@@ -100,6 +103,11 @@ struct i40e_info {
u32 fw_build; /* firmware build number */ u32 fw_build; /* firmware build number */
}; };
struct i40e_auxiliary_device {
struct auxiliary_device aux_dev;
struct i40e_info *ldev;
};
#define I40E_CLIENT_RESET_LEVEL_PF 1 #define I40E_CLIENT_RESET_LEVEL_PF 1
#define I40E_CLIENT_RESET_LEVEL_CORE 2 #define I40E_CLIENT_RESET_LEVEL_CORE 2
#define I40E_CLIENT_VSI_FLAG_TCP_ENABLE BIT(1) #define I40E_CLIENT_VSI_FLAG_TCP_ENABLE BIT(1)
...@@ -187,6 +195,8 @@ static inline bool i40e_client_is_registered(struct i40e_client *client) ...@@ -187,6 +195,8 @@ static inline bool i40e_client_is_registered(struct i40e_client *client)
return test_bit(__I40E_CLIENT_REGISTERED, &client->state); return test_bit(__I40E_CLIENT_REGISTERED, &client->state);
} }
void i40e_client_device_register(struct i40e_info *ldev, struct i40e_client *client);
void i40e_client_device_unregister(struct i40e_info *ldev);
/* used by clients */ /* used by clients */
int i40e_register_client(struct i40e_client *client); int i40e_register_client(struct i40e_client *client);
int i40e_unregister_client(struct i40e_client *client); int i40e_unregister_client(struct i40e_client *client);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment