]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 4.19
authorSasha Levin <sashal@kernel.org>
Fri, 8 May 2020 00:50:51 +0000 (20:50 -0400)
committerSasha Levin <sashal@kernel.org>
Fri, 8 May 2020 00:50:51 +0000 (20:50 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.19/lib-devres-add-a-helper-function-for-ioremap_uc.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/lib-devres-add-a-helper-function-for-ioremap_uc.patch b/queue-4.19/lib-devres-add-a-helper-function-for-ioremap_uc.patch
new file mode 100644 (file)
index 0000000..c04dfce
--- /dev/null
@@ -0,0 +1,84 @@
+From 6438cb39936a9fa5aa731022d40ff07118be5bb0 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 16 Oct 2019 15:06:28 -0600
+Subject: lib: devres: add a helper function for ioremap_uc
+
+From: Tuowen Zhao <ztuowen@gmail.com>
+
+[ Upstream commit e537654b7039aacfe8ae629d49655c0e5692ad44 ]
+
+Implement a resource managed strongly uncachable ioremap function.
+
+Cc: <stable@vger.kernel.org> # v4.19+
+Tested-by: AceLan Kao <acelan.kao@canonical.com>
+Signed-off-by: Tuowen Zhao <ztuowen@gmail.com>
+Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
+Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Acked-by: Luis Chamberlain <mcgrof@kernel.org>
+Signed-off-by: Lee Jones <lee.jones@linaro.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ include/linux/io.h |  2 ++
+ lib/devres.c       | 19 +++++++++++++++++++
+ 2 files changed, 21 insertions(+)
+
+diff --git a/include/linux/io.h b/include/linux/io.h
+index 32e30e8fb9db9..da39ff89df651 100644
+--- a/include/linux/io.h
++++ b/include/linux/io.h
+@@ -75,6 +75,8 @@ static inline void devm_ioport_unmap(struct device *dev, void __iomem *addr)
+ void __iomem *devm_ioremap(struct device *dev, resource_size_t offset,
+                          resource_size_t size);
++void __iomem *devm_ioremap_uc(struct device *dev, resource_size_t offset,
++                                 resource_size_t size);
+ void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset,
+                                  resource_size_t size);
+ void __iomem *devm_ioremap_wc(struct device *dev, resource_size_t offset,
+diff --git a/lib/devres.c b/lib/devres.c
+index aa0f5308ac6be..75ea32d9b661b 100644
+--- a/lib/devres.c
++++ b/lib/devres.c
+@@ -9,6 +9,7 @@
+ enum devm_ioremap_type {
+       DEVM_IOREMAP = 0,
+       DEVM_IOREMAP_NC,
++      DEVM_IOREMAP_UC,
+       DEVM_IOREMAP_WC,
+ };
+@@ -39,6 +40,9 @@ static void __iomem *__devm_ioremap(struct device *dev, resource_size_t offset,
+       case DEVM_IOREMAP_NC:
+               addr = ioremap_nocache(offset, size);
+               break;
++      case DEVM_IOREMAP_UC:
++              addr = ioremap_uc(offset, size);
++              break;
+       case DEVM_IOREMAP_WC:
+               addr = ioremap_wc(offset, size);
+               break;
+@@ -68,6 +72,21 @@ void __iomem *devm_ioremap(struct device *dev, resource_size_t offset,
+ }
+ EXPORT_SYMBOL(devm_ioremap);
++/**
++ * devm_ioremap_uc - Managed ioremap_uc()
++ * @dev: Generic device to remap IO address for
++ * @offset: Resource address to map
++ * @size: Size of map
++ *
++ * Managed ioremap_uc().  Map is automatically unmapped on driver detach.
++ */
++void __iomem *devm_ioremap_uc(struct device *dev, resource_size_t offset,
++                            resource_size_t size)
++{
++      return __devm_ioremap(dev, offset, size, DEVM_IOREMAP_UC);
++}
++EXPORT_SYMBOL_GPL(devm_ioremap_uc);
++
+ /**
+  * devm_ioremap_nocache - Managed ioremap_nocache()
+  * @dev: Generic device to remap IO address for
+-- 
+2.20.1
+
index 60418c4d1a751e08ef0c0973dc92f10e27c5c21f..6f941a479f711234274d2c4b52d75ea2da389506 100644 (file)
@@ -21,4 +21,5 @@ net-bcmgenet-suppress-warnings-on-failed-rx-skb-allo.patch
 net-systemport-suppress-warnings-on-failed-rx-skb-al.patch
 sctp-fix-shutdown-ctsn-ack-in-the-peer-restart-case.patch
 drm-amdgpu-fix-oops-when-pp_funcs-is-unset-in-acpi-event.patch
+lib-devres-add-a-helper-function-for-ioremap_uc.patch
 mfd-intel-lpss-use-devm_ioremap_uc-for-mmio.patch