mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 13:41:51 +00:00
thermal: trip: Add conversion macros for thermal trip priv field
Some drivers will need to store integers in the priv field of struct thermal_trip, so add conversion macros for doing this in a consistent way and switch over the int340x_thermal driver that already does it and uses custom conversion functions to using the new macros. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Link: https://patch.msgid.link/3297884.aeNJFYEL58@rjwysocki.net
This commit is contained in:
parent
463b86fed2
commit
d1fbf18a0f
@ -62,16 +62,6 @@ static void int340x_thermal_critical(struct thermal_zone_device *zone)
|
||||
thermal_zone_device_type(zone));
|
||||
}
|
||||
|
||||
static inline void *int_to_trip_priv(int i)
|
||||
{
|
||||
return (void *)(long)i;
|
||||
}
|
||||
|
||||
static inline int trip_priv_to_int(const struct thermal_trip *trip)
|
||||
{
|
||||
return (long)trip->priv;
|
||||
}
|
||||
|
||||
static int int340x_thermal_read_trips(struct acpi_device *zone_adev,
|
||||
struct thermal_trip *zone_trips,
|
||||
int trip_cnt)
|
||||
@ -106,7 +96,7 @@ static int int340x_thermal_read_trips(struct acpi_device *zone_adev,
|
||||
break;
|
||||
|
||||
zone_trips[trip_cnt].type = THERMAL_TRIP_ACTIVE;
|
||||
zone_trips[trip_cnt].priv = int_to_trip_priv(i);
|
||||
zone_trips[trip_cnt].priv = THERMAL_INT_TO_TRIP_PRIV(i);
|
||||
trip_cnt++;
|
||||
}
|
||||
|
||||
@ -224,7 +214,7 @@ static int int340x_update_one_trip(struct thermal_trip *trip, void *arg)
|
||||
break;
|
||||
case THERMAL_TRIP_ACTIVE:
|
||||
err = thermal_acpi_active_trip_temp(zone_adev,
|
||||
trip_priv_to_int(trip),
|
||||
THERMAL_TRIP_PRIV_TO_INT(trip->priv),
|
||||
&temp);
|
||||
break;
|
||||
default:
|
||||
|
@ -79,6 +79,9 @@ struct thermal_trip {
|
||||
#define THERMAL_TRIP_FLAG_RW (THERMAL_TRIP_FLAG_RW_TEMP | \
|
||||
THERMAL_TRIP_FLAG_RW_HYST)
|
||||
|
||||
#define THERMAL_TRIP_PRIV_TO_INT(_val_) (uintptr_t)(_val_)
|
||||
#define THERMAL_INT_TO_TRIP_PRIV(_val_) (void *)(uintptr_t)(_val_)
|
||||
|
||||
struct thermal_zone_device;
|
||||
|
||||
struct thermal_zone_device_ops {
|
||||
|
Loading…
Reference in New Issue
Block a user