Message ID | 20221010131538.7333-2-nfrayer@baylibre.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | soc: ti: Convert K3 SoC info driver to module | expand |
On 15:15-20221010, Nicolas Frayer wrote: [...] > +static int k3_chipinfo_remove(struct platform_device *pdev) > +{ > + struct soc_device *soc_dev = platform_get_drvdata(pdev); > > -err_free_rev: > - kfree(soc_dev_attr->revision); > -err: > - kfree(soc_dev_attr); > - return ret; > + if (soc_dev != NULL) next-20221017 checkpatch --strict suggests if (soc_dev) ? > + soc_device_unregister(soc_dev); > + > + return 0; > } >
Thanks Nishanth, I'll change this in next version. Le mar. 18 oct. 2022 à 00:15, Nishanth Menon <nm@ti.com> a écrit : > > On 15:15-20221010, Nicolas Frayer wrote: > [...] > > > +static int k3_chipinfo_remove(struct platform_device *pdev) > > +{ > > + struct soc_device *soc_dev = platform_get_drvdata(pdev); > > > > -err_free_rev: > > - kfree(soc_dev_attr->revision); > > -err: > > - kfree(soc_dev_attr); > > - return ret; > > + if (soc_dev != NULL) > > next-20221017 checkpatch --strict suggests if (soc_dev) ? > > > + soc_device_unregister(soc_dev); > > + > > + return 0; > > } > > > > -- > Regards, > Nishanth Menon > Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
Le mer. 19 oct. 2022 à 19:50, Nicolas Frayer <nfrayer@baylibre.com> a écrit : > > Thanks Nishanth, I'll change this in next version. > > Le mar. 18 oct. 2022 à 00:15, Nishanth Menon <nm@ti.com> a écrit : > > > > On 15:15-20221010, Nicolas Frayer wrote: > > [...] > > > > > +static int k3_chipinfo_remove(struct platform_device *pdev) > > > +{ > > > + struct soc_device *soc_dev = platform_get_drvdata(pdev); > > > > > > -err_free_rev: > > > - kfree(soc_dev_attr->revision); > > > -err: > > > - kfree(soc_dev_attr); > > > - return ret; > > > + if (soc_dev != NULL) > > > > next-20221017 checkpatch --strict suggests if (soc_dev) ? > > > > > + soc_device_unregister(soc_dev); > > > + > > > + return 0; > > > } > > > > > > > -- > > Regards, > > Nishanth Menon > > Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D [Sorry for top posting] Thanks Nishanth, I'll change this in next version.
diff --git a/drivers/soc/ti/k3-socinfo.c b/drivers/soc/ti/k3-socinfo.c index e6047b23a86f..3311797145ed 100644 --- a/drivers/soc/ti/k3-socinfo.c +++ b/drivers/soc/ti/k3-socinfo.c @@ -97,21 +97,18 @@ static int k3_chipinfo_probe(struct platform_device *pdev) partno_id = (jtag_id & CTRLMMR_WKUP_JTAGID_PARTNO_MASK) >> CTRLMMR_WKUP_JTAGID_PARTNO_SHIFT; - soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); + soc_dev_attr = devm_kzalloc(&pdev->dev, sizeof(*soc_dev_attr), GFP_KERNEL); if (!soc_dev_attr) return -ENOMEM; - soc_dev_attr->revision = kasprintf(GFP_KERNEL, "SR%x.0", variant); - if (!soc_dev_attr->revision) { - ret = -ENOMEM; - goto err; - } + soc_dev_attr->revision = devm_kasprintf(&pdev->dev, GFP_KERNEL, "SR%x.0", variant); + if (!soc_dev_attr->revision) + return -ENOMEM; ret = k3_chipinfo_partno_to_names(partno_id, soc_dev_attr); if (ret) { dev_err(dev, "Unknown SoC JTAGID[0x%08X]\n", jtag_id); - ret = -ENODEV; - goto err_free_rev; + return -ENODEV; } node = of_find_node_by_path("/"); @@ -119,22 +116,26 @@ static int k3_chipinfo_probe(struct platform_device *pdev) of_node_put(node); soc_dev = soc_device_register(soc_dev_attr); - if (IS_ERR(soc_dev)) { - ret = PTR_ERR(soc_dev); - goto err_free_rev; - } + if (IS_ERR(soc_dev)) + return PTR_ERR(soc_dev); + + platform_set_drvdata(pdev, soc_dev); dev_info(dev, "Family:%s rev:%s JTAGID[0x%08x] Detected\n", soc_dev_attr->family, soc_dev_attr->revision, jtag_id); return 0; +} + +static int k3_chipinfo_remove(struct platform_device *pdev) +{ + struct soc_device *soc_dev = platform_get_drvdata(pdev); -err_free_rev: - kfree(soc_dev_attr->revision); -err: - kfree(soc_dev_attr); - return ret; + if (soc_dev != NULL) + soc_device_unregister(soc_dev); + + return 0; } static const struct of_device_id k3_chipinfo_of_match[] = { @@ -148,6 +149,7 @@ static struct platform_driver k3_chipinfo_driver = { .of_match_table = k3_chipinfo_of_match, }, .probe = k3_chipinfo_probe, + .remove = k3_chipinfo_remove, }; static int __init k3_chipinfo_init(void)
Changed the memory and resource allocations in the probe function to devm. Also added a remove callback. Signed-off-by: Nicolas Frayer <nfrayer@baylibre.com> --- drivers/soc/ti/k3-socinfo.c | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-)