mbox series

[net-next,v5,0/4] net: devlink: return the driver name in devlink_nl_info_fill

Message ID 20221129000550.3833570-1-mailhol.vincent@wanadoo.fr (mailing list archive)
Headers show
Series net: devlink: return the driver name in devlink_nl_info_fill | expand

Message

Vincent Mailhol Nov. 29, 2022, 12:05 a.m. UTC
The driver name is available in device_driver::name. Right now,
drivers still have to report this piece of information themselves in
their devlink_ops::info_get callback function.

The goal of this series is to have the devlink core to report this
information instead of the drivers.

The first patch fulfills the actual goal of this series: modify
devlink core to report the driver name and clean-up all drivers. Both
have to be done in an atomic change to avoid attribute duplication.

The second patch removes the devlink_info_driver_name_put() function
to prevent future drivers from reporting the driver name themselves.

The third patch allows the core to call devlink_nl_info_fill() even if
the devlink_ops::info_get() callback is NULL. This leads to the fourth
and final patch which cleans up the drivers which have an empty
info_get().
---
* Changelog *

v4 -> v5

  * [PATCH 1/4] add Tested-by: Ido Schimmel tag.

  * split patch 3/3 in two patches.

v3 -> v4

  * Ido pointed out that the mlxsw did not need to be fixed:
    https://lore.kernel.org/netdev/Y4ONgD4dAj8yU2%2F+@shredder/
    Remove the first two patches from the series.

v2 -> v3

  * [PATCH 3/5] remove the call to devlink_info_driver_name_put() in
    mlxsw driver as well (this was missing in v2, making the build
    fail... sorry for the noise).

  * add additional people in CC as pointed by netdev patchwork CI:
    https://patchwork.kernel.org/project/netdevbpf/list/?series=699451

  * use the "Link:" prefix before URL to silence checkpatch's line
    length warning.


RFC v1 -> v2

  * drop the RFC tag

  * big rework following the discussion on RFC:
    https://lore.kernel.org/netdev/20221122154934.13937-1-mailhol.vincent@wanadoo.fr/
    Went from one patch to a series of five patches:

  * drop the idea to report the USB serial number following Greg's
    comment:
    https://lore.kernel.org/linux-usb/Y3+VfNdt%2FK7UtRcw@kroah.com/

Vincent Mailhol (4):
  net: devlink: let the core report the driver name instead of the
    drivers
  net: devlink: remove devlink_info_driver_name_put()
  net: devlink: make the devlink_ops::info_get() callback optional
  net: devlink: clean-up empty devlink_ops::info_get()

 .../marvell/octeontx2/otx2_cpt_devlink.c      |  4 ---
 drivers/net/dsa/hirschmann/hellcreek.c        |  5 ---
 drivers/net/dsa/mv88e6xxx/devlink.c           |  5 ---
 drivers/net/dsa/sja1105/sja1105_devlink.c     | 12 ++-----
 .../net/ethernet/broadcom/bnxt/bnxt_devlink.c |  4 ---
 .../freescale/dpaa2/dpaa2-eth-devlink.c       | 11 +-----
 .../ethernet/fungible/funeth/funeth_devlink.c |  7 ----
 .../hisilicon/hns3/hns3pf/hclge_devlink.c     |  5 ---
 .../hisilicon/hns3/hns3vf/hclgevf_devlink.c   |  5 ---
 drivers/net/ethernet/intel/ice/ice_devlink.c  |  6 ----
 .../marvell/octeontx2/af/rvu_devlink.c        |  7 ----
 .../marvell/octeontx2/nic/otx2_devlink.c      | 15 --------
 .../marvell/prestera/prestera_devlink.c       |  5 ---
 .../net/ethernet/mellanox/mlx5/core/devlink.c |  4 ---
 drivers/net/ethernet/mellanox/mlxsw/core.c    |  5 ---
 .../net/ethernet/netronome/nfp/nfp_devlink.c  |  4 ---
 .../ethernet/pensando/ionic/ionic_devlink.c   |  4 ---
 drivers/net/ethernet/qlogic/qed/qed_devlink.c |  4 ---
 drivers/net/netdevsim/dev.c                   |  3 --
 drivers/ptp/ptp_ocp.c                         |  4 ---
 include/net/devlink.h                         |  2 --
 net/core/devlink.c                            | 35 ++++++++++++-------
 22 files changed, 26 insertions(+), 130 deletions(-)

Comments

Jacob Keller Nov. 29, 2022, 12:25 a.m. UTC | #1
> -----Original Message-----
> From: Vincent Mailhol <vincent.mailhol@gmail.com> On Behalf Of Vincent
> Mailhol
> Sent: Monday, November 28, 2022 4:06 PM
> To: Jiri Pirko <jiri@nvidia.com>; netdev@vger.kernel.org; Jakub Kicinski
> <kuba@kernel.org>
> Cc: David S . Miller <davem@davemloft.net>; Eric Dumazet
> <edumazet@google.com>; Paolo Abeni <pabeni@redhat.com>; linux-
> kernel@vger.kernel.org; Boris Brezillon <bbrezillon@kernel.org>; Arnaud Ebalard
> <arno@natisbad.org>; Srujana Challa <schalla@marvell.com>; Kurt Kanzenbach
> <kurt@linutronix.de>; Andrew Lunn <andrew@lunn.ch>; Florian Fainelli
> <f.fainelli@gmail.com>; Vladimir Oltean <olteanv@gmail.com>; Michael Chan
> <michael.chan@broadcom.com>; Ioana Ciornei <ioana.ciornei@nxp.com>;
> Dimitris Michailidis <dmichail@fungible.com>; Yisen Zhuang
> <yisen.zhuang@huawei.com>; Salil Mehta <salil.mehta@huawei.com>;
> Brandeburg, Jesse <jesse.brandeburg@intel.com>; Nguyen, Anthony L
> <anthony.l.nguyen@intel.com>; Sunil Goutham <sgoutham@marvell.com>; Linu
> Cherian <lcherian@marvell.com>; Geetha sowjanya <gakula@marvell.com>;
> Jerin Jacob <jerinj@marvell.com>; hariprasad <hkelam@marvell.com>;
> Subbaraya Sundeep <sbhatta@marvell.com>; Taras Chornyi
> <tchornyi@marvell.com>; Saeed Mahameed <saeedm@nvidia.com>; Leon
> Romanovsky <leon@kernel.org>; Ido Schimmel <idosch@nvidia.com>; Petr
> Machata <petrm@nvidia.com>; Simon Horman <simon.horman@corigine.com>;
> Shannon Nelson <snelson@pensando.io>; drivers@pensando.io; Ariel Elior
> <aelior@marvell.com>; Manish Chopra <manishc@marvell.com>; Jonathan
> Lemon <jonathan.lemon@gmail.com>; Vadim Fedorenko <vadfed@fb.com>;
> Richard Cochran <richardcochran@gmail.com>; Vadim Pasternak
> <vadimp@mellanox.com>; Shalom Toledo <shalomt@mellanox.com>; linux-
> crypto@vger.kernel.org; intel-wired-lan@lists.osuosl.org; linux-
> rdma@vger.kernel.org; oss-drivers@corigine.com; Jiri Pirko
> <jiri@mellanox.com>; Herbert Xu <herbert@gondor.apana.org.au>; Hao Chen
> <chenhao288@hisilicon.com>; Guangbin Huang
> <huangguangbin2@huawei.com>; Minghao Chi <chi.minghao@zte.com.cn>;
> Shijith Thotton <sthotton@marvell.com>; Vincent Mailhol
> <mailhol.vincent@wanadoo.fr>
> Subject: [PATCH net-next v5 0/4] net: devlink: return the driver name in
> devlink_nl_info_fill
> 
> The driver name is available in device_driver::name. Right now,
> drivers still have to report this piece of information themselves in
> their devlink_ops::info_get callback function.
> 
> The goal of this series is to have the devlink core to report this
> information instead of the drivers.
> 
> The first patch fulfills the actual goal of this series: modify
> devlink core to report the driver name and clean-up all drivers. Both
> have to be done in an atomic change to avoid attribute duplication.
> 
> The second patch removes the devlink_info_driver_name_put() function
> to prevent future drivers from reporting the driver name themselves.
> 
> The third patch allows the core to call devlink_nl_info_fill() even if
> the devlink_ops::info_get() callback is NULL. This leads to the fourth
> and final patch which cleans up the drivers which have an empty
> info_get().
> ---

Reviewed-by: Jacob Keller  <jacob.e.keller@intel.com>

I'm fine with keeping it 4 patches as-is. Thanks!

> * Changelog *
> 
> v4 -> v5
> 
>   * [PATCH 1/4] add Tested-by: Ido Schimmel tag.
> 
>   * split patch 3/3 in two patches.
> 
> v3 -> v4
> 
>   * Ido pointed out that the mlxsw did not need to be fixed:
>     https://lore.kernel.org/netdev/Y4ONgD4dAj8yU2%2F+@shredder/
>     Remove the first two patches from the series.
> 
> v2 -> v3
> 
>   * [PATCH 3/5] remove the call to devlink_info_driver_name_put() in
>     mlxsw driver as well (this was missing in v2, making the build
>     fail... sorry for the noise).
> 
>   * add additional people in CC as pointed by netdev patchwork CI:
>     https://patchwork.kernel.org/project/netdevbpf/list/?series=699451
> 
>   * use the "Link:" prefix before URL to silence checkpatch's line
>     length warning.
> 
> 
> RFC v1 -> v2
> 
>   * drop the RFC tag
> 
>   * big rework following the discussion on RFC:
>     https://lore.kernel.org/netdev/20221122154934.13937-1-
> mailhol.vincent@wanadoo.fr/
>     Went from one patch to a series of five patches:
> 
>   * drop the idea to report the USB serial number following Greg's
>     comment:
>     https://lore.kernel.org/linux-usb/Y3+VfNdt%2FK7UtRcw@kroah.com/
> 
> Vincent Mailhol (4):
>   net: devlink: let the core report the driver name instead of the
>     drivers
>   net: devlink: remove devlink_info_driver_name_put()
>   net: devlink: make the devlink_ops::info_get() callback optional
>   net: devlink: clean-up empty devlink_ops::info_get()
> 
>  .../marvell/octeontx2/otx2_cpt_devlink.c      |  4 ---
>  drivers/net/dsa/hirschmann/hellcreek.c        |  5 ---
>  drivers/net/dsa/mv88e6xxx/devlink.c           |  5 ---
>  drivers/net/dsa/sja1105/sja1105_devlink.c     | 12 ++-----
>  .../net/ethernet/broadcom/bnxt/bnxt_devlink.c |  4 ---
>  .../freescale/dpaa2/dpaa2-eth-devlink.c       | 11 +-----
>  .../ethernet/fungible/funeth/funeth_devlink.c |  7 ----
>  .../hisilicon/hns3/hns3pf/hclge_devlink.c     |  5 ---
>  .../hisilicon/hns3/hns3vf/hclgevf_devlink.c   |  5 ---
>  drivers/net/ethernet/intel/ice/ice_devlink.c  |  6 ----
>  .../marvell/octeontx2/af/rvu_devlink.c        |  7 ----
>  .../marvell/octeontx2/nic/otx2_devlink.c      | 15 --------
>  .../marvell/prestera/prestera_devlink.c       |  5 ---
>  .../net/ethernet/mellanox/mlx5/core/devlink.c |  4 ---
>  drivers/net/ethernet/mellanox/mlxsw/core.c    |  5 ---
>  .../net/ethernet/netronome/nfp/nfp_devlink.c  |  4 ---
>  .../ethernet/pensando/ionic/ionic_devlink.c   |  4 ---
>  drivers/net/ethernet/qlogic/qed/qed_devlink.c |  4 ---
>  drivers/net/netdevsim/dev.c                   |  3 --
>  drivers/ptp/ptp_ocp.c                         |  4 ---
>  include/net/devlink.h                         |  2 --
>  net/core/devlink.c                            | 35 ++++++++++++-------
>  22 files changed, 26 insertions(+), 130 deletions(-)
> 
> --
> 2.25.1