On Fri, Feb 28, 2025 at 10:46 AM George Moussalem <george.moussalem@xxxxxxxxxxx> wrote: > > TSENS v2.0+ leverage features not available to prior versions such as > updated interrupts init routine, masked interrupts, and watchdog. > Currently, the checks in place evaluate whether the IP version is greater > than v1 which invalidates when updates to v1 or v1 minor versions are > implemented. As such, update the conditional statements to strictly > evaluate whether the version is greater than or equal to v2 (inclusive). > > Signed-off-by: George Moussalem <george.moussalem@xxxxxxxxxxx> Reviewed-by: Amit Kucheria <amitk@xxxxxxxxxx> > --- > drivers/thermal/qcom/tsens.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c > index 1f5d4de017d9..43b388bcc7d6 100644 > --- a/drivers/thermal/qcom/tsens.c > +++ b/drivers/thermal/qcom/tsens.c > @@ -447,7 +447,7 @@ static void tsens_set_interrupt(struct tsens_priv *priv, u32 hw_id, > dev_dbg(priv->dev, "[%u] %s: %s -> %s\n", hw_id, __func__, > irq_type ? ((irq_type == 1) ? "UP" : "CRITICAL") : "LOW", > enable ? "en" : "dis"); > - if (tsens_version(priv) > VER_1_X) > + if (tsens_version(priv) >= VER_2_X) > tsens_set_interrupt_v2(priv, hw_id, irq_type, enable); > else > tsens_set_interrupt_v1(priv, hw_id, irq_type, enable); > @@ -499,7 +499,7 @@ static int tsens_read_irq_state(struct tsens_priv *priv, u32 hw_id, > ret = regmap_field_read(priv->rf[LOW_INT_CLEAR_0 + hw_id], &d->low_irq_clear); > if (ret) > return ret; > - if (tsens_version(priv) > VER_1_X) { > + if (tsens_version(priv) >= VER_2_X) { > ret = regmap_field_read(priv->rf[UP_INT_MASK_0 + hw_id], &d->up_irq_mask); > if (ret) > return ret; > @@ -543,7 +543,7 @@ static int tsens_read_irq_state(struct tsens_priv *priv, u32 hw_id, > > static inline u32 masked_irq(u32 hw_id, u32 mask, enum tsens_ver ver) > { > - if (ver > VER_1_X) > + if (ver >= VER_2_X) > return mask & (1 << hw_id); > > /* v1, v0.1 don't have a irq mask register */ > @@ -733,7 +733,7 @@ static int tsens_set_trips(struct thermal_zone_device *tz, int low, int high) > static int tsens_enable_irq(struct tsens_priv *priv) > { > int ret; > - int val = tsens_version(priv) > VER_1_X ? 7 : 1; > + int val = tsens_version(priv) >= VER_2_X ? 7 : 1; > > ret = regmap_field_write(priv->rf[INT_EN], val); > if (ret < 0) > @@ -1040,7 +1040,7 @@ int __init init_common(struct tsens_priv *priv) > } > } > > - if (tsens_version(priv) > VER_1_X && ver_minor > 2) { > + if (tsens_version(priv) >= VER_2_X && ver_minor > 2) { > /* Watchdog is present only on v2.3+ */ > priv->feat->has_watchdog = 1; > for (i = WDOG_BARK_STATUS; i <= CC_MON_MASK; i++) { > -- > 2.48.1 >