diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2020-02-29 09:25:20 +0100 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2020-02-29 12:50:51 +0100 |
commit | a1383655cfaa71609d6236ae0fcf3b6047462b98 (patch) | |
tree | c6f123859e0dfcfaa6c1063eda26f27e208d3cac /target/linux/bcm27xx/patches-5.4/950-0122-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch | |
parent | a8aa974a9dfb4cba484dc4c1e4207fd9ec803410 (diff) | |
download | upstream-a1383655cfaa71609d6236ae0fcf3b6047462b98.tar.gz upstream-a1383655cfaa71609d6236ae0fcf3b6047462b98.tar.bz2 upstream-a1383655cfaa71609d6236ae0fcf3b6047462b98.zip |
bcm27xx: add linux 5.4 support
Tested on bcm2710 (Raspberry Pi 3B).
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0122-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0122-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0122-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch b/target/linux/bcm27xx/patches-5.4/950-0122-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch new file mode 100644 index 0000000000..5c2c402700 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0122-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch @@ -0,0 +1,75 @@ +From df1d54d6c8906d347b817e4b22130f7410d81102 Mon Sep 17 00:00:00 2001 +From: Stefan Wahren <stefan.wahren@i2se.com> +Date: Sat, 6 Oct 2018 16:46:18 +0200 +Subject: [PATCH] hwmon: raspberrypi: Prevent voltage low warnings from + filling log + +Although the correct fix for low voltage warnings is to +improve the power supply, the current implementation +of the detection can fill the log if the warning +happens freqently. This replaces the logging with +slightly custom ratelimited logging. + +Signed-off-by: James Hughes <james.hughes@raspberrypi.org> +Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> +--- + drivers/hwmon/raspberrypi-hwmon.c | 41 ++++++++++++++++++++++++++++--- + 1 file changed, 37 insertions(+), 4 deletions(-) + +--- a/drivers/hwmon/raspberrypi-hwmon.c ++++ b/drivers/hwmon/raspberrypi-hwmon.c +@@ -15,6 +15,36 @@ + #include <linux/workqueue.h> + #include <soc/bcm2835/raspberrypi-firmware.h> + ++/* ++ * This section defines some rate limited logging that prevent ++ * repeated messages at much lower Hz than the default kernel settings. ++ * It's usually 5s, this is 5 minutes. ++ * Burst 3 means you may get three messages 'quickly', before ++ * the ratelimiting kicks in. ++ */ ++#define LOCAL_RATELIMIT_INTERVAL (5 * 60 * HZ) ++#define LOCAL_RATELIMIT_BURST 3 ++ ++#ifdef CONFIG_PRINTK ++#define printk_ratelimited_local(fmt, ...) \ ++({ \ ++ static DEFINE_RATELIMIT_STATE(_rs, \ ++ LOCAL_RATELIMIT_INTERVAL, \ ++ LOCAL_RATELIMIT_BURST); \ ++ \ ++ if (__ratelimit(&_rs)) \ ++ printk(fmt, ##__VA_ARGS__); \ ++}) ++#else ++#define printk_ratelimited_local(fmt, ...) \ ++ no_printk(fmt, ##__VA_ARGS__) ++#endif ++ ++#define pr_crit_ratelimited_local(fmt, ...) \ ++ printk_ratelimited_local(KERN_CRIT pr_fmt(fmt), ##__VA_ARGS__) ++#define pr_info_ratelimited_local(fmt, ...) \ ++printk_ratelimited_local(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) ++ + #define UNDERVOLTAGE_STICKY_BIT BIT(16) + + struct rpi_hwmon_data { +@@ -47,10 +77,13 @@ static void rpi_firmware_get_throttled(s + if (new_uv == old_uv) + return; + +- if (new_uv) +- dev_crit(data->hwmon_dev, "Undervoltage detected!\n"); +- else +- dev_info(data->hwmon_dev, "Voltage normalised\n"); ++ if (new_uv) { ++ pr_crit_ratelimited_local("Under-voltage detected! (0x%08x)\n", ++ value); ++ } else { ++ pr_info_ratelimited_local("Voltage normalised (0x%08x)\n", ++ value); ++ } + + sysfs_notify(&data->hwmon_dev->kobj, NULL, "in0_lcrit_alarm"); + } |