#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/firmware.h>
#include "ionic.h"
#include "ionic_dev.h"
#include "ionic_lif.h"
#include "ionic_devlink.h"
#define IONIC_FW_INSTALL_TIMEOUT …
#define IONIC_FW_SELECT_TIMEOUT …
#define IONIC_FW_INTERVAL_FRACTION …
static void ionic_dev_cmd_firmware_download(struct ionic_dev *idev, u64 addr,
u32 offset, u32 length)
{ … }
static void ionic_dev_cmd_firmware_install(struct ionic_dev *idev)
{ … }
static void ionic_dev_cmd_firmware_activate(struct ionic_dev *idev, u8 slot)
{ … }
static int ionic_fw_status_long_wait(struct ionic *ionic,
const char *label,
unsigned long timeout,
u8 fw_cmd,
struct netlink_ext_ack *extack)
{ … }
int ionic_firmware_update(struct ionic_lif *lif, const struct firmware *fw,
struct netlink_ext_ack *extack)
{ … }