On Tue, 2020-12-01 at 02:22 +0800, Kai-Heng Feng wrote: > > On Dec 1, 2020, at 02:13, Srinivas Pandruvada < > > srinivas.pandruv...@linux.intel.com> wrote: > > [snipped] > > > > > What about creating an new callback > > > > > > > > enum thermal_trip_status { > > > > THERMAL_TRIP_DISABLED = 0, > > > > THERMAL_TRIP_ENABLED, > > > > }; > > > > > > > > int get_trip_status(struct thermal_zone_device *, int trip, > > > > enum > > > > thermal_trip_status *state); > > > > > > > > Then in > > > > static void handle_thermal_trip(struct thermal_zone_device *tz, > > > > int > > > > trip) > > > > { > > > > > > > > /* before tz->ops->get_trip_temp(tz, trip, &trip_temp); */ > > > > if (tz->ops->get_trip_status) { > > > > enum thermal_trip_status *status; > > > > > > > > if (!tz->ops->get_trip_status(tz, trip, &status)) { > > > > if (status == THERMAL_TRIP_DISABLED) > > > > return; > > > > } > > > > } > > > > ... > > > > ... > > > > > > > > } > > > > > > > > > > > > This callback will help the cases: > > > > - Allows drivers to selectively disable certain trips during > > > > init > > > > state > > > > or system resume where there can be spikes or always. int340x > > > > drivers > > > > can disable always. > > > > > > This sounds really great. This is indeed can happen on system > > > resume, > > > before userspace process thaw. > > > > > > > - Still give options for drivers to handle critical trip even > > > > if > > > > they > > > > are bound to user space governors. User space process may be > > > > dead, > > > > so > > > > still allow kernel to process graceful shutdown > > > > > > To make the scenario happen, do we need a new sysfs to let > > > usespace > > > enable it with THERMAL_TRIP_ENABLED? > > This should be drivers call not user space. > > Understood. So after thermal_zone_device_register(), the driver can > decide to what to return on get_trip_temp(). get_trip_status()
> Let me work on a new patch if there's no other concern. Better to wait for confirmation from Daniel and others. Thanks, Srinivas > > Kai-Heng > > > Thanks, > > Srinivas