regulator: Mark supply_name const and duplicate it as such

The supply_name member of struct regulator can be const as we
don't change it in the regulator core. Furthermore, when we copy
the supply name we can use kstrdup_const() here to avoid a copy
if the name is in the ro data section.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Stephen Boyd 2017-03-16 18:07:14 -07:00 committed by Mark Brown
parent b7cd1b1386
commit 0630b61439
2 changed files with 3 additions and 3 deletions

View File

@ -1343,7 +1343,7 @@ static struct regulator *create_regulator(struct regulator_dev *rdev,
/* non-fatal */
}
} else {
regulator->supply_name = kstrdup(supply_name, GFP_KERNEL);
regulator->supply_name = kstrdup_const(supply_name, GFP_KERNEL);
if (regulator->supply_name == NULL)
goto overflow_err;
}
@ -1799,7 +1799,7 @@ static void _regulator_put(struct regulator *regulator)
put_device(&rdev->dev);
mutex_unlock(&rdev->mutex);
kfree(regulator->supply_name);
kfree_const(regulator->supply_name);
kfree(regulator);
module_put(rdev->owner);

View File

@ -29,7 +29,7 @@ struct regulator {
int uA_load;
int min_uV;
int max_uV;
char *supply_name;
const char *supply_name;
struct device_attribute dev_attr;
struct regulator_dev *rdev;
struct dentry *debugfs;