u-boot/drivers/thermal/thermal_sandbox.c
Marek Vasut 0ee639ff5a thermal: Convert .get_temp() return value to millicelsius
Linux kernel .get_temp() callback reports values in millicelsius,
U-Boot currently reports them in celsius. Align the two and report
in millicelsius. Update drivers accordingly. Update callsites that
use thermal_get_temp() as well.

The 'temperature' command now reports temperature in millicelsius
as well, with additional accuracy. This changes command line ABI
slightly.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: David Zang <davidzangcs@gmail.com>
[trini: Update test/cmd/temperature.c]
Signed-off-by: Tom Rini <trini@konsulko.com>
2025-10-08 13:54:59 -06:00

36 lines
753 B
C

// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright (c) 2022 Sartura Ltd.
* Written by Robert Marko <robert.marko@sartura.hr>
*
* Sandbox driver for the thermal uclass.
*/
#include <dm.h>
#include <thermal.h>
static int sandbox_thermal_get_temp(struct udevice *dev, int *temp)
{
/* Simply return 100 deg C */
*temp = 100 * 1000;
return 0;
}
static const struct dm_thermal_ops sandbox_thermal_ops = {
.get_temp = sandbox_thermal_get_temp,
};
static const struct udevice_id sandbox_thermal_ids[] = {
{ .compatible = "sandbox,thermal" },
{ }
};
U_BOOT_DRIVER(thermal_sandbox) = {
.name = "thermal-sandbox",
.id = UCLASS_THERMAL,
.of_match = sandbox_thermal_ids,
.ops = &sandbox_thermal_ops,
.flags = DM_FLAG_PRE_RELOC,
};