Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

devlink: Add support for board.serial_number to info_get cb.

Board serial number is a serial number, often available in PCI
*Vital Product Data*.

Also, update devlink-info.rst documentation file.

Cc: Jiri Pirko <jiri@mellanox.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Vasundhara Volam and committed by
David S. Miller
b5872cd0 406fcb5b

+17 -7
+2
include/net/devlink.h
··· 1284 1284 const char *sn); 1285 1285 int devlink_info_driver_name_put(struct devlink_info_req *req, 1286 1286 const char *name); 1287 + int devlink_info_board_serial_number_put(struct devlink_info_req *req, 1288 + const char *bsn); 1287 1289 int devlink_info_version_fixed_put(struct devlink_info_req *req, 1288 1290 const char *version_name, 1289 1291 const char *version_value);
+2
include/uapi/linux/devlink.h
··· 453 453 454 454 DEVLINK_ATTR_PORT_FUNCTION, /* nested */ 455 455 456 + DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER, /* string */ 457 + 456 458 /* add new attributes above here, update the policy in devlink.c */ 457 459 458 460 __DEVLINK_ATTR_MAX,
+8
net/core/devlink.c
··· 4502 4502 } 4503 4503 EXPORT_SYMBOL_GPL(devlink_info_serial_number_put); 4504 4504 4505 + int devlink_info_board_serial_number_put(struct devlink_info_req *req, 4506 + const char *bsn) 4507 + { 4508 + return nla_put_string(req->msg, DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER, 4509 + bsn); 4510 + } 4511 + EXPORT_SYMBOL_GPL(devlink_info_board_serial_number_put); 4512 + 4505 4513 static int devlink_info_version_put(struct devlink_info_req *req, int attr, 4506 4514 const char *version_name, 4507 4515 const char *version_value)