linux/drivers/net/ethernet/huawei/hinic/hinic_devlink.h

/* SPDX-License-Identifier: GPL-2.0-only */
/* Huawei HiNIC PCI Express Linux driver
 * Copyright(c) 2017 Huawei Technologies Co., Ltd
 */

#ifndef __HINIC_DEVLINK_H__
#define __HINIC_DEVLINK_H__

#include <net/devlink.h>
#include "hinic_dev.h"

#define MAX_FW_TYPE_NUM
#define HINIC_MAGIC_NUM
#define UPDATEFW_IMAGE_HEAD_SIZE
#define FW_UPDATE_COLD
#define FW_UPDATE_HOT

#define UP_TYPE_A
#define UP_TYPE_B

#define MAX_FW_FRAGMENT_LEN
#define HINIC_FW_DISMATCH_ERROR

enum hinic_fw_type {};

#define _IMAGE_UP_ALL_IN

#define _IMAGE_UCODE_ALL_IN

#define _IMAGE_COLD_SUB_MODULES_MUST_IN
#define _IMAGE_HOT_SUB_MODULES_MUST_IN
#define _IMAGE_CFG_SUB_MODULES_MUST_IN
#define UP_FW_UPDATE_UP_TEXT
#define UP_FW_UPDATE_UP_DATA
#define UP_FW_UPDATE_VPD_B

struct fw_section_info_st {};

struct fw_image_st {};

struct host_image_st {};

struct devlink *hinic_devlink_alloc(struct device *dev);
void hinic_devlink_free(struct devlink *devlink);
void hinic_devlink_register(struct hinic_devlink_priv *priv);
void hinic_devlink_unregister(struct hinic_devlink_priv *priv);

int hinic_health_reporters_create(struct hinic_devlink_priv *priv);
void hinic_health_reporters_destroy(struct hinic_devlink_priv *priv);

#endif /* __HINIC_DEVLINK_H__ */