On 9/9/20 3:28 PM, Jacob Keller wrote: > This series implements the iproute2 side of the new > DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK. > > This attribute is used to allow userspace to indicate what a device should > do with various subsections of a flash component when updating. For example, > a flash component might contain vital data such as the PCIe serial number or > configuration fields such as settings that control device bootup. > > The overwrite mask allows the user to specify what behavior they want when > performing an update. If nothing is specified, then the update should > preserve all vital fields and configuration. > > By specifying "overwrite identifiers" the user requests that the flash > update should overwrite any identifiers in the updated flash component with > identifier values from the provided flash image. > > $devlink dev flash pci/0000:af:00.0 file flash_image.bin overwrite > identifiers > > By specifying "overwrite settings" the user requests that the flash update > should overwrite any settings in the updated flash component with setting > values from the provided flash image. > > $devlink dev flash pci/0000:af:00.0 file flash_image.bin overwrite settings > > These options may be combined, in which case both subsections will be sent > in the overwrite mask, resulting in a request to overwrite all settings and > identifiers stored in the updated flash components. > > $devlink dev flash pci/0000:af:00.0 file flash_image.bin overwrite settings > overwrite identifiers > > Cc: Jiri Pirko <j...@mellanox.com> > Cc: Jakub Kicinski <k...@kernel.org> > > Jacob Keller (2): > Update devlink header for overwrite mask attribute > devlink: support setting the overwrite mask > > devlink/devlink.c | 48 ++++++++++++++++++++++++++++++++++-- > include/uapi/linux/devlink.h | 27 ++++++++++++++++++++ > 2 files changed, 73 insertions(+), 2 deletions(-) > > > base-commit: ad34d5fadb0b4699b0fe136fc408685e26bb1b43 >
Jacob: Compile fails on Ubuntu 20.04: devlink CC devlink.o In file included from devlink.c:29: devlink.c: In function ‘flash_overwrite_section_get’: ../include/uapi/linux/devlink.h:249:42: warning: implicit declaration of function ‘_BITUL’ [-Wimplicit-function-declaration] 249 | #define DEVLINK_FLASH_OVERWRITE_SETTINGS _BITUL(DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT) | ^~~~~~ devlink.c:1293:12: note: in expansion of macro ‘DEVLINK_FLASH_OVERWRITE_SETTINGS’ 1293 | *mask |= DEVLINK_FLASH_OVERWRITE_SETTINGS; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC mnlg.o LINK devlink I updated headers in -next; please redo the patch set and roll the cover letter details in patch 2.