Merge branch 'master' of git://git.denx.de/u-boot-arm
[platform/kernel/u-boot.git] / include / thermal.h
1 /*
2  *
3  * (C) Copyright 2014 Freescale Semiconductor, Inc
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #ifndef _THERMAL_H_
9 #define _THERMAL_H_
10
11 #include <dm.h>
12
13 int thermal_get_temp(struct udevice *dev, int *temp);
14
15 /**
16  * struct struct dm_thermal_ops - Driver model Thermal operations
17  *
18  * The uclass interface is implemented by all Thermal devices which use
19  * driver model.
20  */
21 struct dm_thermal_ops {
22         /**
23          * Get the current temperature
24          *
25          * The device provided is the slave device. It's parent controller
26          * will be used to provide the communication.
27          *
28          * This must be called before doing any transfers with a Thermal slave.
29          * It will enable and initialize any Thermal hardware as necessary,
30          * and make sure that the SCK line is in the correct idle state. It is
31          * not allowed to claim the same bus for several slaves without
32          * releasing the bus in between.
33          *
34          * @dev:        The Thermal device
35          *
36          * Returns: 0 if the bus was claimed successfully, or a negative value
37          * if it wasn't.
38          */
39         int (*get_temp)(struct udevice *dev, int *temp);
40 };
41
42 #endif  /* _THERMAL_H_ */