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

Commit f177a258 authored by Junwen YE's avatar Junwen YE
Browse files

Revert "[ALM:10872982] [FP4]:solve tof driver crash"

This reverts commit cdc787de.

Change-Id: I7e49f40a22fa7feb28aadce9b9b3fb2e105a0746
parent cdc787de
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -377,7 +377,7 @@ static int stmvl53l1_parse_tree(struct device *dev, struct i2c_data *i2c_data)
		i2c_data->intr_gpio = intr_gpio_nb;
	} else if (dev->of_node) {
		/* power : either vdd or pwren_gpio. try reulator first */
		i2c_data->vdd = regulator_get_optional(dev, "vdd");
		i2c_data->vdd = devm_regulator_get(dev, "vl53_vdd");		
		if (IS_ERR(i2c_data->vdd) || i2c_data->vdd == NULL) {
			i2c_data->vdd = NULL;
			/* try gpio */
@@ -389,9 +389,9 @@ static int stmvl53l1_parse_tree(struct device *dev, struct i2c_data *i2c_data)
			"no regulator, nor power gpio => power ctrl disabled");
			}
		}
		//rc = regulator_enable(i2c_data->vdd);
		//if (rc)
		//	pr_err("i2c_data->vdd failed to enable\n");
		rc = regulator_enable(i2c_data->vdd);
		if (rc)
			pr_err("i2c_data->vdd failed to enable\n");
		
		i2c_data->xsdn_gpio = of_get_named_gpio(dev->of_node, "xsdn-gpio",0);
		if (i2c_data->xsdn_gpio < 0)
+6 −19
Original line number Diff line number Diff line
@@ -394,21 +394,12 @@ static int reset_release(struct stmvl53l1_data *data)
{
	int rc;

	vl53l1_dbgmsg("turn on vdd\n");
	rc = stmvl53l1_module_func_tbl.power_up(data->client_object);
	if (rc) {
		vl53l1_errmsg("%d,error rc %d\n", __LINE__, rc);
		return rc;
	}

	if (!data->reset_state)
		return 0;

	rc = stmvl53l1_module_func_tbl.reset_release(data->client_object);
	if (rc) {
	if (rc)
		vl53l1_errmsg("reset release fail rc=%d\n", rc);
		stmvl53l1_module_func_tbl.power_down(data->client_object);
	}
	else
		data->reset_state = 0;

@@ -419,9 +410,6 @@ static int reset_hold(struct stmvl53l1_data *data)
{
	int rc;

	vl53l1_dbgmsg("turn off vdd data reset_state=%d\n", data->reset_state);
	rc = stmvl53l1_module_func_tbl.power_down(data->client_object);

	if (data->reset_state)
		return 0;

@@ -3991,12 +3979,11 @@ int stmvl53l1_setup(struct stmvl53l1_data *data)
	data->last_error = VL53L1_ERROR_NONE;
	data->is_device_remove = false;

	/* vdd will be controlled in reset_release() */
	//rc = stmvl53l1_module_func_tbl.power_up(data->client_object);
	//if (rc) {
	//	vl53l1_errmsg("%d,error rc %d\n", __LINE__, rc);
	//	goto exit_ipp_cleanup;
	//}
	rc = stmvl53l1_module_func_tbl.power_up(data->client_object);
	if (rc) {
		vl53l1_errmsg("%d,error rc %d\n", __LINE__, rc);
		goto exit_ipp_cleanup;
	}
	rc = reset_release(data);
	if (rc)
		goto exit_ipp_cleanup;