summaryrefslogtreecommitdiff
path: root/include/linux/io.h
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2025-08-03 23:28:48 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2025-08-03 23:28:48 -0700
commita7bee4e7f78089c101be2ad51f4b5ec64782053e (patch)
tree01c730cd0a71026fb1e74d601e1cbb4d0143126a /include/linux/io.h
parent61c6fef7c4b06b4bdbf3142f4e5cace70597e0de (diff)
parent45ee66c37f9bd8cff7718c70d84e0291d385a093 (diff)
downloadlwn-a7bee4e7f78089c101be2ad51f4b5ec64782053e.tar.gz
lwn-a7bee4e7f78089c101be2ad51f4b5ec64782053e.zip
Merge tag 'ib-mfd-gpio-input-pwm-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into next
Merge an immutable branch between MFD, GPIO, Input and PWM to resolve conflicts for the merge window pull request.
Diffstat (limited to 'include/linux/io.h')
-rw-r--r--include/linux/io.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/linux/io.h b/include/linux/io.h
index 6a6bc4d46d0a..0642c7ee41db 100644
--- a/include/linux/io.h
+++ b/include/linux/io.h
@@ -183,4 +183,25 @@ static inline void arch_io_free_memtype_wc(resource_size_t base,
int devm_arch_io_reserve_memtype_wc(struct device *dev, resource_size_t start,
resource_size_t size);
+#ifdef CONFIG_STRICT_DEVMEM
+static inline int range_is_allowed(unsigned long pfn, unsigned long size)
+{
+ u64 from = ((u64)pfn) << PAGE_SHIFT;
+ u64 to = from + size;
+ u64 cursor = from;
+
+ while (cursor < to) {
+ if (!devmem_is_allowed(pfn))
+ return 0;
+ cursor += PAGE_SIZE;
+ pfn++;
+ }
+ return 1;
+}
+#else
+static inline int range_is_allowed(unsigned long pfn, unsigned long size)
+{
+ return 1;
+}
+#endif
#endif /* _LINUX_IO_H */