Lines Matching defs:pwm
100 * @pwm: PWM data;
110 struct mlxreg_fan_pwm pwm[MLXREG_FAN_MAX_PWM];
125 struct mlxreg_fan_pwm *pwm;
182 pwm = &fan->pwm[channel];
185 err = regmap_read(fan->regmap, pwm->reg, ®val);
209 struct mlxreg_fan_pwm *pwm;
218 pwm = &fan->pwm[channel];
221 pwm->last_hwmon_state = MLXREG_FAN_PWM_DUTY2STATE(val);
226 if (pwm->last_hwmon_state >= pwm->last_thermal_state)
227 return mlxreg_fan_set_cur_state(pwm->cdev,
228 pwm->last_hwmon_state);
231 return regmap_write(fan->regmap, pwm->reg, val);
263 if (!(((struct mlxreg_fan *)data)->pwm[channel].connected))
314 HWMON_CHANNEL_INFO(pwm,
344 struct mlxreg_fan_pwm *pwm = cdev->devdata;
345 struct mlxreg_fan *fan = pwm->fan;
349 err = regmap_read(fan->regmap, pwm->reg, ®val);
364 struct mlxreg_fan_pwm *pwm = cdev->devdata;
365 struct mlxreg_fan *fan = pwm->fan;
372 pwm->last_thermal_state = state;
374 state = max_t(unsigned long, state, pwm->last_hwmon_state);
375 err = regmap_write(fan->regmap, pwm->reg,
414 dev_err(fan->dev, "Failed to query pwm register 0x%08x\n",
480 } else if (strnstr(data->label, "pwm", sizeof(data->label))) {
482 dev_err(fan->dev, "too many pwm entries: %s\n",
496 fan->pwm[pwm_num].reg = data->reg;
497 fan->pwm[pwm_num].connected = true;
559 struct mlxreg_fan_pwm *pwm = &fan->pwm[i];
561 if (!pwm->connected)
563 pwm->fan = fan;
564 pwm->cdev = devm_thermal_of_cooling_device_register(dev, NULL, mlxreg_fan_name[i],
565 pwm, &mlxreg_fan_cooling_ops);
566 if (IS_ERR(pwm->cdev)) {
568 return PTR_ERR(pwm->cdev);
572 pwm->last_hwmon_state = MLXREG_FAN_PWM_DUTY2STATE(MLXREG_FAN_MIN_DUTY);