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

Commit 1de3821a authored by Markus Pargmann's avatar Markus Pargmann Committed by Mark Brown
Browse files

regulator: Set ena_gpio_initialized in regulator drivers



This patch sets ena_gpio_initialized for all drivers which set a
ena_gpio from parsed DT properties. Drivers using pdata may get zero
initialized pdata and therefore copy a 0 into the regulator_config
ena_gpio field.

Signed-off-by: default avatarMarkus Pargmann <mpa@pengutronix.de>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 76f439df
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -260,6 +260,8 @@ static int arizona_ldo1_probe(struct platform_device *pdev)
			ret = arizona_ldo1_of_get_pdata(arizona, &config);
			if (ret < 0)
				return ret;

			config.ena_gpio_initialized = true;
		}
	}

+4 −1
Original line number Diff line number Diff line
@@ -157,8 +157,11 @@ static int reg_fixed_voltage_probe(struct platform_device *pdev)

	drvdata->desc.fixed_uV = config->microvolts;

	if (config->gpio >= 0)
	if (config->gpio >= 0) {
		cfg.ena_gpio = config->gpio;
		if (pdev->dev.of_node)
			cfg.ena_gpio_initialized = true;
	}
	cfg.ena_gpio_invert = !config->enable_high;
	if (config->enabled_at_boot) {
		if (config->enable_high)
+3 −1
Original line number Diff line number Diff line
@@ -322,8 +322,10 @@ static int gpio_regulator_probe(struct platform_device *pdev)
	cfg.driver_data = drvdata;
	cfg.of_node = np;

	if (config->enable_gpio >= 0)
	if (config->enable_gpio >= 0) {
		cfg.ena_gpio = config->enable_gpio;
		cfg.ena_gpio_initialized = true;
	}
	cfg.ena_gpio_invert = !config->enable_high;
	if (config->enabled_at_boot) {
		if (config->enable_high)
+2 −0
Original line number Diff line number Diff line
@@ -225,6 +225,8 @@ static int max8952_pmic_probe(struct i2c_client *client,
	config.of_node = client->dev.of_node;

	config.ena_gpio = pdata->gpio_en;
	if (client->dev.of_node)
		config.ena_gpio_initialized = true;
	if (pdata->reg_data->constraints.boot_on)
		config.ena_gpio_flags |= GPIOF_OUT_INIT_HIGH;

+1 −0
Original line number Diff line number Diff line
@@ -886,6 +886,7 @@ common_reg:
	config.regmap = iodev->regmap_pmic;
	config.driver_data = s2mps11;
	config.ena_gpio_flags = GPIOF_OUT_INIT_HIGH;
	config.ena_gpio_initialized = true;
	for (i = 0; i < s2mps11->rdev_num; i++) {
		struct regulator_dev *regulator;

Loading