aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2021-06-05 17:58:16 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2021-06-05 17:58:16 +0200
commit3f50da76212263fff90603eb9e9bbcacfc86752b (patch)
treeae08493db95cdc291197d4caff8ed371b2c5eaa3
parent1c5ac6320840533fe6767122b65f27ced3699a53 (diff)
downloadbackports-3f50da76212263fff90603eb9e9bbcacfc86752b.tar.gz
header: Add fsleep()
This was added in upstream Linux commit c6af13d33475 ("timer: add fsleep for flexible sleeping") and is now used by the rtw88 driver. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--backport/backport-include/linux/delay.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/backport/backport-include/linux/delay.h b/backport/backport-include/linux/delay.h
new file mode 100644
index 00000000..c19f4322
--- /dev/null
+++ b/backport/backport-include/linux/delay.h
@@ -0,0 +1,21 @@
+#ifndef __BACKPORT_LINUX_DELAY_H
+#define __BACKPORT_LINUX_DELAY_H
+#include_next <linux/delay.h>
+
+#include <linux/version.h>
+
+#if LINUX_VERSION_IS_LESS(5,8,0)
+#define fsleep LINUX_BACKPORT(fsleep)
+/* see Documentation/timers/timers-howto.rst for the thresholds */
+static inline void fsleep(unsigned long usecs)
+{
+ if (usecs <= 10)
+ udelay(usecs);
+ else if (usecs <= 20000)
+ usleep_range(usecs, 2 * usecs);
+ else
+ msleep(DIV_ROUND_UP(usecs, 1000));
+}
+#endif /* < 5.8.0 */
+
+#endif /* __BACKPORT_LINUX_DELAY_H */