Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35e94644 authored by Punit Agrawal's avatar Punit Agrawal Committed by Eduardo Valentin
Browse files

thermal: core: Add Kconfig option to enable writable trips



Add a Kconfig option to allow system integrators to control whether
userspace tools can change trip temperatures. This option overrides
the thermal zone setup in the driver code and must be enabled for
platform specified writable trips to come into effect.

The original behaviour of requiring root privileges to change trip
temperatures remains unchanged.

Cc: Eduardo Valentin <edubezval@gmail.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: default avatarPunit Agrawal <punit.agrawal@arm.com>
Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parent 4abe602d
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -42,6 +42,17 @@ config THERMAL_OF
	  Say 'Y' here if you need to build thermal infrastructure
	  based on device tree.

config THERMAL_WRITABLE_TRIPS
	bool "Enable writable trip points"
	help
	  This option allows the system integrator to choose whether
	  trip temperatures can be changed from userspace. The
	  writable trips need to be specified when setting up the
	  thermal zone but the choice here takes precedence.

	  Say 'Y' here if you would like to allow userspace tools to
	  change trip temperatures.

choice
	prompt "Default Thermal governor"
	default THERMAL_DEFAULT_GOV_STEP_WISE
+2 −1
Original line number Diff line number Diff line
@@ -1539,7 +1539,8 @@ static int create_trip_attrs(struct thermal_zone_device *tz, int mask)
						tz->trip_temp_attrs[indx].name;
		tz->trip_temp_attrs[indx].attr.attr.mode = S_IRUGO;
		tz->trip_temp_attrs[indx].attr.show = trip_point_temp_show;
		if (mask & (1 << indx)) {
		if (IS_ENABLED(CONFIG_THERMAL_WRITABLE_TRIPS) &&
		    mask & (1 << indx)) {
			tz->trip_temp_attrs[indx].attr.attr.mode |= S_IWUSR;
			tz->trip_temp_attrs[indx].attr.store =
							trip_point_temp_store;