Loading drivers/thermal/qcom/policy_engine.c +6 −3 Original line number Original line Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only /* /* * Copyright (c) 2020, The Linux Foundation. All rights reserved. * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. */ */ #include <linux/module.h> #include <linux/module.h> Loading Loading @@ -80,6 +80,9 @@ static irqreturn_t pe_handle_irq(int irq, void *data) struct pe_sensor_data *pe_sens = (struct pe_sensor_data *)data; struct pe_sensor_data *pe_sens = (struct pe_sensor_data *)data; int val = 0, ret = 0; int val = 0, ret = 0; writel_relaxed(PE_INTR_CLEAR, pe_sens->regmap + PE_INT_STATUS_OFFSET); writel_relaxed(PE_STS_CLEAR, pe_sens->regmap + PE_INT_STATUS1_OFFSET); ret = fetch_mitigation_table_idx(pe_sens, &val); ret = fetch_mitigation_table_idx(pe_sens, &val); if (ret) if (ret) return IRQ_HANDLED; return IRQ_HANDLED; Loading @@ -92,8 +95,6 @@ static irqreturn_t pe_handle_irq(int irq, void *data) of_thermal_handle_trip_temp(pe_sens->dev, pe_sens->tz_dev, val); of_thermal_handle_trip_temp(pe_sens->dev, pe_sens->tz_dev, val); } else } else mutex_unlock(&pe_sens->mutex); mutex_unlock(&pe_sens->mutex); writel_relaxed(PE_INTR_CLEAR, pe_sens->regmap + PE_INT_STATUS_OFFSET); writel_relaxed(PE_STS_CLEAR, pe_sens->regmap + PE_INT_STATUS1_OFFSET); return IRQ_HANDLED; return IRQ_HANDLED; } } Loading Loading @@ -155,6 +156,8 @@ static int pe_sens_device_probe(struct platform_device *pdev) pe_sens->tz_dev); pe_sens->tz_dev); return ret; return ret; } } enable_irq_wake(pe_sens->irq_num); dev_dbg(dev, "PE sensor register success\n"); dev_dbg(dev, "PE sensor register success\n"); return 0; return 0; Loading Loading
drivers/thermal/qcom/policy_engine.c +6 −3 Original line number Original line Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only /* /* * Copyright (c) 2020, The Linux Foundation. All rights reserved. * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. */ */ #include <linux/module.h> #include <linux/module.h> Loading Loading @@ -80,6 +80,9 @@ static irqreturn_t pe_handle_irq(int irq, void *data) struct pe_sensor_data *pe_sens = (struct pe_sensor_data *)data; struct pe_sensor_data *pe_sens = (struct pe_sensor_data *)data; int val = 0, ret = 0; int val = 0, ret = 0; writel_relaxed(PE_INTR_CLEAR, pe_sens->regmap + PE_INT_STATUS_OFFSET); writel_relaxed(PE_STS_CLEAR, pe_sens->regmap + PE_INT_STATUS1_OFFSET); ret = fetch_mitigation_table_idx(pe_sens, &val); ret = fetch_mitigation_table_idx(pe_sens, &val); if (ret) if (ret) return IRQ_HANDLED; return IRQ_HANDLED; Loading @@ -92,8 +95,6 @@ static irqreturn_t pe_handle_irq(int irq, void *data) of_thermal_handle_trip_temp(pe_sens->dev, pe_sens->tz_dev, val); of_thermal_handle_trip_temp(pe_sens->dev, pe_sens->tz_dev, val); } else } else mutex_unlock(&pe_sens->mutex); mutex_unlock(&pe_sens->mutex); writel_relaxed(PE_INTR_CLEAR, pe_sens->regmap + PE_INT_STATUS_OFFSET); writel_relaxed(PE_STS_CLEAR, pe_sens->regmap + PE_INT_STATUS1_OFFSET); return IRQ_HANDLED; return IRQ_HANDLED; } } Loading Loading @@ -155,6 +156,8 @@ static int pe_sens_device_probe(struct platform_device *pdev) pe_sens->tz_dev); pe_sens->tz_dev); return ret; return ret; } } enable_irq_wake(pe_sens->irq_num); dev_dbg(dev, "PE sensor register success\n"); dev_dbg(dev, "PE sensor register success\n"); return 0; return 0; Loading