Hi Balsam, another thing. On Thu, Aug 04, 2022 at 03:09:09PM +0200, bchihi@xxxxxxxxxxxx wrote: [..] > --- /dev/null > +++ b/drivers/thermal/mediatek/lvts_thermal.h [..] > +#define ONE_SAMPLE (lvts_data->counting_window_us + 2 * BUS_ACCESS_US) This macro is still using a hardcoded variable. > +#define NUM_OF_SAMPLE(tc_id) ((lvts_data->tc[tc_id].hw_filter < LVTS_FILTER_2) ? \ > + 1 : ((lvts_data->tc[tc_id].hw_filter > LVTS_FILTER_16_OF_18) ? \ > + 1 : ((lvts_data->tc[tc_id].hw_filter == LVTS_FILTER_16_OF_18) ? \ > + 18 : ((lvts_data->tc[tc_id].hw_filter == LVTS_FILTER_8_OF_10) ? \ > + 10 : (lvts_data->tc[tc_id].hw_filter * 2))))) Ditto. > + > +#define PERIOD_UNIT_US(tc_id) ((lvts_data->tc[tc_id].tc_speed->period_unit * 256 * \ > + CLOCK_26MHZ_CYCLE_NS) / 1000) > +#define FILTER_INT_US(tc_id) (lvts_data->tc[tc_id].tc_speed->filter_interval_delay * \ > + PERIOD_UNIT_US(tc_id)) > +#define SENSOR_INT_US(tc_id) (lvts_data->tc[tc_id].tc_speed->sensor_interval_delay * \ > + PERIOD_UNIT_US(tc_id)) > +#define GROUP_INT_US(tc_id) (lvts_data->tc[tc_id].tc_speed->group_interval_delay * \ > + PERIOD_UNIT_US(tc_id)) All of these too. > +#define SENSOR_LATENCY_US(tc_id) ((NUM_OF_SAMPLE(tc_id) - 1) * FILTER_INT_US(tc_id) + \ [..] > +#define DEVICE_READ (CK26M_ACTIVE(lvts_data) | DEVICE_ACCESS) And this. > +#define DEVICE_WRITE (CK26M_ACTIVE(lvts_data) | DEVICE_ACCESS | WRITE_ACCESS) And this. > +#define RESET_ALL_DEVICES (DEVICE_WRITE | RG_TSFM_RST << 8 | 0xFF) > +#define READ_DEVICE_REG(reg_id) (DEVICE_READ | (reg_id) << 8 | 0x00) > +#define READ_BACK_DEVICE_ID (CK26M_ACTIVE(lvts_data) | DEVICE_ACCESS | BROADCAST_ID_UPDATE | \ And finally this one. I might've have missed some, so please double-check and remove any lingering hardcoded variable in macros. Thanks, Nícolas > + RG_DID_LVTS << 8) [..]