From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ajit Pal Singh Subject: Re: [PATCH] thermal: st: Add support for STiH41x thermal sensors Date: Mon, 23 Sep 2013 13:56:20 +0530 Message-ID: <523FFB2C.1090400@st.com> References: <1379497103-5657-1-git-send-email-ajitpal.singh@st.com> <523A06EE.9090801@ti.com> Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <523A06EE.9090801@ti.com> Sender: linux-doc-owner@vger.kernel.org To: Eduardo Valentin Cc: "rui.zhang@intel.com" , "linux-pm@vger.kernel.org" , "grant.likely@linaro.org" , "devicetree@vger.kernel.org" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "rob@landley.net" , Stephen GALLIMORE , Srinivas KANDAGATLA List-Id: linux-pm@vger.kernel.org On Thursday 19 September 2013 01:32 AM, Eduardo Valentin wrote: > On 18-09-2013 05:38, Ajit Pal Singh wrote: >> Adds support for thermal sensors on STiH41x series SOCs. >> Single trip point 'THERMAL_TRIP_CRITICAL' is supported. >> STIH416 MPE sensor supports interrupt reporting when a preset >> threshold temperature is crossed. >> For rest of the thermal sensors a polling delay of 10000ms is >> set. >> >> CC: Stephen Gallimore >> CC: Srinivas Kandagatla >> Signed-off-by: Ajit Pal Singh [snip] >> +static irqreturn_t st_thermal_thresh_int(int irq, void *data) >> +{ >> + struct st_thermal_sensor *sensor = data; >> + struct device *dev = sensor_to_dev(sensor); >> + >> + dev_dbg(dev, "%s,called\n", __func__); >> + thermal_zone_device_update(sensor->th_dev); > > Are you sure you want to do this here? The above call might sleep. Have used devm_request_threaded_irq() to register the above threaded irq handler. Calling sleep-able calls from the threaded interrupt handler should be OK ? > >> + return IRQ_HANDLED; >> +} [snip] >> +static int st_thermal_notify(struct thermal_zone_device *th, >> + int trip, enum thermal_trip_type type) >> +{ >> + struct st_thermal_sensor *sensor = thzone_to_sensor(th); >> + struct device *dev = sensor_to_dev(sensor); >> + >> + switch (type) { >> + case THERMAL_TRIP_CRITICAL: >> + /* TODO: Send event to user space */ > > It depends on what you mean by that. The core code will attempt to call > the shutdown command, in user space. Will remove the comment in the next version of the patch. > >> + dev_err(dev, "Critical temp reached:Going for shutdown\n"); >> + break; >> + default: >> + return -EINVAL; >> + } >> + return 0; >> +} >> + [snip] >> +module_platform_driver(st_thermal_driver); >> +MODULE_AUTHOR("STMicroelectronics (R&D) Limited"); >> +MODULE_DESCRIPTION("STMicroelectronics STIH41x SOC thermal sensor driver"); >> +MODULE_LICENSE("GPL"); > > GPL v2? OK.Will make it GPLv2 > Thanks Ajit Pal Singh