Re: [PATCH 3/9] EDAC/versalnet: Move platform_set_drvdata() to mc_probe()
"Pandey, Radhey Shyam" <[email protected]> Mon, 27 Jul 2026 14:05:11 +0530
| Newsgroups | org.kernel.vger.linux-edac,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 7/24/2026 10:49 PM, Shubhrajyoti Datta wrote: > 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]> Reviewed-by: Radhey Shyam Pandey <[email protected]> Thanks! > --- > > 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; >