Lines Matching refs:pwm
110 struct mlxreg_fan_pwm pwm[MLXREG_FAN_MAX_PWM]; member
125 struct mlxreg_fan_pwm *pwm; in mlxreg_fan_read() local
182 pwm = &fan->pwm[channel]; in mlxreg_fan_read()
185 err = regmap_read(fan->regmap, pwm->reg, ®val); in mlxreg_fan_read()
209 struct mlxreg_fan_pwm *pwm; in mlxreg_fan_write() local
218 pwm = &fan->pwm[channel]; in mlxreg_fan_write()
221 pwm->last_hwmon_state = MLXREG_FAN_PWM_DUTY2STATE(val); in mlxreg_fan_write()
226 if (pwm->last_hwmon_state >= pwm->last_thermal_state) in mlxreg_fan_write()
227 return mlxreg_fan_set_cur_state(pwm->cdev, in mlxreg_fan_write()
228 pwm->last_hwmon_state); in mlxreg_fan_write()
231 return regmap_write(fan->regmap, pwm->reg, val); in mlxreg_fan_write()
263 if (!(((struct mlxreg_fan *)data)->pwm[channel].connected)) in mlxreg_fan_is_visible()
314 HWMON_CHANNEL_INFO(pwm,
344 struct mlxreg_fan_pwm *pwm = cdev->devdata; in mlxreg_fan_get_cur_state() local
345 struct mlxreg_fan *fan = pwm->fan; in mlxreg_fan_get_cur_state()
349 err = regmap_read(fan->regmap, pwm->reg, ®val); in mlxreg_fan_get_cur_state()
364 struct mlxreg_fan_pwm *pwm = cdev->devdata; in mlxreg_fan_set_cur_state() local
365 struct mlxreg_fan *fan = pwm->fan; in mlxreg_fan_set_cur_state()
372 pwm->last_thermal_state = state; in mlxreg_fan_set_cur_state()
374 state = max_t(unsigned long, state, pwm->last_hwmon_state); in mlxreg_fan_set_cur_state()
375 err = regmap_write(fan->regmap, pwm->reg, in mlxreg_fan_set_cur_state()
496 fan->pwm[pwm_num].reg = data->reg; in mlxreg_fan_config()
497 fan->pwm[pwm_num].connected = true; in mlxreg_fan_config()
559 struct mlxreg_fan_pwm *pwm = &fan->pwm[i]; in mlxreg_fan_cooling_config() local
561 if (!pwm->connected) in mlxreg_fan_cooling_config()
563 pwm->fan = fan; in mlxreg_fan_cooling_config()
564 pwm->cdev = devm_thermal_of_cooling_device_register(dev, NULL, mlxreg_fan_name[i], in mlxreg_fan_cooling_config()
565 pwm, &mlxreg_fan_cooling_ops); in mlxreg_fan_cooling_config()
566 if (IS_ERR(pwm->cdev)) { in mlxreg_fan_cooling_config()
568 return PTR_ERR(pwm->cdev); in mlxreg_fan_cooling_config()
572 pwm->last_hwmon_state = MLXREG_FAN_PWM_DUTY2STATE(MLXREG_FAN_MIN_DUTY); in mlxreg_fan_cooling_config()