In nct6687_update_fans you have for (i = 0; i < ARRAY_SIZE(data->rpm); i++), but size of data->rpm is always 3 (u16 rpm[3][NCT6687_NUM_REG_FAN];).
Also, maybe it's good idea to add debug print that is already there for temperature and voltage update functions to the fan update function as well?
In
nct6687_update_fans
you havefor (i = 0; i < ARRAY_SIZE(data->rpm); i++)
, but size ofdata->rpm
is always 3 (u16 rpm[3][NCT6687_NUM_REG_FAN];
). Also, maybe it's good idea to add debug print that is already there for temperature and voltage update functions to the fan update function as well?