From: Leon Romanovsky <leon@kernel.org> To: "David S . Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org> Cc: Leon Romanovsky <leonro@nvidia.com>, Alexandre Belloni <alexandre.belloni@bootlin.com>, Andrew Lunn <andrew@lunn.ch>, Ariel Elior <aelior@marvell.com>, Bin Luo <luobin9@huawei.com>, Claudiu Manoil <claudiu.manoil@nxp.com>, Coiby Xu <coiby.xu@gmail.com>, Derek Chickles <dchickles@marvell.com>, drivers@pensando.io, Felix Manlunas <fmanlunas@marvell.com>, Florian Fainelli <f.fainelli@gmail.com>, Geetha sowjanya <gakula@marvell.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, GR-everest-linux-l2@marvell.com, GR-Linux-NIC-Dev@marvell.com, hariprasad <hkelam@marvell.com>, Ido Schimmel <idosch@nvidia.com>, Intel Corporation <linuxwwan@intel.com>, intel-wired-lan@lists.osuosl.org, Ioana Ciornei <ioana.ciornei@nxp.com>, Jerin Jacob <jerinj@marvell.com>, Jesse Brandeburg <jesse.brandeburg@intel.com>, Jiri Pirko <jiri@nvidia.com>, Jonathan Lemon <jonathan.lemon@gmail.com>, Linu Cherian <lcherian@marvell.com>, linux-kernel@vger.kernel.org, linux-omap@vger.kernel.org, linux-rdma@vger.kernel.org, linux-staging@lists.linux.dev, Loic Poulain <loic.poulain@linaro.org>, Manish Chopra <manishc@marvell.com>, M Chetan Kumar <m.chetan.kumar@intel.com>, Michael Chan <michael.chan@broadcom.com>, Michael Guralnik <michaelgur@mellanox.com>, netdev@vger.kernel.org, oss-drivers@corigine.com, Richard Cochran <richardcochran@gmail.com>, Saeed Mahameed <saeedm@nvidia.com>, Satanand Burla <sburla@marvell.com>, Sergey Ryazanov <ryazanov.s.a@gmail.com>, Shannon Nelson <snelson@pensando.io>, Simon Horman <simon.horman@corigine.com>, Subbaraya Sundeep <sbhatta@marvell.com>, Sunil Goutham <sgoutham@marvell.com>, Taras Chornyi <tchornyi@marvell.com>, Tariq Toukan <tariqt@nvidia.com>, Tony Nguyen <anthony.l.nguyen@intel.com>, UNGLinuxDriver@microchip.com, Vadym Kochan <vkochan@marvell.com>, Vivien Didelot <vivien.didelot@gmail.com>, Vladimir Oltean <vladimir.oltean@nxp.com> Subject: [PATCH net-next v1 04/21] dpaa2-eth: Register devlink instance at the end of probe Date: Sat, 25 Sep 2021 14:22:44 +0300 [thread overview] Message-ID: <c6abd202014523d6e685a97c0ec844d2756ffd34.1632565508.git.leonro@nvidia.com> (raw) In-Reply-To: <cover.1632565508.git.leonro@nvidia.com> From: Leon Romanovsky <leonro@nvidia.com> Move devlink_register to be the last command in the initialization sequence. Signed-off-by: Leon Romanovsky <leonro@nvidia.com> --- .../ethernet/freescale/dpaa2/dpaa2-eth-devlink.c | 14 +++++++++++--- drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 9 ++++++--- drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | 5 ++++- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c index 426926fb6fc6..7fefe1574b6a 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c @@ -189,7 +189,7 @@ static const struct devlink_ops dpaa2_eth_devlink_ops = { .trap_group_action_set = dpaa2_eth_dl_trap_group_action_set, }; -int dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv) +int dpaa2_eth_dl_alloc(struct dpaa2_eth_priv *priv) { struct net_device *net_dev = priv->net_dev; struct device *dev = net_dev->dev.parent; @@ -203,15 +203,23 @@ int dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv) } dl_priv = devlink_priv(priv->devlink); dl_priv->dpaa2_priv = priv; + return 0; +} + +void dpaa2_eth_dl_free(struct dpaa2_eth_priv *priv) +{ + devlink_free(priv->devlink); +} + +void dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv) +{ devlink_register(priv->devlink); - return 0; } void dpaa2_eth_dl_unregister(struct dpaa2_eth_priv *priv) { devlink_unregister(priv->devlink); - devlink_free(priv->devlink); } int dpaa2_eth_dl_port_add(struct dpaa2_eth_priv *priv) diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c index 7065c71ed7b8..03c168b1712f 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c @@ -4431,7 +4431,7 @@ static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev) if (err) goto err_connect_mac; - err = dpaa2_eth_dl_register(priv); + err = dpaa2_eth_dl_alloc(priv); if (err) goto err_dl_register; @@ -4453,6 +4453,7 @@ static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev) dpaa2_dbg_add(priv); #endif + dpaa2_eth_dl_register(priv); dev_info(dev, "Probed interface %s\n", net_dev->name); return 0; @@ -4461,7 +4462,7 @@ static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev) err_dl_port_add: dpaa2_eth_dl_traps_unregister(priv); err_dl_trap_register: - dpaa2_eth_dl_unregister(priv); + dpaa2_eth_dl_free(priv); err_dl_register: dpaa2_eth_disconnect_mac(priv); err_connect_mac: @@ -4508,6 +4509,8 @@ static int dpaa2_eth_remove(struct fsl_mc_device *ls_dev) net_dev = dev_get_drvdata(dev); priv = netdev_priv(net_dev); + dpaa2_eth_dl_unregister(priv); + #ifdef CONFIG_DEBUG_FS dpaa2_dbg_remove(priv); #endif @@ -4519,7 +4522,7 @@ static int dpaa2_eth_remove(struct fsl_mc_device *ls_dev) dpaa2_eth_dl_port_del(priv); dpaa2_eth_dl_traps_unregister(priv); - dpaa2_eth_dl_unregister(priv); + dpaa2_eth_dl_free(priv); if (priv->do_link_poll) kthread_stop(priv->poll_thread); diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h index cdb623d5f2c1..628d2d45f045 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h @@ -725,7 +725,10 @@ void dpaa2_eth_set_rx_taildrop(struct dpaa2_eth_priv *priv, extern const struct dcbnl_rtnl_ops dpaa2_eth_dcbnl_ops; -int dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv); +int dpaa2_eth_dl_alloc(struct dpaa2_eth_priv *priv); +void dpaa2_eth_dl_free(struct dpaa2_eth_priv *priv); + +void dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv); void dpaa2_eth_dl_unregister(struct dpaa2_eth_priv *priv); int dpaa2_eth_dl_port_add(struct dpaa2_eth_priv *priv); -- 2.31.1
WARNING: multiple messages have this Message-ID (diff)
From: Leon Romanovsky <leon@kernel.org> To: intel-wired-lan@osuosl.org Subject: [Intel-wired-lan] [PATCH net-next v1 04/21] dpaa2-eth: Register devlink instance at the end of probe Date: Sat, 25 Sep 2021 14:22:44 +0300 [thread overview] Message-ID: <c6abd202014523d6e685a97c0ec844d2756ffd34.1632565508.git.leonro@nvidia.com> (raw) In-Reply-To: <cover.1632565508.git.leonro@nvidia.com> From: Leon Romanovsky <leonro@nvidia.com> Move devlink_register to be the last command in the initialization sequence. Signed-off-by: Leon Romanovsky <leonro@nvidia.com> --- .../ethernet/freescale/dpaa2/dpaa2-eth-devlink.c | 14 +++++++++++--- drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 9 ++++++--- drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | 5 ++++- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c index 426926fb6fc6..7fefe1574b6a 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c @@ -189,7 +189,7 @@ static const struct devlink_ops dpaa2_eth_devlink_ops = { .trap_group_action_set = dpaa2_eth_dl_trap_group_action_set, }; -int dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv) +int dpaa2_eth_dl_alloc(struct dpaa2_eth_priv *priv) { struct net_device *net_dev = priv->net_dev; struct device *dev = net_dev->dev.parent; @@ -203,15 +203,23 @@ int dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv) } dl_priv = devlink_priv(priv->devlink); dl_priv->dpaa2_priv = priv; + return 0; +} + +void dpaa2_eth_dl_free(struct dpaa2_eth_priv *priv) +{ + devlink_free(priv->devlink); +} + +void dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv) +{ devlink_register(priv->devlink); - return 0; } void dpaa2_eth_dl_unregister(struct dpaa2_eth_priv *priv) { devlink_unregister(priv->devlink); - devlink_free(priv->devlink); } int dpaa2_eth_dl_port_add(struct dpaa2_eth_priv *priv) diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c index 7065c71ed7b8..03c168b1712f 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c @@ -4431,7 +4431,7 @@ static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev) if (err) goto err_connect_mac; - err = dpaa2_eth_dl_register(priv); + err = dpaa2_eth_dl_alloc(priv); if (err) goto err_dl_register; @@ -4453,6 +4453,7 @@ static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev) dpaa2_dbg_add(priv); #endif + dpaa2_eth_dl_register(priv); dev_info(dev, "Probed interface %s\n", net_dev->name); return 0; @@ -4461,7 +4462,7 @@ static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev) err_dl_port_add: dpaa2_eth_dl_traps_unregister(priv); err_dl_trap_register: - dpaa2_eth_dl_unregister(priv); + dpaa2_eth_dl_free(priv); err_dl_register: dpaa2_eth_disconnect_mac(priv); err_connect_mac: @@ -4508,6 +4509,8 @@ static int dpaa2_eth_remove(struct fsl_mc_device *ls_dev) net_dev = dev_get_drvdata(dev); priv = netdev_priv(net_dev); + dpaa2_eth_dl_unregister(priv); + #ifdef CONFIG_DEBUG_FS dpaa2_dbg_remove(priv); #endif @@ -4519,7 +4522,7 @@ static int dpaa2_eth_remove(struct fsl_mc_device *ls_dev) dpaa2_eth_dl_port_del(priv); dpaa2_eth_dl_traps_unregister(priv); - dpaa2_eth_dl_unregister(priv); + dpaa2_eth_dl_free(priv); if (priv->do_link_poll) kthread_stop(priv->poll_thread); diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h index cdb623d5f2c1..628d2d45f045 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h @@ -725,7 +725,10 @@ void dpaa2_eth_set_rx_taildrop(struct dpaa2_eth_priv *priv, extern const struct dcbnl_rtnl_ops dpaa2_eth_dcbnl_ops; -int dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv); +int dpaa2_eth_dl_alloc(struct dpaa2_eth_priv *priv); +void dpaa2_eth_dl_free(struct dpaa2_eth_priv *priv); + +void dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv); void dpaa2_eth_dl_unregister(struct dpaa2_eth_priv *priv); int dpaa2_eth_dl_port_add(struct dpaa2_eth_priv *priv); -- 2.31.1
next prev parent reply other threads:[~2021-09-25 11:23 UTC|newest] Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-25 11:22 [PATCH net-next v1 00/21] Move devlink_register to be last devlink command Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 01/21] devlink: Notify users when objects are accessible Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-28 2:49 ` Eric Dumazet 2021-09-28 2:49 ` [Intel-wired-lan] " Eric Dumazet 2021-09-28 7:34 ` Leon Romanovsky 2021-09-28 7:34 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 02/21] bnxt_en: Register devlink instance at the end devlink configuration Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 03/21] liquidio: Overcome missing device lock protection in init/remove flows Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` Leon Romanovsky [this message] 2021-09-25 11:22 ` [Intel-wired-lan] [PATCH net-next v1 04/21] dpaa2-eth: Register devlink instance at the end of probe Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 05/21] net: hinic: Open device for the user access when it is ready Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 06/21] ice: Open devlink when device " Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-27 19:47 ` Jesse Brandeburg 2021-09-27 19:47 ` [Intel-wired-lan] " Jesse Brandeburg 2021-09-25 11:22 ` [PATCH net-next v1 07/21] octeontx2: Move devlink registration to be last devlink command Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 08/21] net/prestera: Split devlink and traps registrations to separate routines Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 09/21] net/mlx4: Move devlink_register to be the last initialization command Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 10/21] net/mlx5: Accept devlink user input after driver initialization complete Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 11/21] mlxsw: core: Register devlink instance last Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-26 14:56 ` Ido Schimmel 2021-09-26 14:56 ` [Intel-wired-lan] " Ido Schimmel 2021-09-26 14:56 ` Ido Schimmel 2021-09-25 11:22 ` [PATCH net-next v1 12/21] net: mscc: ocelot: delay devlink registration to the end Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 13/21] nfp: Move delink_register to be last command Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-27 8:39 ` Simon Horman 2021-09-27 8:39 ` [Intel-wired-lan] " Simon Horman 2021-09-27 11:53 ` Leon Romanovsky 2021-09-27 11:53 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-27 12:20 ` Simon Horman 2021-09-27 12:20 ` [Intel-wired-lan] " Simon Horman 2021-09-25 11:22 ` [PATCH net-next v1 14/21] ionic: Move devlink registration to be last devlink command Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-27 16:07 ` Shannon Nelson 2021-09-27 16:07 ` [Intel-wired-lan] " Shannon Nelson 2021-09-25 11:22 ` [PATCH net-next v1 15/21] qed: " Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 16/21] net: ethernet: ti: " Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 17/21] netdevsim: " Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 18/21] net: wwan: iosm: Move devlink_register " Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:22 ` [PATCH net-next v1 19/21] ptp: ocp: Move devlink registration " Leon Romanovsky 2021-09-25 11:22 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:23 ` [PATCH net-next v1 20/21] staging: qlge: " Leon Romanovsky 2021-09-25 11:23 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-25 11:23 ` [PATCH net-next v1 21/21] net: dsa: " Leon Romanovsky 2021-09-25 11:23 ` [Intel-wired-lan] " Leon Romanovsky 2021-09-29 13:02 ` Vladimir Oltean 2021-09-29 13:02 ` [Intel-wired-lan] " Vladimir Oltean 2021-09-29 13:07 ` Leon Romanovsky 2021-09-29 13:07 ` [Intel-wired-lan] " Leon Romanovsky
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=c6abd202014523d6e685a97c0ec844d2756ffd34.1632565508.git.leonro@nvidia.com \ --to=leon@kernel.org \ --cc=GR-Linux-NIC-Dev@marvell.com \ --cc=GR-everest-linux-l2@marvell.com \ --cc=UNGLinuxDriver@microchip.com \ --cc=aelior@marvell.com \ --cc=alexandre.belloni@bootlin.com \ --cc=andrew@lunn.ch \ --cc=anthony.l.nguyen@intel.com \ --cc=claudiu.manoil@nxp.com \ --cc=coiby.xu@gmail.com \ --cc=davem@davemloft.net \ --cc=dchickles@marvell.com \ --cc=drivers@pensando.io \ --cc=f.fainelli@gmail.com \ --cc=fmanlunas@marvell.com \ --cc=gakula@marvell.com \ --cc=gregkh@linuxfoundation.org \ --cc=hkelam@marvell.com \ --cc=idosch@nvidia.com \ --cc=intel-wired-lan@lists.osuosl.org \ --cc=ioana.ciornei@nxp.com \ --cc=jerinj@marvell.com \ --cc=jesse.brandeburg@intel.com \ --cc=jiri@nvidia.com \ --cc=jonathan.lemon@gmail.com \ --cc=kuba@kernel.org \ --cc=lcherian@marvell.com \ --cc=leonro@nvidia.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-omap@vger.kernel.org \ --cc=linux-rdma@vger.kernel.org \ --cc=linux-staging@lists.linux.dev \ --cc=linuxwwan@intel.com \ --cc=loic.poulain@linaro.org \ --cc=luobin9@huawei.com \ --cc=m.chetan.kumar@intel.com \ --cc=manishc@marvell.com \ --cc=michael.chan@broadcom.com \ --cc=michaelgur@mellanox.com \ --cc=netdev@vger.kernel.org \ --cc=oss-drivers@corigine.com \ --cc=richardcochran@gmail.com \ --cc=ryazanov.s.a@gmail.com \ --cc=saeedm@nvidia.com \ --cc=sbhatta@marvell.com \ --cc=sburla@marvell.com \ --cc=sgoutham@marvell.com \ --cc=simon.horman@corigine.com \ --cc=snelson@pensando.io \ --cc=tariqt@nvidia.com \ --cc=tchornyi@marvell.com \ --cc=vivien.didelot@gmail.com \ --cc=vkochan@marvell.com \ --cc=vladimir.oltean@nxp.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: linkBe 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.