summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Richardson <wfrichar@chromium.org>2013-04-26 13:46:18 -0700
committerChromeBot <chrome-bot@google.com>2013-04-26 16:07:21 -0700
commitdf06f61cccd415e3d20d187b3438bd565b81c9c3 (patch)
tree727e1eaf76fac857ba74b41dfea5e1573daad457
parent8bc24ec311d8c17cd543aa959847ad9a57438ce9 (diff)
downloadchrome-ec-df06f61cccd415e3d20d187b3438bd565b81c9c3.tar.gz
Split pwm.c into pwm_fan.c and pwm_kblight.c
Sadly, the existence of fans may not always imply the existence of keyboard backlights. BUG=chrome-os-partner:18825 BRANCH=slippy TEST=manual Use the Link EC console to make sure that both functions still behave. faninfo fanset 4400 faninfo fanset 9999 faninfo autofan faninfo fanduty 50 faninfo fanduty 100 faninfo autofan kblight 0 kblight 100 kblight 50 kbligth 100 Change-Id: I2e07cd46c21bce2d0d4162275a8ea6ae40135e96 Signed-off-by: Bill Richardson <wfrichar@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/49355
-rw-r--r--board/link/board.h3
-rw-r--r--board/slippy/board.h2
-rw-r--r--chip/lm4/build.mk3
-rw-r--r--chip/lm4/lpc.c4
-rw-r--r--chip/lm4/pwm_fan.c (renamed from chip/lm4/pwm.c)170
-rw-r--r--chip/lm4/pwm_kblight.c190
-rw-r--r--common/lightbar.c4
-rw-r--r--common/thermal.c2
-rw-r--r--include/pwm.h2
9 files changed, 232 insertions, 148 deletions
diff --git a/board/link/board.h b/board/link/board.h
index 2cbd12d643..2902b7c011 100644
--- a/board/link/board.h
+++ b/board/link/board.h
@@ -33,7 +33,8 @@
#define CONFIG_ONEWIRE_LED
#define CONFIG_PECI
#define CONFIG_POWER_BUTTON
-#define CONFIG_PWM
+#define CONFIG_PWM_FAN
+#define CONFIG_PWM_KBLIGHT
#define CONFIG_TEMP_SENSOR
#define CONFIG_TMP006
#define CONFIG_USB_CHARGE
diff --git a/board/slippy/board.h b/board/slippy/board.h
index e117d65696..4b51c74c8e 100644
--- a/board/slippy/board.h
+++ b/board/slippy/board.h
@@ -32,7 +32,7 @@
#define CONFIG_ONEWIRE
#define CONFIG_ONEWIRE_LED
#define CONFIG_PECI
-#define CONFIG_PWM
+#define CONFIG_PWM_FAN
#define CONFIG_TEMP_SENSOR
#define CONFIG_TMP006
#define CONFIG_USB_CHARGE
diff --git a/chip/lm4/build.mk b/chip/lm4/build.mk
index 6799fb64b7..a3178b88dc 100644
--- a/chip/lm4/build.mk
+++ b/chip/lm4/build.mk
@@ -20,7 +20,8 @@ chip-$(CONFIG_I2C)+=i2c.o
chip-$(CONFIG_LPC)+=lpc.o
chip-$(CONFIG_ONEWIRE)+=onewire.o
chip-$(CONFIG_PECI)+=peci.o
-chip-$(CONFIG_PWM)+=pwm.o
+chip-$(CONFIG_PWM_FAN)+=pwm_fan.o
+chip-$(CONFIG_PWM_KBLIGHT)+=pwm_kblight.o
chip-$(CONFIG_SPI)+=spi.o
chip-$(HAS_TASK_KEYSCAN)+=keyboard_raw.o
chip-$(HAS_TASK_SWITCH)+=switch.o
diff --git a/chip/lm4/lpc.c b/chip/lm4/lpc.c
index 5c5aad05c1..00dd23285c 100644
--- a/chip/lm4/lpc.c
+++ b/chip/lm4/lpc.c
@@ -386,7 +386,7 @@ static void handle_acpi_write(int is_cmd)
case EC_ACPI_MEM_TEST_COMPLIMENT:
result = 0xff - acpi_mem_test;
break;
-#ifdef CONFIG_PWM
+#ifdef CONFIG_PWM_KBLIGHT
case EC_ACPI_MEM_KEYBOARD_BACKLIGHT:
/*
* TODO: not very satisfying that LPC knows directly
@@ -412,7 +412,7 @@ static void handle_acpi_write(int is_cmd)
CPRINTF("[%T ACPI mem test 0x%02x]\n", data);
acpi_mem_test = data;
break;
-#ifdef CONFIG_PWM
+#ifdef CONFIG_PWM_KBLIGHT
case EC_ACPI_MEM_KEYBOARD_BACKLIGHT:
/*
* Debug output with CR not newline, because the host
diff --git a/chip/lm4/pwm.c b/chip/lm4/pwm_fan.c
index e112d67b75..aac96757af 100644
--- a/chip/lm4/pwm.c
+++ b/chip/lm4/pwm_fan.c
@@ -1,10 +1,11 @@
-/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-/* PWM control module for Chrome EC */
+/* PWM control module for Chromebook fans */
+#include "clock.h"
#include "common.h"
#include "console.h"
#include "gpio.h"
@@ -32,24 +33,21 @@
*/
#define CPU_FAN_SCALE 2
-#define PWM_SYSJUMP_TAG 0x504d /* "PM" */
+#define PWMFAN_SYSJUMP_TAG 0x5046 /* "PF" */
#define PWM_HOOK_VERSION 1
/* Saved PWM state across sysjumps */
-struct pwm_state {
+struct pwm_fan_state {
uint16_t fan_rpm;
uint8_t fan_en;
- uint8_t kblight_en;
- uint8_t kblight_percent;
char pad; /* Pad to multiple of 4 bytes. */
};
/**
* Configure the GPIOs for the pwm module.
*/
-static void configure_gpios(void)
+static void configure_fan_gpios(void)
{
- /* PK6 alternate function 1 = channel 1 PWM */
- gpio_set_alternate_function(LM4_GPIO_K, 0x40, 1);
+ /* HEY: this is Link only */
/* PM6:7 alternate function 1 = channel 0 PWM/tach */
gpio_set_alternate_function(LM4_GPIO_M, 0xc0, 1);
}
@@ -72,7 +70,7 @@ static int pwm_get_rpm_mode(void)
return (LM4_FAN_FANCH(FAN_CH_CPU) & 0x0001) ? 0 : 1;
}
-void pwm_set_rpm_mode(int rpm_mode)
+void pwm_set_fan_rpm_mode(int rpm_mode)
{
int was_enabled = pwm_get_fan_enabled();
int was_rpm = pwm_get_rpm_mode();
@@ -114,35 +112,6 @@ void pwm_set_fan_target_rpm(int rpm)
LM4_FAN_FANCMD(FAN_CH_CPU) = rpm;
}
-void pwm_enable_keyboard_backlight(int enable)
-{
- if (enable)
- LM4_FAN_FANCTL |= (1 << FAN_CH_KBLIGHT);
- else
- LM4_FAN_FANCTL &= ~(1 << FAN_CH_KBLIGHT);
-}
-
-int pwm_get_keyboard_backlight_enabled(void)
-{
- return (LM4_FAN_FANCTL & (1 << FAN_CH_KBLIGHT)) ? 1 : 0;
-}
-
-int pwm_get_keyboard_backlight(void)
-{
- return ((LM4_FAN_FANCMD(FAN_CH_KBLIGHT) >> 16) * 100 +
- MAX_PWM / 2) / MAX_PWM;
-}
-
-void pwm_set_keyboard_backlight(int percent)
-{
- if (percent < 0)
- percent = 0;
- else if (percent > 100)
- percent = 100;
-
- LM4_FAN_FANCMD(FAN_CH_KBLIGHT) = ((percent * MAX_PWM + 50) / 100) << 16;
-}
-
void pwm_set_fan_duty(int percent)
{
int pwm;
@@ -155,7 +124,7 @@ void pwm_set_fan_duty(int percent)
pwm = (MAX_PWM * percent) / 100;
/* Move the fan to manual control */
- pwm_set_rpm_mode(0);
+ pwm_set_fan_rpm_mode(0);
/* Always enable the fan */
pwm_enable_fan(1);
@@ -217,8 +186,8 @@ static int command_fan_set(int argc, char **argv)
if (*e)
return EC_ERROR_PARAM1;
- /* Move the fan to automatic control */
- pwm_set_rpm_mode(1);
+ /* Move the fan to automatic control */
+ pwm_set_fan_rpm_mode(1);
/* Always enable the fan */
pwm_enable_fan(1);
@@ -259,24 +228,6 @@ DECLARE_CONSOLE_COMMAND(fanduty, ec_command_fan_duty,
"Set fan duty cycle",
NULL);
-static int command_kblight(int argc, char **argv)
-{
- if (argc >= 2) {
- char *e;
- int i = strtoi(argv[1], &e, 0);
- if (*e)
- return EC_ERROR_PARAM1;
- pwm_set_keyboard_backlight(i);
- }
-
- ccprintf("Keyboard backlight: %d%%\n", pwm_get_keyboard_backlight());
- return EC_SUCCESS;
-}
-DECLARE_CONSOLE_COMMAND(kblight, command_kblight,
- "percent",
- "Set keyboard backlight",
- NULL);
-
/*****************************************************************************/
/* Host commands */
@@ -300,7 +251,7 @@ int pwm_command_set_fan_target_rpm(struct host_cmd_handler_args *args)
#ifdef HAS_TASK_THERMAL
thermal_control_fan(0);
#endif
- pwm_set_rpm_mode(1);
+ pwm_set_fan_rpm_mode(1);
pwm_set_fan_target_rpm(p->rpm);
return EC_RES_SUCCESS;
@@ -320,49 +271,22 @@ DECLARE_HOST_COMMAND(EC_CMD_PWM_SET_FAN_DUTY,
pwm_command_fan_duty,
EC_VER_MASK(0));
-int pwm_command_get_keyboard_backlight(struct host_cmd_handler_args *args)
-{
- struct ec_response_pwm_get_keyboard_backlight *r = args->response;
-
- r->percent = pwm_get_keyboard_backlight();
- r->enabled = pwm_get_keyboard_backlight_enabled();
- args->response_size = sizeof(*r);
-
- return EC_RES_SUCCESS;
-}
-DECLARE_HOST_COMMAND(EC_CMD_PWM_GET_KEYBOARD_BACKLIGHT,
- pwm_command_get_keyboard_backlight,
- EC_VER_MASK(0));
-
-int pwm_command_set_keyboard_backlight(struct host_cmd_handler_args *args)
-{
- const struct ec_params_pwm_set_keyboard_backlight *p = args->params;
-
- pwm_set_keyboard_backlight(p->percent);
-
- return EC_RES_SUCCESS;
-}
-DECLARE_HOST_COMMAND(EC_CMD_PWM_SET_KEYBOARD_BACKLIGHT,
- pwm_command_set_keyboard_backlight,
- EC_VER_MASK(0));
-
/*****************************************************************************/
/* Hooks */
-static void pwm_init(void)
+static void pwm_fan_init(void)
{
- volatile uint32_t scratch __attribute__((unused));
- const struct pwm_state *prev;
+ const struct pwm_fan_state *prev;
uint16_t *mapped;
int version, size;
int i;
/* Enable the fan module and delay a few clocks */
LM4_SYSTEM_RCGCFAN = 1;
- scratch = LM4_SYSTEM_RCGCFAN;
+ clock_wait_cycles(3);
/* Configure GPIOs */
- configure_gpios();
+ configure_fan_gpios();
/* Disable all fans */
LM4_FAN_FANCTL = 0;
@@ -381,38 +305,15 @@ static void pwm_init(void)
*/
LM4_FAN_FANCH(FAN_CH_CPU) = 0x802c;
- /*
- * Configure keyboard backlight:
- * 0x0000 = bit 15 = auto-restart
- * 0x0000 = bit 14 = slow acceleration
- * 0x0000 = bits 13:11 = no hysteresis
- * 0x0000 = bits 10:8 = start period (2<<0) edges
- * 0x0000 = bits 7:6 = no fast start
- * 0x0000 = bits 5:4 = average 4 edges when calculating RPM
- * 0x0000 = bits 3:2 = 4 pulses per revolution
- * 0x0001 = bit 0 = manual control
- */
- LM4_FAN_FANCH(FAN_CH_KBLIGHT) = 0x0001;
-
- prev = (const struct pwm_state *)system_get_jump_tag(PWM_SYSJUMP_TAG,
- &version, &size);
+ prev = (const struct pwm_fan_state *)
+ system_get_jump_tag(PWMFAN_SYSJUMP_TAG, &version, &size);
if (prev && version == PWM_HOOK_VERSION && size == sizeof(*prev)) {
/* Restore previous state. */
pwm_enable_fan(prev->fan_en);
pwm_set_fan_target_rpm(prev->fan_rpm);
- pwm_enable_keyboard_backlight(prev->kblight_en);
- pwm_set_keyboard_backlight(prev->kblight_percent);
- }
- else {
- /* Set initial fan speed to maximum, backlight off */
+ } else {
+ /* Set initial fan speed to maximum */
pwm_set_fan_target_rpm(-1);
- pwm_set_keyboard_backlight(0);
-
- /*
- * Enable keyboard backlight. Fan will be enabled later by
- * whatever controls the fan power supply.
- */
- pwm_enable_keyboard_backlight(1);
}
/* Initialize memory-mapped data */
@@ -420,9 +321,9 @@ static void pwm_init(void)
for (i = 0; i < EC_FAN_SPEED_ENTRIES; i++)
mapped[i] = EC_FAN_SPEED_NOT_PRESENT;
}
-DECLARE_HOOK(HOOK_INIT, pwm_init, HOOK_PRIO_DEFAULT);
+DECLARE_HOOK(HOOK_INIT, pwm_fan_init, HOOK_PRIO_DEFAULT);
-static void pwm_second(void)
+static void pwm_fan_second(void)
{
uint16_t *mapped = (uint16_t *)host_get_memmap(EC_MEMMAP_FAN);
@@ -438,38 +339,29 @@ static void pwm_second(void)
mapped[0] = pwm_get_fan_rpm();
}
}
-DECLARE_HOOK(HOOK_SECOND, pwm_second, HOOK_PRIO_DEFAULT);
+DECLARE_HOOK(HOOK_SECOND, pwm_fan_second, HOOK_PRIO_DEFAULT);
-static void pwm_preserve_state(void)
+static void pwm_fan_preserve_state(void)
{
- struct pwm_state state;
+ struct pwm_fan_state state;
state.fan_en = pwm_get_fan_enabled();
state.fan_rpm = pwm_get_fan_target_rpm();
- state.kblight_en = pwm_get_keyboard_backlight_enabled();
- state.kblight_percent = pwm_get_keyboard_backlight();
- system_add_jump_tag(PWM_SYSJUMP_TAG, PWM_HOOK_VERSION,
+ system_add_jump_tag(PWMFAN_SYSJUMP_TAG, PWM_HOOK_VERSION,
sizeof(state), &state);
}
-DECLARE_HOOK(HOOK_SYSJUMP, pwm_preserve_state, HOOK_PRIO_DEFAULT);
+DECLARE_HOOK(HOOK_SYSJUMP, pwm_fan_preserve_state, HOOK_PRIO_DEFAULT);
-static void pwm_resume(void)
+static void pwm_fan_resume(void)
{
pwm_enable_fan(1);
}
-DECLARE_HOOK(HOOK_CHIPSET_RESUME, pwm_resume, HOOK_PRIO_DEFAULT);
+DECLARE_HOOK(HOOK_CHIPSET_RESUME, pwm_fan_resume, HOOK_PRIO_DEFAULT);
-static void pwm_suspend(void)
+static void pwm_fan_suspend(void)
{
pwm_enable_fan(0);
pwm_set_fan_target_rpm(0);
- pwm_set_keyboard_backlight(0);
-}
-DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, pwm_suspend, HOOK_PRIO_DEFAULT);
-
-static void pwm_shutdown(void)
-{
- pwm_set_keyboard_backlight(0);
}
-DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, pwm_shutdown, HOOK_PRIO_DEFAULT);
+DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, pwm_fan_suspend, HOOK_PRIO_DEFAULT);
diff --git a/chip/lm4/pwm_kblight.c b/chip/lm4/pwm_kblight.c
new file mode 100644
index 0000000000..9382a8e35f
--- /dev/null
+++ b/chip/lm4/pwm_kblight.c
@@ -0,0 +1,190 @@
+/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* PWM control module for Chromebook keyboard backlight. */
+
+#include "clock.h"
+#include "common.h"
+#include "console.h"
+#include "gpio.h"
+#include "hooks.h"
+#include "host_command.h"
+#include "pwm.h"
+#include "registers.h"
+#include "system.h"
+#include "task.h"
+#include "thermal.h"
+#include "timer.h"
+#include "util.h"
+
+/* Max PWM for controller */
+#define MAX_PWM 0x1ff
+
+#define PWMKBD_SYSJUMP_TAG 0x504b /* "PK" */
+#define PWM_HOOK_VERSION 1
+/* Saved PWM state across sysjumps */
+struct pwm_kbd_state {
+ uint8_t kblight_en;
+ uint8_t kblight_percent;
+ uint8_t pad0, pad1; /* Pad to multiple of 4 bytes. */
+};
+
+/**
+ * Configure the GPIOs for the pwm module.
+ */
+static void configure_kblight_gpios(void)
+{
+ /* HEY: This for Link only */
+ /* PK6 alternate function 1 = channel 1 PWM */
+ gpio_set_alternate_function(LM4_GPIO_K, 0x40, 1);
+}
+
+void pwm_enable_keyboard_backlight(int enable)
+{
+ if (enable)
+ LM4_FAN_FANCTL |= (1 << FAN_CH_KBLIGHT);
+ else
+ LM4_FAN_FANCTL &= ~(1 << FAN_CH_KBLIGHT);
+}
+
+int pwm_get_keyboard_backlight_enabled(void)
+{
+ return (LM4_FAN_FANCTL & (1 << FAN_CH_KBLIGHT)) ? 1 : 0;
+}
+
+int pwm_get_keyboard_backlight(void)
+{
+ return ((LM4_FAN_FANCMD(FAN_CH_KBLIGHT) >> 16) * 100 +
+ MAX_PWM / 2) / MAX_PWM;
+}
+
+void pwm_set_keyboard_backlight(int percent)
+{
+ if (percent < 0)
+ percent = 0;
+ else if (percent > 100)
+ percent = 100;
+
+ LM4_FAN_FANCMD(FAN_CH_KBLIGHT) = ((percent * MAX_PWM + 50) / 100) << 16;
+}
+
+/*****************************************************************************/
+/* Console commands */
+
+static int command_kblight(int argc, char **argv)
+{
+ if (argc >= 2) {
+ char *e;
+ int i = strtoi(argv[1], &e, 0);
+ if (*e)
+ return EC_ERROR_PARAM1;
+ pwm_set_keyboard_backlight(i);
+ }
+
+ ccprintf("Keyboard backlight: %d%%\n", pwm_get_keyboard_backlight());
+ return EC_SUCCESS;
+}
+DECLARE_CONSOLE_COMMAND(kblight, command_kblight,
+ "percent",
+ "Set keyboard backlight",
+ NULL);
+
+/*****************************************************************************/
+/* Host commands */
+
+int pwm_command_get_keyboard_backlight(struct host_cmd_handler_args *args)
+{
+ struct ec_response_pwm_get_keyboard_backlight *r = args->response;
+
+ r->percent = pwm_get_keyboard_backlight();
+ r->enabled = pwm_get_keyboard_backlight_enabled();
+ args->response_size = sizeof(*r);
+
+ return EC_RES_SUCCESS;
+}
+DECLARE_HOST_COMMAND(EC_CMD_PWM_GET_KEYBOARD_BACKLIGHT,
+ pwm_command_get_keyboard_backlight,
+ EC_VER_MASK(0));
+
+int pwm_command_set_keyboard_backlight(struct host_cmd_handler_args *args)
+{
+ const struct ec_params_pwm_set_keyboard_backlight *p = args->params;
+
+ pwm_set_keyboard_backlight(p->percent);
+
+ return EC_RES_SUCCESS;
+}
+DECLARE_HOST_COMMAND(EC_CMD_PWM_SET_KEYBOARD_BACKLIGHT,
+ pwm_command_set_keyboard_backlight,
+ EC_VER_MASK(0));
+
+/*****************************************************************************/
+/* Hooks */
+
+static void pwm_kblight_init(void)
+{
+ const struct pwm_kbd_state *prev;
+ int version, size;
+
+ /* Enable the fan module and delay a few clocks */
+ LM4_SYSTEM_RCGCFAN = 1;
+ clock_wait_cycles(3);
+
+ /* Configure GPIOs */
+ configure_kblight_gpios();
+
+ /* Disable all fans */
+ LM4_FAN_FANCTL = 0;
+
+ /*
+ * Configure keyboard backlight:
+ * 0x0000 = bit 15 = auto-restart
+ * 0x0000 = bit 14 = slow acceleration
+ * 0x0000 = bits 13:11 = no hysteresis
+ * 0x0000 = bits 10:8 = start period (2<<0) edges
+ * 0x0000 = bits 7:6 = no fast start
+ * 0x0000 = bits 5:4 = average 4 edges when calculating RPM
+ * 0x0000 = bits 3:2 = 4 pulses per revolution
+ * 0x0001 = bit 0 = manual control
+ */
+ LM4_FAN_FANCH(FAN_CH_KBLIGHT) = 0x0001;
+
+ prev = (const struct pwm_kbd_state *)
+ system_get_jump_tag(PWMKBD_SYSJUMP_TAG, &version, &size);
+ if (prev && version == PWM_HOOK_VERSION && size == sizeof(*prev)) {
+ /* Restore previous state. */
+ pwm_enable_keyboard_backlight(prev->kblight_en);
+ pwm_set_keyboard_backlight(prev->kblight_percent);
+ } else {
+ /* Enable keyboard backlight control, turned down */
+ pwm_set_keyboard_backlight(0);
+ pwm_enable_keyboard_backlight(1);
+ }
+}
+DECLARE_HOOK(HOOK_INIT, pwm_kblight_init, HOOK_PRIO_DEFAULT);
+
+static void pwm_kblight_preserve_state(void)
+{
+ struct pwm_kbd_state state;
+
+ state.kblight_en = pwm_get_keyboard_backlight_enabled();
+ state.kblight_percent = pwm_get_keyboard_backlight();
+
+ system_add_jump_tag(PWMKBD_SYSJUMP_TAG, PWM_HOOK_VERSION,
+ sizeof(state), &state);
+}
+DECLARE_HOOK(HOOK_SYSJUMP, pwm_kblight_preserve_state, HOOK_PRIO_DEFAULT);
+
+static void pwm_kblight_suspend(void)
+{
+ pwm_set_keyboard_backlight(0);
+}
+DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, pwm_kblight_suspend, HOOK_PRIO_DEFAULT);
+
+static void pwm_kblight_shutdown(void)
+{
+ pwm_set_keyboard_backlight(0);
+}
+DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, pwm_kblight_shutdown, HOOK_PRIO_DEFAULT);
diff --git a/common/lightbar.c b/common/lightbar.c
index 2a8bdf2478..f729318c16 100644
--- a/common/lightbar.c
+++ b/common/lightbar.c
@@ -253,7 +253,7 @@ static void lb_restore_state(void)
* state by calling the demo_* functions directly. */
/******************************************************************************/
-#ifdef CONFIG_PWM
+#ifdef CONFIG_PWM_KBLIGHT
static int last_backlight_level;
#endif
@@ -289,7 +289,7 @@ static void get_battery_level(void)
st.battery_level = bl;
-#ifdef CONFIG_PWM
+#ifdef CONFIG_PWM_KBLIGHT
/* With nothing else to go on, use the keyboard backlight level to
* set the brightness. If the keyboard backlight is OFF (which it is
* when ambient is bright), use max brightness for lightbar. If
diff --git a/common/thermal.c b/common/thermal.c
index 69b24e6d9d..00970c6081 100644
--- a/common/thermal.c
+++ b/common/thermal.c
@@ -87,7 +87,7 @@ void thermal_control_fan(int enable)
/* If controlling the fan, need it in RPM-control mode */
if (enable)
- pwm_set_rpm_mode(1);
+ pwm_set_fan_rpm_mode(1);
}
static void smi_overheated_warning(void)
diff --git a/include/pwm.h b/include/pwm.h
index 62faadea5b..bb6b5a8549 100644
--- a/include/pwm.h
+++ b/include/pwm.h
@@ -23,7 +23,7 @@ void pwm_enable_fan(int enable);
* @param rpm_mode Enable (1) or disable (0) RPM control loop; when
* disabled, fan duty cycle will be used.
*/
-void pwm_set_rpm_mode(int enable);
+void pwm_set_fan_rpm_mode(int enable);
/**
* Get the current fan RPM.