Add support for firmware update through the devlink interface. This update copies the firmware object into the device, asks the current firmware to install it, then asks the firmware to select the new firmware for the next boot-up. The install and select steps are launched as asynchronous requests, which are then followed up with status request commands. These status request commands will be answered with an EAGAIN return value and will try again until the request has completed or reached the timeout specified. Signed-off-by: Shannon Nelson <snelson@pensando.io> Acked-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
18 lines
515 B
C
18 lines
515 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Copyright(c) 2017 - 2019 Pensando Systems, Inc */
|
|
|
|
#ifndef _IONIC_DEVLINK_H_
|
|
#define _IONIC_DEVLINK_H_
|
|
|
|
#include <net/devlink.h>
|
|
|
|
int ionic_firmware_update(struct ionic_lif *lif, const char *fw_name,
|
|
struct netlink_ext_ack *extack);
|
|
|
|
struct ionic *ionic_devlink_alloc(struct device *dev);
|
|
void ionic_devlink_free(struct ionic *ionic);
|
|
int ionic_devlink_register(struct ionic *ionic);
|
|
void ionic_devlink_unregister(struct ionic *ionic);
|
|
|
|
#endif /* _IONIC_DEVLINK_H_ */
|