[PATCH 3/9] EDAC/versalnet: Move platform_set_drvdata() to mc_probe()
Shubhrajyoti Datta <[email protected]> Fri, 24 Jul 2026 22:49:39 +0530
| Newsgroups | org.kernel.vger.linux-edac,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Move platform_set_drvdata() out of init_one_mc() and into mc_probe() so that the driver data is set once during probe rather than being redundantly set on each memory controller initialization. The pdev parameter in init_one_mc() and init_versalnet() is no longer referenced. Remove it from both function signatures. Signed-off-by: Shubhrajyoti Datta <[email protected]> --- drivers/edac/versalnet_edac.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/edac/versalnet_edac.c b/drivers/edac/versalnet_edac.c index 05dc34504cc2..03b6e0958f17 100644 --- a/drivers/edac/versalnet_edac.c +++ b/drivers/edac/versalnet_edac.c @@ -777,7 +777,7 @@ static void remove_one_mc(struct mc_priv *priv, int i) edac_mc_free(mci); } -static int init_one_mc(struct mc_priv *priv, struct platform_device *pdev, int i) +static int init_one_mc(struct mc_priv *priv, int i) { u32 num_chans, rank, dwidth, config; struct edac_mc_layer layers[2]; @@ -849,8 +849,6 @@ static int init_one_mc(struct mc_priv *priv, struct platform_device *pdev, int i priv->mci[i] = mci; priv->dwidth = dt; - platform_set_drvdata(pdev, priv); - return 0; err_unreg: @@ -863,12 +861,12 @@ static int init_one_mc(struct mc_priv *priv, struct platform_device *pdev, int i return rc; } -static int init_versalnet(struct mc_priv *priv, struct platform_device *pdev) +static int init_versalnet(struct mc_priv *priv) { int rc, i; for (i = 0; i < NUM_CONTROLLERS; i++) { - rc = init_one_mc(priv, pdev, i); + rc = init_one_mc(priv, i); if (rc) { while (i--) remove_one_mc(priv, i); @@ -914,6 +912,7 @@ static int mc_probe(struct platform_device *pdev) goto err_alloc; } + platform_set_drvdata(pdev, priv); amd_rpmsg_id_table[0].driver_data = (kernel_ulong_t)priv; rc = register_rpmsg_driver(&amd_rpmsg_driver); @@ -928,7 +927,7 @@ static int mc_probe(struct platform_device *pdev) priv->mcdi->r5_rproc = rp; - rc = init_versalnet(priv, pdev); + rc = init_versalnet(priv); if (rc) goto err_init; -- 2.34.1