On 01/09/2014 12:56 AM, Wei Ni wrote:
...
> On the tegra board, it will use two or more sensors to estimate the skin
> temperature by reading temps from these sensors and calculate them.
> For example, we have two sensors: sensor1 and sensor2. We can register
> them to thermal framework by using DT, something like:
> thermal-zones {
>                 sensor1: lm90-local {
>                       ...
>                         thermal-sensors = <&lm90 0>;
>                 };
> 
>                 sensor2: lm90-remote {
>                       ...
>                         thermal-sensors = <&lm90 1>;
>                 };
> }
> 
> Then I will add a device node for my skin temperature driver, something
> like:
> skin_temp {
>       ...
>       #thermal-sensor-cells = <0>;
> 
>       sub-devs {
>               dev@0 {
>                       dev = <&sensor1>;
>               };
> 
>               dev@1 {
>                       dev = <&sensor2>;
>               };
>       };
> };

I haven't read the rest of the thread, but surely that last chunk of DT
would be far simpler as:

skin_temp {
        sub-devs = <&sensor1 &sensor2>;
};

or:

skin_temp {
        sensors = <&sensor1 &sensor2>;
        sensor-names = "local", "remote";
};

> So I can parse the DT in the skin temperature driver to get the nodes of
> the sensor1 and sensor2, and can use .*get_by_node to get thermal zone
> device, then use .get_temp() and other callbacks to get temperature and
> other information. If use the *.get_by_name, it may not get the uniqu
> one, because I don't know if there has the same name thermal zone,
> because some other driver may not use DT to register thermal zone, it
> can define any name by itself.

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to