Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0630b614 authored by Stephen Boyd's avatar Stephen Boyd Committed by Mark Brown
Browse files

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: default avatarStephen Boyd <sboyd@codeaurora.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent b7cd1b13
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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;