From d38c44b7fd4b0fa3ab742f456994f1a1ef188094 Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Tue, 30 Oct 2018 10:55:40 -0700 Subject: Fan: Allow fan count to be set dynamically Currently, the fan count is statically set. This patch allows it to be set dynamically so that a single binary can support devices with a different number of fans (including fan-less). Signed-off-by: Daisuke Nojiri BUG=b:116588924 BRANCH=none TEST=Boot Fizz with OEM=8. Verify fan spins with OEM=1. Change-Id: I77fc4e07ce2a1be2e288df145857a79c0003542f Reviewed-on: https://chromium-review.googlesource.com/1308257 Commit-Ready: Daisuke Nojiri Tested-by: Daisuke Nojiri Reviewed-by: Jett Rink --- chip/it83xx/fan.c | 8 ++++---- chip/it83xx/pwm.c | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'chip/it83xx') diff --git a/chip/it83xx/fan.c b/chip/it83xx/fan.c index d8cf010695..adb3985025 100644 --- a/chip/it83xx/fan.c +++ b/chip/it83xx/fan.c @@ -97,12 +97,12 @@ static int fan_all_disabled(void) { int fan, all_disabled = 0; - for (fan = 0; fan < CONFIG_FANS; fan++) { + for (fan = 0; fan < fan_get_count(); fan++) { if (!fan_get_enabled(FAN_CH(fan))) all_disabled++; } - if (all_disabled >= CONFIG_FANS) + if (all_disabled >= fan_get_count()) return 1; return 0; @@ -422,7 +422,7 @@ void fan_ext_timer_interrupt(void) task_clear_pending_irq(et_ctrl_regs[FAN_CTRL_EXT_TIMER].irq); - for (fan = 0; fan < CONFIG_FANS; fan++) { + for (fan = 0; fan < fan_get_count(); fan++) { if (fan_get_enabled(FAN_CH(fan))) { proc_tach(FAN_CH(fan)); fan_ctrl(FAN_CH(fan)); @@ -435,7 +435,7 @@ static void fan_init(void) int ch, rpm_re, fan_p, s_duty; enum tach_ch_sel tach_ch; - for (ch = 0; ch < CONFIG_FANS; ch++) { + for (ch = 0; ch < fan_get_count(); ch++) { rpm_re = fan_tach[pwm_channels[FAN_CH(ch)].channel].rpm_re; fan_p = fan_tach[pwm_channels[FAN_CH(ch)].channel].fan_p; diff --git a/chip/it83xx/pwm.c b/chip/it83xx/pwm.c index a2214c127a..fbf9a3f413 100644 --- a/chip/it83xx/pwm.c +++ b/chip/it83xx/pwm.c @@ -6,7 +6,6 @@ /* PWM control module for IT83xx. */ #include "clock.h" -#include "fan.h" #include "gpio.h" #include "hooks.h" #include "pwm.h" -- cgit v1.2.1