Skip to content

Commit

Permalink
thermal: trip: Add conversion macros for thermal trip priv field
Browse files Browse the repository at this point in the history
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 <[email protected]>
Link: https://patch.msgid.link/[email protected]
  • Loading branch information
rafaeljw committed Jul 9, 2024
1 parent 463b86f commit d1fbf18
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 12 deletions.
14 changes: 2 additions & 12 deletions drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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++;
}

Expand Down Expand Up @@ -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:
Expand Down
3 changes: 3 additions & 0 deletions include/linux/thermal.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit d1fbf18

Please sign in to comment.