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. This same patch also removes the devlink_info_driver_name_put() function to prevent future drivers from reporting the driver name themselves. The second patch allows the core to call devlink_nl_info_fill() even if the devlink_ops::info_get() callback is NULL. This leads to the third and final patch which cleans up the drivers which have an empty info_get(). --- * Changelog * v5 -> v6: * No change in code. * add Reviewed-by: Jacob Keller tag. * add Reviewed-by: Jiri Pirko tag. * squash patches 1 and 2 together. * [PATCH 1/3]: remove the paragraph explaining why attributes get duplicated if nla_put() is called twice. v4 -> v5: * No change in code. * [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@xxxxxxxxxx/ 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@xxxxxxxxx/ Vincent Mailhol (3): net: devlink: let the core report the driver name instead of the drivers 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