[PATCH v5 0/8] thermal: tsens: Handle critical interrupts

From: Amit Kucheria
Date: Tue Feb 18 2020 - 13:12:21 EST

TSENS IP v2.x supports critical interrupts and v2.3+ adds watchdog support
in case the FSM is stuck. Enable support in the driver.

This series was generated on top of v5.6-rc2.

Changes from v4:
- Add back patch 1 from v3[*], I mistakenly didn't post it for v4.
- Remove spinlock from critical interrupt handling
- Change critical interrupt handler to fall thru watchdog bark handling to
handle critical interrupts too

[*] https://lore.kernel.org/linux-arm-msm/77dd80eb58f0db29a03097cb442d606f810a849a.1577976221.git.amit.kucheria@xxxxxxxxxx/

Changes from v3:
- Remove the DTS changes that are already queued
- Fix review comments by Bjorn
- Fixup patch description to clarify that we don't use TSENS critical
interrupts in Linux, but need it for the watchdog support that uses the
same HW irq line.
- Separate kernel-doc fixes into a separate patch.

Changes from v2:
- Handle old DTBs w/o critical irq in the same way as fix sent for 5.5

Changes from v1:
- Make tsens_features non-const to allow run time detection of features
- Pass tsens_sensor around as a const
- Fix a bug to release dev pointer in success path
- Address review comments from Bjorn and Stephen (thanks for the review)
- Add msm8998 and msm8996 DTSI changes for critical interrupts

Amit Kucheria (8):
drivers: thermal: tsens: De-constify struct tsens_features
drivers: thermal: tsens: Pass around struct tsens_sensor as a constant
drivers: thermal: tsens: use simpler variables
drivers: thermal: tsens: Release device in success path
drivers: thermal: tsens: Add critical interrupt support
drivers: thermal: tsens: Add watchdog support
drivers: thermal: tsens: kernel-doc fixup
drivers: thermal: tsens: Remove unnecessary irq flag

drivers/thermal/qcom/tsens-8960.c | 4 +-
drivers/thermal/qcom/tsens-common.c | 185 ++++++++++++++++++++++++----
drivers/thermal/qcom/tsens-v0_1.c | 6 +-
drivers/thermal/qcom/tsens-v1.c | 6 +-
drivers/thermal/qcom/tsens-v2.c | 24 +++-
drivers/thermal/qcom/tsens.c | 26 +++-
drivers/thermal/qcom/tsens.h | 103 ++++++++++++++--
7 files changed, 307 insertions(+), 47 deletions(-)