From: Jiri Pirko <jiri@resnulli.us>
To: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Cc: andrew@lunn.ch, michal.wilczynski@intel.com,
netdev@vger.kernel.org, lukasz.czapnik@intel.com,
victor.raj@intel.com, kuba@kernel.org,
anthony.l.nguyen@intel.com, horms@kernel.org,
przemyslaw.kitszel@intel.com, intel-wired-lan@lists.osuosl.org
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v6 1/6] devlink: extend devlink_param *set pointer
Date: Wed, 6 Mar 2024 09:32:53 +0100 [thread overview]
Message-ID: <ZegqNZULwmHjC9oA@nanopsycho> (raw)
In-Reply-To: <20240305143942.23757-2-mateusz.polchlopek@intel.com>
Tue, Mar 05, 2024 at 03:39:37PM CET, mateusz.polchlopek@intel.com wrote:
>Extend devlink_param *set function pointer to take extack as a param.
>Sometimes it is needed to pass information to the end user from set
>function. It is more proper to use for that netlink instead of passing
>message to dmesg.
>
>Signed-off-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
>---
> .../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 6 ++--
> drivers/net/ethernet/intel/ice/ice_devlink.c | 36 +++++++++----------
> drivers/net/ethernet/mellanox/mlx4/main.c | 6 ++--
> .../net/ethernet/mellanox/mlx5/core/eswitch.c | 3 +-
> .../mellanox/mlx5/core/eswitch_offloads.c | 3 +-
> .../net/ethernet/mellanox/mlx5/core/fs_core.c | 3 +-
> .../ethernet/mellanox/mlx5/core/fw_reset.c | 3 +-
> .../mellanox/mlxsw/spectrum_acl_tcam.c | 3 +-
> .../ethernet/netronome/nfp/devlink_param.c | 3 +-
> drivers/net/ethernet/qlogic/qed/qed_devlink.c | 3 +-
> drivers/net/wwan/iosm/iosm_ipc_devlink.c | 3 +-
> include/net/devlink.h | 3 +-
> include/net/dsa.h | 3 +-
> net/devlink/param.c | 7 ++--
> net/dsa/devlink.c | 3 +-
> 15 files changed, 50 insertions(+), 38 deletions(-)
>
>diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
>index ae4529c043f0..d9ea6fa23923 100644
>--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
>+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
>@@ -1096,7 +1096,8 @@ static int bnxt_dl_nvm_param_get(struct devlink *dl, u32 id,
> }
>
> static int bnxt_dl_nvm_param_set(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct bnxt *bp = bnxt_get_bp_from_dl(dl);
> struct hwrm_nvm_set_variable_input *req;
>@@ -1145,7 +1146,8 @@ static int bnxt_remote_dev_reset_get(struct devlink *dl, u32 id,
> }
>
> static int bnxt_remote_dev_reset_set(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct bnxt *bp = bnxt_get_bp_from_dl(dl);
> int rc;
>diff --git a/drivers/net/ethernet/intel/ice/ice_devlink.c b/drivers/net/ethernet/intel/ice/ice_devlink.c
>index b516e42b41f0..c0a89a1b4e88 100644
>--- a/drivers/net/ethernet/intel/ice/ice_devlink.c
>+++ b/drivers/net/ethernet/intel/ice/ice_devlink.c
>@@ -1380,9 +1380,8 @@ static const struct devlink_ops ice_devlink_ops = {
> .rate_node_parent_set = ice_devlink_set_parent,
> };
>
>-static int
>-ice_devlink_enable_roce_get(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+static int ice_devlink_enable_roce_get(struct devlink *devlink, u32 id,
>+ struct devlink_param_gset_ctx *ctx)
Hmm. This hunk does not seem related to the rest of the patch. Please
remove.
Feel free to add my:
Suggested-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
after that.
pw-bot: cr
> {
> struct ice_pf *pf = devlink_priv(devlink);
>
>@@ -1391,9 +1390,9 @@ ice_devlink_enable_roce_get(struct devlink *devlink, u32 id,
> return 0;
> }
>
>-static int
>-ice_devlink_enable_roce_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+static int ice_devlink_enable_roce_set(struct devlink *devlink, u32 id,
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct ice_pf *pf = devlink_priv(devlink);
> bool roce_ena = ctx->val.vbool;
>@@ -1413,10 +1412,9 @@ ice_devlink_enable_roce_set(struct devlink *devlink, u32 id,
> return ret;
> }
>
>-static int
>-ice_devlink_enable_roce_validate(struct devlink *devlink, u32 id,
>- union devlink_param_value val,
>- struct netlink_ext_ack *extack)
>+static int ice_devlink_enable_roce_validate(struct devlink *devlink, u32 id,
>+ union devlink_param_value val,
>+ struct netlink_ext_ack *extack)
> {
> struct ice_pf *pf = devlink_priv(devlink);
>
>@@ -1431,9 +1429,8 @@ ice_devlink_enable_roce_validate(struct devlink *devlink, u32 id,
> return 0;
> }
>
>-static int
>-ice_devlink_enable_iw_get(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+static int ice_devlink_enable_iw_get(struct devlink *devlink, u32 id,
>+ struct devlink_param_gset_ctx *ctx)
> {
> struct ice_pf *pf = devlink_priv(devlink);
>
>@@ -1442,9 +1439,9 @@ ice_devlink_enable_iw_get(struct devlink *devlink, u32 id,
> return 0;
> }
>
>-static int
>-ice_devlink_enable_iw_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+static int ice_devlink_enable_iw_set(struct devlink *devlink, u32 id,
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct ice_pf *pf = devlink_priv(devlink);
> bool iw_ena = ctx->val.vbool;
>@@ -1464,10 +1461,9 @@ ice_devlink_enable_iw_set(struct devlink *devlink, u32 id,
> return ret;
> }
>
>-static int
>-ice_devlink_enable_iw_validate(struct devlink *devlink, u32 id,
>- union devlink_param_value val,
>- struct netlink_ext_ack *extack)
>+static int ice_devlink_enable_iw_validate(struct devlink *devlink, u32 id,
>+ union devlink_param_value val,
>+ struct netlink_ext_ack *extack)
> {
> struct ice_pf *pf = devlink_priv(devlink);
>
>diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c
>index 7b02ff61126d..98688e4dbec5 100644
>--- a/drivers/net/ethernet/mellanox/mlx4/main.c
>+++ b/drivers/net/ethernet/mellanox/mlx4/main.c
>@@ -185,7 +185,8 @@ static int mlx4_devlink_ierr_reset_get(struct devlink *devlink, u32 id,
> }
>
> static int mlx4_devlink_ierr_reset_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> mlx4_internal_err_reset = ctx->val.vbool;
> return 0;
>@@ -202,7 +203,8 @@ static int mlx4_devlink_crdump_snapshot_get(struct devlink *devlink, u32 id,
> }
>
> static int mlx4_devlink_crdump_snapshot_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlx4_priv *priv = devlink_priv(devlink);
> struct mlx4_dev *dev = &priv->dev;
>diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
>index 3047d7015c52..a86f9c335b6b 100644
>--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
>+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
>@@ -1805,7 +1805,8 @@ static int mlx5_esw_vports_init(struct mlx5_eswitch *esw)
> }
>
> static int mlx5_devlink_esw_multiport_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlx5_core_dev *dev = devlink_priv(devlink);
>
>diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
>index b0455134c98e..3d8b3ca681d0 100644
>--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
>+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
>@@ -2405,7 +2405,8 @@ static int esw_offloads_init_reps(struct mlx5_eswitch *esw)
> }
>
> static int esw_port_metadata_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlx5_core_dev *dev = devlink_priv(devlink);
> struct mlx5_eswitch *esw = dev->priv.eswitch;
>diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
>index e6bfa7e4f146..8a941c0b4497 100644
>--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
>+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
>@@ -3321,7 +3321,8 @@ static int mlx5_fs_mode_validate(struct devlink *devlink, u32 id,
> }
>
> static int mlx5_fs_mode_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlx5_core_dev *dev = devlink_priv(devlink);
> enum mlx5_flow_steering_mode mode;
>diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
>index f27eab6e4929..1237b7fb5cef 100644
>--- a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
>+++ b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
>@@ -52,7 +52,8 @@ static void mlx5_set_fw_rst_ack(struct mlx5_core_dev *dev)
> }
>
> static int mlx5_fw_reset_enable_remote_dev_reset_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlx5_core_dev *dev = devlink_priv(devlink);
> struct mlx5_fw_reset *fw_reset;
>diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
>index f20052776b3f..baedf0d45e85 100644
>--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
>+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
>@@ -1465,7 +1465,8 @@ mlxsw_sp_acl_tcam_region_rehash_intrvl_get(struct devlink *devlink, u32 id,
>
> static int
> mlxsw_sp_acl_tcam_region_rehash_intrvl_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
> struct mlxsw_sp_acl_tcam_vregion *vregion;
>diff --git a/drivers/net/ethernet/netronome/nfp/devlink_param.c b/drivers/net/ethernet/netronome/nfp/devlink_param.c
>index a655f9e69a7b..0e1a3800f371 100644
>--- a/drivers/net/ethernet/netronome/nfp/devlink_param.c
>+++ b/drivers/net/ethernet/netronome/nfp/devlink_param.c
>@@ -132,7 +132,8 @@ nfp_devlink_param_u8_get(struct devlink *devlink, u32 id,
>
> static int
> nfp_devlink_param_u8_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> const struct nfp_devlink_param_u8_arg *arg;
> struct nfp_pf *pf = devlink_priv(devlink);
>diff --git a/drivers/net/ethernet/qlogic/qed/qed_devlink.c b/drivers/net/ethernet/qlogic/qed/qed_devlink.c
>index dad8e617c393..1adc7fbb3f2f 100644
>--- a/drivers/net/ethernet/qlogic/qed/qed_devlink.c
>+++ b/drivers/net/ethernet/qlogic/qed/qed_devlink.c
>@@ -132,7 +132,8 @@ static int qed_dl_param_get(struct devlink *dl, u32 id,
> }
>
> static int qed_dl_param_set(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct qed_devlink *qed_dl = devlink_priv(dl);
> struct qed_dev *cdev;
>diff --git a/drivers/net/wwan/iosm/iosm_ipc_devlink.c b/drivers/net/wwan/iosm/iosm_ipc_devlink.c
>index 2fe724d623c0..bef6819986e9 100644
>--- a/drivers/net/wwan/iosm/iosm_ipc_devlink.c
>+++ b/drivers/net/wwan/iosm/iosm_ipc_devlink.c
>@@ -33,7 +33,8 @@ static int ipc_devlink_get_param(struct devlink *dl, u32 id,
>
> /* Set the param values for the specific param ID's */
> static int ipc_devlink_set_param(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct iosm_devlink *ipc_devlink = devlink_priv(dl);
>
>diff --git a/include/net/devlink.h b/include/net/devlink.h
>index 9ac394bdfbe4..12f14be44e53 100644
>--- a/include/net/devlink.h
>+++ b/include/net/devlink.h
>@@ -483,7 +483,8 @@ struct devlink_param {
> int (*get)(struct devlink *devlink, u32 id,
> struct devlink_param_gset_ctx *ctx);
> int (*set)(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx);
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack);
> int (*validate)(struct devlink *devlink, u32 id,
> union devlink_param_value val,
> struct netlink_ext_ack *extack);
>diff --git a/include/net/dsa.h b/include/net/dsa.h
>index 7c0da9effe4e..140b80e1a88c 100644
>--- a/include/net/dsa.h
>+++ b/include/net/dsa.h
>@@ -1247,7 +1247,8 @@ struct dsa_switch_ops {
> int dsa_devlink_param_get(struct devlink *dl, u32 id,
> struct devlink_param_gset_ctx *ctx);
> int dsa_devlink_param_set(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx);
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack);
> int dsa_devlink_params_register(struct dsa_switch *ds,
> const struct devlink_param *params,
> size_t params_count);
>diff --git a/net/devlink/param.c b/net/devlink/param.c
>index 22bc3b500518..dcf0d1ccebba 100644
>--- a/net/devlink/param.c
>+++ b/net/devlink/param.c
>@@ -158,11 +158,12 @@ static int devlink_param_get(struct devlink *devlink,
>
> static int devlink_param_set(struct devlink *devlink,
> const struct devlink_param *param,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> if (!param->set)
> return -EOPNOTSUPP;
>- return param->set(devlink, param->id, ctx);
>+ return param->set(devlink, param->id, ctx, extack);
> }
>
> static int
>@@ -571,7 +572,7 @@ static int __devlink_nl_cmd_param_set_doit(struct devlink *devlink,
> return -EOPNOTSUPP;
> ctx.val = value;
> ctx.cmode = cmode;
>- err = devlink_param_set(devlink, param, &ctx);
>+ err = devlink_param_set(devlink, param, &ctx, info->extack);
> if (err)
> return err;
> }
>diff --git a/net/dsa/devlink.c b/net/dsa/devlink.c
>index 431bf52290a1..0aac887d0098 100644
>--- a/net/dsa/devlink.c
>+++ b/net/dsa/devlink.c
>@@ -194,7 +194,8 @@ int dsa_devlink_param_get(struct devlink *dl, u32 id,
> EXPORT_SYMBOL_GPL(dsa_devlink_param_get);
>
> int dsa_devlink_param_set(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct dsa_switch *ds = dsa_devlink_to_ds(dl);
>
>--
>2.38.1
>
WARNING: multiple messages have this Message-ID (diff)
From: Jiri Pirko <jiri@resnulli.us>
To: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
anthony.l.nguyen@intel.com, kuba@kernel.org, horms@kernel.org,
przemyslaw.kitszel@intel.com, andrew@lunn.ch,
victor.raj@intel.com, michal.wilczynski@intel.com,
lukasz.czapnik@intel.com
Subject: Re: [Intel-wired-lan] [PATCH iwl-next v6 1/6] devlink: extend devlink_param *set pointer
Date: Wed, 6 Mar 2024 09:32:53 +0100 [thread overview]
Message-ID: <ZegqNZULwmHjC9oA@nanopsycho> (raw)
In-Reply-To: <20240305143942.23757-2-mateusz.polchlopek@intel.com>
Tue, Mar 05, 2024 at 03:39:37PM CET, mateusz.polchlopek@intel.com wrote:
>Extend devlink_param *set function pointer to take extack as a param.
>Sometimes it is needed to pass information to the end user from set
>function. It is more proper to use for that netlink instead of passing
>message to dmesg.
>
>Signed-off-by: Mateusz Polchlopek <mateusz.polchlopek@intel.com>
>---
> .../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 6 ++--
> drivers/net/ethernet/intel/ice/ice_devlink.c | 36 +++++++++----------
> drivers/net/ethernet/mellanox/mlx4/main.c | 6 ++--
> .../net/ethernet/mellanox/mlx5/core/eswitch.c | 3 +-
> .../mellanox/mlx5/core/eswitch_offloads.c | 3 +-
> .../net/ethernet/mellanox/mlx5/core/fs_core.c | 3 +-
> .../ethernet/mellanox/mlx5/core/fw_reset.c | 3 +-
> .../mellanox/mlxsw/spectrum_acl_tcam.c | 3 +-
> .../ethernet/netronome/nfp/devlink_param.c | 3 +-
> drivers/net/ethernet/qlogic/qed/qed_devlink.c | 3 +-
> drivers/net/wwan/iosm/iosm_ipc_devlink.c | 3 +-
> include/net/devlink.h | 3 +-
> include/net/dsa.h | 3 +-
> net/devlink/param.c | 7 ++--
> net/dsa/devlink.c | 3 +-
> 15 files changed, 50 insertions(+), 38 deletions(-)
>
>diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
>index ae4529c043f0..d9ea6fa23923 100644
>--- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
>+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
>@@ -1096,7 +1096,8 @@ static int bnxt_dl_nvm_param_get(struct devlink *dl, u32 id,
> }
>
> static int bnxt_dl_nvm_param_set(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct bnxt *bp = bnxt_get_bp_from_dl(dl);
> struct hwrm_nvm_set_variable_input *req;
>@@ -1145,7 +1146,8 @@ static int bnxt_remote_dev_reset_get(struct devlink *dl, u32 id,
> }
>
> static int bnxt_remote_dev_reset_set(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct bnxt *bp = bnxt_get_bp_from_dl(dl);
> int rc;
>diff --git a/drivers/net/ethernet/intel/ice/ice_devlink.c b/drivers/net/ethernet/intel/ice/ice_devlink.c
>index b516e42b41f0..c0a89a1b4e88 100644
>--- a/drivers/net/ethernet/intel/ice/ice_devlink.c
>+++ b/drivers/net/ethernet/intel/ice/ice_devlink.c
>@@ -1380,9 +1380,8 @@ static const struct devlink_ops ice_devlink_ops = {
> .rate_node_parent_set = ice_devlink_set_parent,
> };
>
>-static int
>-ice_devlink_enable_roce_get(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+static int ice_devlink_enable_roce_get(struct devlink *devlink, u32 id,
>+ struct devlink_param_gset_ctx *ctx)
Hmm. This hunk does not seem related to the rest of the patch. Please
remove.
Feel free to add my:
Suggested-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
after that.
pw-bot: cr
> {
> struct ice_pf *pf = devlink_priv(devlink);
>
>@@ -1391,9 +1390,9 @@ ice_devlink_enable_roce_get(struct devlink *devlink, u32 id,
> return 0;
> }
>
>-static int
>-ice_devlink_enable_roce_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+static int ice_devlink_enable_roce_set(struct devlink *devlink, u32 id,
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct ice_pf *pf = devlink_priv(devlink);
> bool roce_ena = ctx->val.vbool;
>@@ -1413,10 +1412,9 @@ ice_devlink_enable_roce_set(struct devlink *devlink, u32 id,
> return ret;
> }
>
>-static int
>-ice_devlink_enable_roce_validate(struct devlink *devlink, u32 id,
>- union devlink_param_value val,
>- struct netlink_ext_ack *extack)
>+static int ice_devlink_enable_roce_validate(struct devlink *devlink, u32 id,
>+ union devlink_param_value val,
>+ struct netlink_ext_ack *extack)
> {
> struct ice_pf *pf = devlink_priv(devlink);
>
>@@ -1431,9 +1429,8 @@ ice_devlink_enable_roce_validate(struct devlink *devlink, u32 id,
> return 0;
> }
>
>-static int
>-ice_devlink_enable_iw_get(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+static int ice_devlink_enable_iw_get(struct devlink *devlink, u32 id,
>+ struct devlink_param_gset_ctx *ctx)
> {
> struct ice_pf *pf = devlink_priv(devlink);
>
>@@ -1442,9 +1439,9 @@ ice_devlink_enable_iw_get(struct devlink *devlink, u32 id,
> return 0;
> }
>
>-static int
>-ice_devlink_enable_iw_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+static int ice_devlink_enable_iw_set(struct devlink *devlink, u32 id,
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct ice_pf *pf = devlink_priv(devlink);
> bool iw_ena = ctx->val.vbool;
>@@ -1464,10 +1461,9 @@ ice_devlink_enable_iw_set(struct devlink *devlink, u32 id,
> return ret;
> }
>
>-static int
>-ice_devlink_enable_iw_validate(struct devlink *devlink, u32 id,
>- union devlink_param_value val,
>- struct netlink_ext_ack *extack)
>+static int ice_devlink_enable_iw_validate(struct devlink *devlink, u32 id,
>+ union devlink_param_value val,
>+ struct netlink_ext_ack *extack)
> {
> struct ice_pf *pf = devlink_priv(devlink);
>
>diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c
>index 7b02ff61126d..98688e4dbec5 100644
>--- a/drivers/net/ethernet/mellanox/mlx4/main.c
>+++ b/drivers/net/ethernet/mellanox/mlx4/main.c
>@@ -185,7 +185,8 @@ static int mlx4_devlink_ierr_reset_get(struct devlink *devlink, u32 id,
> }
>
> static int mlx4_devlink_ierr_reset_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> mlx4_internal_err_reset = ctx->val.vbool;
> return 0;
>@@ -202,7 +203,8 @@ static int mlx4_devlink_crdump_snapshot_get(struct devlink *devlink, u32 id,
> }
>
> static int mlx4_devlink_crdump_snapshot_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlx4_priv *priv = devlink_priv(devlink);
> struct mlx4_dev *dev = &priv->dev;
>diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
>index 3047d7015c52..a86f9c335b6b 100644
>--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
>+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
>@@ -1805,7 +1805,8 @@ static int mlx5_esw_vports_init(struct mlx5_eswitch *esw)
> }
>
> static int mlx5_devlink_esw_multiport_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlx5_core_dev *dev = devlink_priv(devlink);
>
>diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
>index b0455134c98e..3d8b3ca681d0 100644
>--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
>+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
>@@ -2405,7 +2405,8 @@ static int esw_offloads_init_reps(struct mlx5_eswitch *esw)
> }
>
> static int esw_port_metadata_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlx5_core_dev *dev = devlink_priv(devlink);
> struct mlx5_eswitch *esw = dev->priv.eswitch;
>diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
>index e6bfa7e4f146..8a941c0b4497 100644
>--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
>+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
>@@ -3321,7 +3321,8 @@ static int mlx5_fs_mode_validate(struct devlink *devlink, u32 id,
> }
>
> static int mlx5_fs_mode_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlx5_core_dev *dev = devlink_priv(devlink);
> enum mlx5_flow_steering_mode mode;
>diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
>index f27eab6e4929..1237b7fb5cef 100644
>--- a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
>+++ b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
>@@ -52,7 +52,8 @@ static void mlx5_set_fw_rst_ack(struct mlx5_core_dev *dev)
> }
>
> static int mlx5_fw_reset_enable_remote_dev_reset_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlx5_core_dev *dev = devlink_priv(devlink);
> struct mlx5_fw_reset *fw_reset;
>diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
>index f20052776b3f..baedf0d45e85 100644
>--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
>+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
>@@ -1465,7 +1465,8 @@ mlxsw_sp_acl_tcam_region_rehash_intrvl_get(struct devlink *devlink, u32 id,
>
> static int
> mlxsw_sp_acl_tcam_region_rehash_intrvl_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct mlxsw_core *mlxsw_core = devlink_priv(devlink);
> struct mlxsw_sp_acl_tcam_vregion *vregion;
>diff --git a/drivers/net/ethernet/netronome/nfp/devlink_param.c b/drivers/net/ethernet/netronome/nfp/devlink_param.c
>index a655f9e69a7b..0e1a3800f371 100644
>--- a/drivers/net/ethernet/netronome/nfp/devlink_param.c
>+++ b/drivers/net/ethernet/netronome/nfp/devlink_param.c
>@@ -132,7 +132,8 @@ nfp_devlink_param_u8_get(struct devlink *devlink, u32 id,
>
> static int
> nfp_devlink_param_u8_set(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> const struct nfp_devlink_param_u8_arg *arg;
> struct nfp_pf *pf = devlink_priv(devlink);
>diff --git a/drivers/net/ethernet/qlogic/qed/qed_devlink.c b/drivers/net/ethernet/qlogic/qed/qed_devlink.c
>index dad8e617c393..1adc7fbb3f2f 100644
>--- a/drivers/net/ethernet/qlogic/qed/qed_devlink.c
>+++ b/drivers/net/ethernet/qlogic/qed/qed_devlink.c
>@@ -132,7 +132,8 @@ static int qed_dl_param_get(struct devlink *dl, u32 id,
> }
>
> static int qed_dl_param_set(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct qed_devlink *qed_dl = devlink_priv(dl);
> struct qed_dev *cdev;
>diff --git a/drivers/net/wwan/iosm/iosm_ipc_devlink.c b/drivers/net/wwan/iosm/iosm_ipc_devlink.c
>index 2fe724d623c0..bef6819986e9 100644
>--- a/drivers/net/wwan/iosm/iosm_ipc_devlink.c
>+++ b/drivers/net/wwan/iosm/iosm_ipc_devlink.c
>@@ -33,7 +33,8 @@ static int ipc_devlink_get_param(struct devlink *dl, u32 id,
>
> /* Set the param values for the specific param ID's */
> static int ipc_devlink_set_param(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct iosm_devlink *ipc_devlink = devlink_priv(dl);
>
>diff --git a/include/net/devlink.h b/include/net/devlink.h
>index 9ac394bdfbe4..12f14be44e53 100644
>--- a/include/net/devlink.h
>+++ b/include/net/devlink.h
>@@ -483,7 +483,8 @@ struct devlink_param {
> int (*get)(struct devlink *devlink, u32 id,
> struct devlink_param_gset_ctx *ctx);
> int (*set)(struct devlink *devlink, u32 id,
>- struct devlink_param_gset_ctx *ctx);
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack);
> int (*validate)(struct devlink *devlink, u32 id,
> union devlink_param_value val,
> struct netlink_ext_ack *extack);
>diff --git a/include/net/dsa.h b/include/net/dsa.h
>index 7c0da9effe4e..140b80e1a88c 100644
>--- a/include/net/dsa.h
>+++ b/include/net/dsa.h
>@@ -1247,7 +1247,8 @@ struct dsa_switch_ops {
> int dsa_devlink_param_get(struct devlink *dl, u32 id,
> struct devlink_param_gset_ctx *ctx);
> int dsa_devlink_param_set(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx);
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack);
> int dsa_devlink_params_register(struct dsa_switch *ds,
> const struct devlink_param *params,
> size_t params_count);
>diff --git a/net/devlink/param.c b/net/devlink/param.c
>index 22bc3b500518..dcf0d1ccebba 100644
>--- a/net/devlink/param.c
>+++ b/net/devlink/param.c
>@@ -158,11 +158,12 @@ static int devlink_param_get(struct devlink *devlink,
>
> static int devlink_param_set(struct devlink *devlink,
> const struct devlink_param *param,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> if (!param->set)
> return -EOPNOTSUPP;
>- return param->set(devlink, param->id, ctx);
>+ return param->set(devlink, param->id, ctx, extack);
> }
>
> static int
>@@ -571,7 +572,7 @@ static int __devlink_nl_cmd_param_set_doit(struct devlink *devlink,
> return -EOPNOTSUPP;
> ctx.val = value;
> ctx.cmode = cmode;
>- err = devlink_param_set(devlink, param, &ctx);
>+ err = devlink_param_set(devlink, param, &ctx, info->extack);
> if (err)
> return err;
> }
>diff --git a/net/dsa/devlink.c b/net/dsa/devlink.c
>index 431bf52290a1..0aac887d0098 100644
>--- a/net/dsa/devlink.c
>+++ b/net/dsa/devlink.c
>@@ -194,7 +194,8 @@ int dsa_devlink_param_get(struct devlink *dl, u32 id,
> EXPORT_SYMBOL_GPL(dsa_devlink_param_get);
>
> int dsa_devlink_param_set(struct devlink *dl, u32 id,
>- struct devlink_param_gset_ctx *ctx)
>+ struct devlink_param_gset_ctx *ctx,
>+ struct netlink_ext_ack *extack)
> {
> struct dsa_switch *ds = dsa_devlink_to_ds(dl);
>
>--
>2.38.1
>
next prev parent reply other threads:[~2024-03-06 8:33 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-05 14:39 [Intel-wired-lan] [PATCH iwl-next v6 0/6] ice: Support 5 layer Tx scheduler topology Mateusz Polchlopek
2024-03-05 14:39 ` Mateusz Polchlopek
2024-03-05 14:39 ` [Intel-wired-lan] [PATCH iwl-next v6 1/6] devlink: extend devlink_param *set pointer Mateusz Polchlopek
2024-03-05 14:39 ` Mateusz Polchlopek
2024-03-06 8:32 ` Jiri Pirko [this message]
2024-03-06 8:32 ` Jiri Pirko
2024-03-05 14:39 ` [Intel-wired-lan] [PATCH iwl-next v6 2/6] ice: Support 5 layer topology Mateusz Polchlopek
2024-03-05 14:39 ` Mateusz Polchlopek
2024-03-05 14:39 ` [Intel-wired-lan] [PATCH iwl-next v6 3/6] ice: Adjust the VSI/Aggregator layers Mateusz Polchlopek
2024-03-05 14:39 ` Mateusz Polchlopek
2024-03-05 14:39 ` [Intel-wired-lan] [PATCH iwl-next v6 4/6] ice: Enable switching default Tx scheduler topology Mateusz Polchlopek
2024-03-05 14:39 ` Mateusz Polchlopek
2024-03-05 14:39 ` [Intel-wired-lan] [PATCH iwl-next v6 5/6] ice: Add tx_scheduling_layers devlink param Mateusz Polchlopek
2024-03-05 14:39 ` Mateusz Polchlopek
2024-03-06 8:41 ` Jiri Pirko
2024-03-06 8:41 ` Jiri Pirko
2024-03-08 10:16 ` Mateusz Polchlopek
2024-03-08 10:16 ` Mateusz Polchlopek
2024-03-11 8:17 ` Jiri Pirko
2024-03-11 8:17 ` Jiri Pirko
2024-03-11 12:49 ` Mateusz Polchlopek
2024-03-11 12:49 ` Mateusz Polchlopek
2024-03-11 16:09 ` Jiri Pirko
2024-03-11 16:09 ` Jiri Pirko
2024-03-05 14:39 ` [Intel-wired-lan] [PATCH iwl-next v6 6/6] ice: Document tx_scheduling_layers parameter Mateusz Polchlopek
2024-03-05 14:39 ` Mateusz Polchlopek
2024-03-06 8:43 ` Jiri Pirko
2024-03-06 8:43 ` Jiri Pirko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZegqNZULwmHjC9oA@nanopsycho \
--to=jiri@resnulli.us \
--cc=andrew@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=horms@kernel.org \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=kuba@kernel.org \
--cc=lukasz.czapnik@intel.com \
--cc=mateusz.polchlopek@intel.com \
--cc=michal.wilczynski@intel.com \
--cc=netdev@vger.kernel.org \
--cc=przemyslaw.kitszel@intel.com \
--cc=victor.raj@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.