From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: [RFC net-next 3/6] nfp: devlink: report serial number Date: Mon, 14 Jan 2019 16:50:05 -0800 Message-ID: <20190115005009.16025-4-jakub.kicinski@netronome.com> References: <20190115005009.16025-1-jakub.kicinski@netronome.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: netdev@vger.kernel.org, oss-drivers@netronome.com, jiri@resnulli.us, Jakub Kicinski To: davem@davemloft.net Return-path: Received: from mail-qt1-f195.google.com ([209.85.160.195]:35880 "EHLO mail-qt1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727573AbfAOAuW (ORCPT ); Mon, 14 Jan 2019 19:50:22 -0500 Received: by mail-qt1-f195.google.com with SMTP id t13so1256488qtn.3 for ; Mon, 14 Jan 2019 16:50:21 -0800 (PST) In-Reply-To: <20190115005009.16025-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org List-ID: Report serial number via the info devlink command. Signed-off-by: Jakub Kicinski --- .../net/ethernet/netronome/nfp/nfp_devlink.c | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_devlink.c b/drivers/net/ethernet/netronome/nfp/nfp_devlink.c index 808647ec3573..4422da939937 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_devlink.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_devlink.c @@ -4,6 +4,7 @@ #include #include +#include "nfpcore/nfp_cpp.h" #include "nfpcore/nfp_nsp.h" #include "nfp_app.h" #include "nfp_main.h" @@ -171,6 +172,26 @@ static int nfp_devlink_eswitch_mode_set(struct devlink *devlink, u16 mode, return ret; } +static int +nfp_devlink_serial_get(struct devlink *devlink, u8 *buf, size_t buf_len, + size_t *len, struct netlink_ext_ack *extack) +{ + struct nfp_pf *pf = devlink_priv(devlink); + const u8 *serial; + int ret; + + ret = nfp_cpp_serial(pf->cpp, &serial); + if (ret < 0) + return ret; + + if (buf_len < ret) + return -EINVAL; + *len = ret; + + memcpy(buf, serial, *len); + return 0; +} + const struct devlink_ops nfp_devlink_ops = { .port_split = nfp_devlink_port_split, .port_unsplit = nfp_devlink_port_unsplit, @@ -178,6 +199,7 @@ const struct devlink_ops nfp_devlink_ops = { .sb_pool_set = nfp_devlink_sb_pool_set, .eswitch_mode_get = nfp_devlink_eswitch_mode_get, .eswitch_mode_set = nfp_devlink_eswitch_mode_set, + .serial_get = nfp_devlink_serial_get, }; int nfp_devlink_port_register(struct nfp_app *app, struct nfp_port *port) -- 2.19.2