#include <linux/kernel.h>
#include <linux/qed/qed_if.h>
#include <linux/vmalloc.h>
#include "qed.h"
#include "qed_devlink.h"
enum qed_devlink_param_id { … };
struct qed_fw_fatal_ctx { … };
int qed_report_fatal_error(struct devlink *devlink, enum qed_hw_err_type err_type)
{ … }
static int
qed_fw_fatal_reporter_dump(struct devlink_health_reporter *reporter,
struct devlink_fmsg *fmsg, void *priv_ctx,
struct netlink_ext_ack *extack)
{ … }
static int
qed_fw_fatal_reporter_recover(struct devlink_health_reporter *reporter,
void *priv_ctx,
struct netlink_ext_ack *extack)
{ … }
static const struct devlink_health_reporter_ops qed_fw_fatal_reporter_ops = …;
#define QED_REPORTER_FW_GRACEFUL_PERIOD …
void qed_fw_reporters_create(struct devlink *devlink)
{ … }
void qed_fw_reporters_destroy(struct devlink *devlink)
{ … }
static int qed_dl_param_get(struct devlink *dl, u32 id,
struct devlink_param_gset_ctx *ctx)
{ … }
static int qed_dl_param_set(struct devlink *dl, u32 id,
struct devlink_param_gset_ctx *ctx,
struct netlink_ext_ack *extack)
{ … }
static const struct devlink_param qed_devlink_params[] = …;
static int qed_devlink_info_get(struct devlink *devlink,
struct devlink_info_req *req,
struct netlink_ext_ack *extack)
{ … }
static const struct devlink_ops qed_dl_ops = …;
struct devlink *qed_devlink_register(struct qed_dev *cdev)
{ … }
void qed_devlink_unregister(struct devlink *devlink)
{ … }