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

Commit af012d62 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'regulator/topic/anatop',...

Merge remote-tracking branches 'regulator/topic/anatop', 'regulator/topic/disable', 'regulator/topic/dummy' and 'regulator/topic/gpio' into regulator-next
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -283,6 +283,19 @@ static int anatop_regulator_probe(struct platform_device *pdev)
			sreg->sel = 0;
			sreg->sel = 0;
			sreg->bypass = true;
			sreg->bypass = true;
		}
		}

		/*
		 * In case vddpu was disabled by the bootloader, we need to set
		 * a sane default until imx6-cpufreq was probed and changes the
		 * voltage to the correct value. In this case we set 1.25V.
		 */
		if (!sreg->sel && !strcmp(sreg->name, "vddpu"))
			sreg->sel = 22;

		if (!sreg->sel) {
			dev_err(&pdev->dev, "Failed to read a valid default voltage selector.\n");
			return -EINVAL;
		}
	} else {
	} else {
		rdesc->ops = &anatop_rops;
		rdesc->ops = &anatop_rops;
	}
	}
+2 −0
Original line number Original line 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);
			ret = arizona_ldo1_of_get_pdata(arizona, &config);
			if (ret < 0)
			if (ret < 0)
				return ret;
				return ret;

			config.ena_gpio_initialized = true;
		}
		}
	}
	}


+18 −1
Original line number Original line Diff line number Diff line
@@ -1978,9 +1978,18 @@ static int _regulator_disable(struct regulator_dev *rdev)


		/* we are last user */
		/* we are last user */
		if (_regulator_can_change_status(rdev)) {
		if (_regulator_can_change_status(rdev)) {
			ret = _notifier_call_chain(rdev,
						   REGULATOR_EVENT_PRE_DISABLE,
						   NULL);
			if (ret & NOTIFY_STOP_MASK)
				return -EINVAL;

			ret = _regulator_do_disable(rdev);
			ret = _regulator_do_disable(rdev);
			if (ret < 0) {
			if (ret < 0) {
				rdev_err(rdev, "failed to disable\n");
				rdev_err(rdev, "failed to disable\n");
				_notifier_call_chain(rdev,
						REGULATOR_EVENT_ABORT_DISABLE,
						NULL);
				return ret;
				return ret;
			}
			}
			_notifier_call_chain(rdev, REGULATOR_EVENT_DISABLE,
			_notifier_call_chain(rdev, REGULATOR_EVENT_DISABLE,
@@ -2037,9 +2046,16 @@ static int _regulator_force_disable(struct regulator_dev *rdev)
{
{
	int ret = 0;
	int ret = 0;


	ret = _notifier_call_chain(rdev, REGULATOR_EVENT_FORCE_DISABLE |
			REGULATOR_EVENT_PRE_DISABLE, NULL);
	if (ret & NOTIFY_STOP_MASK)
		return -EINVAL;

	ret = _regulator_do_disable(rdev);
	ret = _regulator_do_disable(rdev);
	if (ret < 0) {
	if (ret < 0) {
		rdev_err(rdev, "failed to force disable\n");
		rdev_err(rdev, "failed to force disable\n");
		_notifier_call_chain(rdev, REGULATOR_EVENT_FORCE_DISABLE |
				REGULATOR_EVENT_ABORT_DISABLE, NULL);
		return ret;
		return ret;
	}
	}


@@ -3652,7 +3668,8 @@ regulator_register(const struct regulator_desc *regulator_desc,


	dev_set_drvdata(&rdev->dev, rdev);
	dev_set_drvdata(&rdev->dev, rdev);


	if (config->ena_gpio && gpio_is_valid(config->ena_gpio)) {
	if ((config->ena_gpio || config->ena_gpio_initialized) &&
	    gpio_is_valid(config->ena_gpio)) {
		ret = regulator_ena_gpio_request(rdev, config);
		ret = regulator_ena_gpio_request(rdev, config);
		if (ret != 0) {
		if (ret != 0) {
			rdev_err(rdev, "Failed to request enable GPIO%d: %d\n",
			rdev_err(rdev, "Failed to request enable GPIO%d: %d\n",
+1 −1
Original line number Original line Diff line number Diff line
@@ -33,7 +33,7 @@ static struct regulator_init_data dummy_initdata = {


static struct regulator_ops dummy_ops;
static struct regulator_ops dummy_ops;


static struct regulator_desc dummy_desc = {
static const struct regulator_desc dummy_desc = {
	.name = "regulator-dummy",
	.name = "regulator-dummy",
	.id = -1,
	.id = -1,
	.type = REGULATOR_VOLTAGE,
	.type = REGULATOR_VOLTAGE,
+4 −1
Original line number Original line 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;
	drvdata->desc.fixed_uV = config->microvolts;


	if (config->gpio >= 0)
	if (gpio_is_valid(config->gpio)) {
		cfg.ena_gpio = config->gpio;
		cfg.ena_gpio = config->gpio;
		if (pdev->dev.of_node)
			cfg.ena_gpio_initialized = true;
	}
	cfg.ena_gpio_invert = !config->enable_high;
	cfg.ena_gpio_invert = !config->enable_high;
	if (config->enabled_at_boot) {
	if (config->enabled_at_boot) {
		if (config->enable_high)
		if (config->enable_high)
Loading