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

Commit 378e853f authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull thermal SoC fix from Eduardo Valentin:
 "A single revert, detected to cause issues on the tsens driver"

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal:
  Revert "drivers: thermal: tsens: Add new operation to check if a sensor is enabled"
parents f58c356e ca657468
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
@@ -64,20 +64,6 @@ void compute_intercept_slope(struct tsens_priv *priv, u32 *p1,
	}
}

bool is_sensor_enabled(struct tsens_priv *priv, u32 hw_id)
{
	u32 val;
	int ret;

	if ((hw_id > (priv->num_sensors - 1)) || (hw_id < 0))
		return -EINVAL;
	ret = regmap_field_read(priv->rf[SENSOR_EN], &val);
	if (ret)
		return ret;

	return val & (1 << hw_id);
}

static inline int code_to_degc(u32 adc_code, const struct tsens_sensor *s)
{
	int degc, num, den;
+0 −1
Original line number Diff line number Diff line
@@ -334,7 +334,6 @@ static const struct reg_field tsens_v0_1_regfields[MAX_REGFIELDS] = {
	/* CTRL_OFFSET */
	[TSENS_EN]     = REG_FIELD(SROT_CTRL_OFF, 0,  0),
	[TSENS_SW_RST] = REG_FIELD(SROT_CTRL_OFF, 1,  1),
	[SENSOR_EN]    = REG_FIELD(SROT_CTRL_OFF, 3, 13),

	/* ----- TM ------ */
	/* INTERRUPT ENABLE */
+0 −1
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@ static const struct reg_field tsens_v2_regfields[MAX_REGFIELDS] = {
	/* CTRL_OFF */
	[TSENS_EN]     = REG_FIELD(SROT_CTRL_OFF,    0,  0),
	[TSENS_SW_RST] = REG_FIELD(SROT_CTRL_OFF,    1,  1),
	[SENSOR_EN]    = REG_FIELD(SROT_CTRL_OFF,    3, 18),

	/* ----- TM ------ */
	/* INTERRUPT ENABLE */
+0 −5
Original line number Diff line number Diff line
@@ -85,11 +85,6 @@ static int tsens_register(struct tsens_priv *priv)
	struct thermal_zone_device *tzd;

	for (i = 0;  i < priv->num_sensors; i++) {
		if (!is_sensor_enabled(priv, priv->sensor[i].hw_id)) {
			dev_err(priv->dev, "sensor %d: disabled\n",
				priv->sensor[i].hw_id);
			continue;
		}
		priv->sensor[i].priv = priv;
		priv->sensor[i].id = i;
		tzd = devm_thermal_zone_of_sensor_register(priv->dev, i,
+0 −1
Original line number Diff line number Diff line
@@ -315,7 +315,6 @@ void compute_intercept_slope(struct tsens_priv *priv, u32 *pt1, u32 *pt2, u32 mo
int init_common(struct tsens_priv *priv);
int get_temp_tsens_valid(struct tsens_priv *priv, int i, int *temp);
int get_temp_common(struct tsens_priv *priv, int i, int *temp);
bool is_sensor_enabled(struct tsens_priv *priv, u32 hw_id);

/* TSENS target */
extern const struct tsens_plat_data data_8960;