#ifndef _I40E_CLIENT_H_
 #define _I40E_CLIENT_H_
 
+#include <linux/auxiliary_bus.h>
+
 #define I40E_CLIENT_STR_LENGTH 10
 
 /* Client interface version should be updated anytime there is a change in the
        u8 lanmac[6];
        struct net_device *netdev;
        struct pci_dev *pcidev;
+       struct auxiliary_device *aux_dev;
        u8 __iomem *hw_addr;
        u8 fid; /* function id, PF id or VF id */
 #define I40E_CLIENT_FTYPE_PF 0
        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_CORE 2
 #define I40E_CLIENT_VSI_FLAG_TCP_ENABLE  BIT(1)
        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 */
 int i40e_register_client(struct i40e_client *client);
 int i40e_unregister_client(struct i40e_client *client);