summaryrefslogtreecommitdiffstats
path: root/include/thermal.h
blob: 5d6101bec6ee11c96292259cb3ab07c0130b2445 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
 *
 * (C) Copyright 2014 Freescale Semiconductor, Inc
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

#ifndef _THERMAL_H_
#define _THERMAL_H_

#include <dm.h>

int thermal_get_temp(struct udevice *dev, int *temp);

/**
 * struct struct dm_thermal_ops - Driver model Thermal operations
 *
 * The uclass interface is implemented by all Thermal devices which use
 * driver model.
 */
struct dm_thermal_ops {
	/**
	 * Get the current temperature
	 *
	 * The device provided is the slave device. It's parent controller
	 * will be used to provide the communication.
	 *
	 * This must be called before doing any transfers with a Thermal slave.
	 * It will enable and initialize any Thermal hardware as necessary,
	 * and make sure that the SCK line is in the correct idle state. It is
	 * not allowed to claim the same bus for several slaves without
	 * releasing the bus in between.
	 *
	 * @dev:	The Thermal device
	 *
	 * Returns: 0 if the bus was claimed successfully, or a negative value
	 * if it wasn't.
	 */
	int (*get_temp)(struct udevice *dev, int *temp);
};

#endif	/* _THERMAL_H_ */
OpenPOWER on IntegriCloud