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

Commit e34238bf authored by Pavel Machek's avatar Pavel Machek Committed by Eduardo Valentin
Browse files

cleanup ti-soc-thermal



Simplify code by removing goto's where they point to simple return.

Avoid confusing |= on error values.

Correct whitespace.

Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parent db6cb88b
Loading
Loading
Loading
Loading
+24 −48
Original line number Diff line number Diff line
@@ -103,19 +103,15 @@ do { \
 */
static int ti_bandgap_power(struct ti_bandgap *bgp, bool on)
{
	int i, ret = 0;
	int i;

	if (!TI_BANDGAP_HAS(bgp, POWER_SWITCH)) {
		ret = -ENOTSUPP;
		goto exit;
	}
	if (!TI_BANDGAP_HAS(bgp, POWER_SWITCH))
		return -ENOTSUPP;

	for (i = 0; i < bgp->conf->sensor_count; i++)
		/* active on 0 */
		RMW_BITS(bgp, i, temp_sensor_ctrl, bgap_tempsoff_mask, !on);

exit:
	return ret;
	return 0;
}

/**
@@ -263,18 +259,13 @@ static
int ti_bandgap_adc_to_mcelsius(struct ti_bandgap *bgp, int adc_val, int *t)
{
	const struct ti_bandgap_data *conf = bgp->conf;
	int ret = 0;

	/* look up for temperature in the table and return the temperature */
	if (adc_val < conf->adc_start_val || adc_val > conf->adc_end_val) {
		ret = -ERANGE;
		goto exit;
	}
	if (adc_val < conf->adc_start_val || adc_val > conf->adc_end_val)
		return -ERANGE;

	*t = bgp->conf->conv_table[adc_val - conf->adc_start_val];

exit:
	return ret;
	return 0;
}

/**
@@ -295,16 +286,14 @@ int ti_bandgap_mcelsius_to_adc(struct ti_bandgap *bgp, long temp, int *adc)
{
	const struct ti_bandgap_data *conf = bgp->conf;
	const int *conv_table = bgp->conf->conv_table;
	int high, low, mid, ret = 0;
	int high, low, mid;

	low = 0;
	high = conf->adc_end_val - conf->adc_start_val;
	mid = (high + low) / 2;

	if (temp < conv_table[low] || temp > conv_table[high]) {
		ret = -ERANGE;
		goto exit;
	}
	if (temp < conv_table[low] || temp > conv_table[high])
		return -ERANGE;

	while (low < high) {
		if (temp < conv_table[mid])
@@ -315,9 +304,7 @@ int ti_bandgap_mcelsius_to_adc(struct ti_bandgap *bgp, long temp, int *adc)
	}

	*adc = conf->adc_start_val + low;

exit:
	return ret;
	return 0;
}

/**
@@ -343,13 +330,11 @@ int ti_bandgap_add_hyst(struct ti_bandgap *bgp, int adc_val, int hyst_val,
	 */
	ret = ti_bandgap_adc_to_mcelsius(bgp, adc_val, &temp);
	if (ret < 0)
		goto exit;
		return ret;

	temp += hyst_val;

	ret = ti_bandgap_mcelsius_to_adc(bgp, temp, sum);

exit:
	return ret;
}

@@ -468,22 +453,18 @@ static int ti_bandgap_update_alert_threshold(struct ti_bandgap *bgp, int id,
 */
static inline int ti_bandgap_validate(struct ti_bandgap *bgp, int id)
{
	int ret = 0;

	if (!bgp || IS_ERR(bgp)) {
		pr_err("%s: invalid bandgap pointer\n", __func__);
		ret = -EINVAL;
		goto exit;
		return -EINVAL;
	}

	if ((id < 0) || (id >= bgp->conf->sensor_count)) {
		dev_err(bgp->dev, "%s: sensor id out of range (%d)\n",
			__func__, id);
		ret = -ERANGE;
		return -ERANGE;
	}

exit:
	return ret;
	return 0;
}

/**
@@ -511,12 +492,10 @@ static int _ti_bandgap_write_threshold(struct ti_bandgap *bgp, int id, int val,

	ret = ti_bandgap_validate(bgp, id);
	if (ret)
		goto exit;
		return ret;

	if (!TI_BANDGAP_HAS(bgp, TALERT)) {
		ret = -ENOTSUPP;
		goto exit;
	}
	if (!TI_BANDGAP_HAS(bgp, TALERT))
		return -ENOTSUPP;

	ts_data = bgp->conf->sensors[id].ts_data;
	tsr = bgp->conf->sensors[id].registers;
@@ -529,17 +508,15 @@ static int _ti_bandgap_write_threshold(struct ti_bandgap *bgp, int id, int val,
	}

	if (ret)
		goto exit;
		return ret;

	ret = ti_bandgap_mcelsius_to_adc(bgp, val, &adc_val);
	if (ret < 0)
		goto exit;
		return ret;

	spin_lock(&bgp->lock);
	ret = ti_bandgap_update_alert_threshold(bgp, id, adc_val, hot);
	spin_unlock(&bgp->lock);

exit:
	return ret;
}

@@ -582,7 +559,7 @@ static int _ti_bandgap_read_threshold(struct ti_bandgap *bgp, int id,

	temp = ti_bandgap_readl(bgp, tsr->bgap_threshold);
	temp = (temp & mask) >> __ffs(mask);
	ret |= ti_bandgap_adc_to_mcelsius(bgp, temp, &temp);
	ret = ti_bandgap_adc_to_mcelsius(bgp, temp, &temp);
	if (ret) {
		dev_err(bgp->dev, "failed to read thot\n");
		ret = -EIO;
@@ -856,7 +833,7 @@ int ti_bandgap_read_temperature(struct ti_bandgap *bgp, int id,
	temp = ti_bandgap_read_temp(bgp, id);
	spin_unlock(&bgp->lock);

	ret |= ti_bandgap_adc_to_mcelsius(bgp, temp, &temp);
	ret = ti_bandgap_adc_to_mcelsius(bgp, temp, &temp);
	if (ret)
		return -EIO;

@@ -1223,8 +1200,7 @@ int ti_bandgap_probe(struct platform_device *pdev)
	bgp->div_clk = clk_get(NULL, bgp->conf->div_ck_name);
	ret = IS_ERR(bgp->div_clk);
	if (ret) {
		dev_err(&pdev->dev,
			"failed to request div_ts_ck clock ref\n");
		dev_err(&pdev->dev, "failed to request div_ts_ck clock ref\n");
		ret = PTR_ERR(bgp->div_clk);
		goto free_irqs;
	}
+1 −1

File changed.

Contains only whitespace changes.