On Tuesday, 28. January 2014 14:16:39 Manish Badarkhe wrote: > Hi Heiko > > Thank you for your reply. > > On Tue, Jan 28, 2014 at 1:08 PM, Heiko Stübner <heiko@xxxxxxxxx> wrote: > > On Tuesday, 28. January 2014 12:46:01 Manish Badarkhe wrote: > >> Hi Dmitry, > >> > >> Thank you for your review. > >> > >> On Tue, Jan 28, 2014 at 12:03 PM, Dmitry Torokhov > >> > >> <dmitry.torokhov@xxxxxxxxx> wrote: > >> > Hi Manish, > >> > > >> > On Tue, Jan 28, 2014 at 08:42:00AM +0530, Manish Badarkhe wrote: > >> >> Update the code to use devm_* API so that driver core will manage > >> >> resources. > >> >> > >> >> Signed-off-by: Manish Badarkhe <badarkhe.manish@xxxxxxxxx> > >> >> --- > >> >> Changes since V1: > >> >> 1. Updated driver to use "devm_kzalloc" to "kstrdup". > >> >> 2. Updated commit message. > >> >> > >> >> Not tested on any board. > >> >> > >> >> :100644 100644 5ea64b9... e9763a4... M > >> >> :drivers/regulator/fixed.c > >> >> : > >> >> drivers/regulator/fixed.c | 42 > >> >> ++++++++++++------------------------------ > >> >> 1 file changed, 12 insertions(+), 30 deletions(-) > >> >> > >> >> diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c > >> >> index 5ea64b9..e9763a4 100644 > >> >> --- a/drivers/regulator/fixed.c > >> >> +++ b/drivers/regulator/fixed.c > >> >> @@ -132,15 +132,15 @@ static int reg_fixed_voltage_probe(struct > >> >> platform_device *pdev)>> > >> >> > >> >> GFP_KERNEL); > >> >> > >> >> if (drvdata == NULL) { > >> >> > >> >> dev_err(&pdev->dev, "Failed to allocate device data\n"); > >> >> > >> >> - ret = -ENOMEM; > >> >> - goto err; > >> >> + return -ENOMEM; > >> >> > >> >> } > >> >> > >> >> - drvdata->desc.name = kstrdup(config->supply_name, GFP_KERNEL); > >> >> + drvdata->desc.name = devm_kzalloc(&pdev->dev, > >> >> + strlen(config->supply_name) + > >> >> 1, > >> >> + GFP_KERNEL); > >> >> > >> >> if (drvdata->desc.name == NULL) { > >> >> > >> >> dev_err(&pdev->dev, "Failed to allocate supply name\n"); > >> >> > >> >> - ret = -ENOMEM; > >> >> - goto err; > >> >> + return -ENOMEM; > >> >> > >> >> } > >> > > >> > Umm, I am fairly certain that devm_kzalloc() can't be used as a > >> > substitute for kstrdup, at least not without accompanying memcpy. > >> > >> Yes, I have provided allocation but it should be followed with > >> assignment. > >> Can I modify like this, > >> > >> + drvdata->desc.name = devm_kzalloc(&pdev->dev, > >> + strlen(config->supply_name) + 1, > >> + GFP_KERNEL); > >> + if (drvdata->desc.name) > >> + sprintf(drvdata->desc.name, "%s", config->supply_name); > > > > hmm, so you replaced a general helper function by open coding the string- > > duplication. Doesn't this defeat the target of simplifying the code? > > Intention here, is to use devm_ API and to adopt this I have to do these > modifications for "kstrdup" functions. I have seen in regulator folder > almost all drivers adopted to "devm_" API. Hence same thing I am following > to update this driver. Please let me know whether to go ahead with this > patch or retain driver as it is. I don't have a strong opinion on this and others are most likely more qualified to have a definitive answer, I just found it strange to exchange one open-coded pattern against another open-coded one. So don't let me keep you from it ;-) Heiko -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html