Thread (30 messages) 30 messages, 6 authors, 2016-04-20

Re: [PATCH 2/3] thermal: Add Mediatek thermal controller support

From: Daniel Kurtz <hidden>
Date: 2016-01-04 15:44:13
Also in: linux-arm-kernel, linux-mediatek, lkml

On Mon, Jan 4, 2016 at 10:31 PM, Sascha Hauer [off-list ref] wrote:
On Mon, Dec 21, 2015 at 12:07:58PM +0800, Daniel Kurtz wrote:
quoted
Hi Sascha,

One nit below that can be fixed up later, or now if you don't plan to
spin this driver to
address Eduardo's feedback...

On Mon, Nov 30, 2015 at 7:42 PM, Sascha Hauer [off-list ref] wrote:
quoted
This adds support for the Mediatek thermal controller found on MT8173
and likely other SoCs.
The controller is a bit special. It does not have its own ADC, instead
it controls the on-SoC AUXADC via AHB bus accesses. For this reason
we need the physical address of the AUXADC. Also it controls a mux
using AHB bus accesses, so we need the APMIXEDSYS physical address aswell.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
[snip]
quoted
+static int mtk_thermal_get_calibration_data(struct device *dev, struct mtk_thermal *mt)
+{
+       struct nvmem_cell *cell;
+       u32 *buf;
+       size_t len;
+       int i, ret = 0;
+
+       /* Start with default values */
+       mt->adc_ge = 512;
+       for (i = 0; i < MT8173_NUM_SENSORS; i++)
+               mt->vts[i] = 260;
+       mt->degc_cali = 40;
+       mt->o_slope = 0;
+
+       cell = nvmem_cell_get(dev, "calibration-data");
+       if (IS_ERR(cell)) {
+               if (PTR_ERR(cell) == -EPROBE_DEFER)
It is useful to know why the thermal driver is being probe defered, so
I suggest here:
dev_warn(dev, "Waiting for calibration data.\n");
The problem with that is that this message is not shown once but
possibly many times and may not even show a problem because in the end
the device may be probed successfully. In this case the last thing you
see from the device is "Waiting for calibration data." and get annoyed
by all this useless noise from the driver.

Of course I agree that this information may be useful in the case you
wonder why your device doesn't show up...
The solution for this, then, is:
 dev_dbg()
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help