]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 5.4
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-5.4/lib-devres-add-a-helper-function-for-ioremap_uc.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/lib-devres-add-a-helper-function-for-ioremap_uc.patch b/queue-5.4/lib-devres-add-a-helper-function-for-ioremap_uc.patch
new file mode 100644 (file)
index 0000000..7cd1424
--- /dev/null
@@ -0,0 +1,84 @@
+From ca0952f189cef302d3f395bc160c2cdfc1338683 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 accac822336aa..a59834bc0a114 100644
+--- a/include/linux/io.h
++++ b/include/linux/io.h
+@@ -64,6 +64,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 6a0e9bd6524ae..17624d35e82d4 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 f2de96f8b66f1835973c034557ae59ea437e6b32..1950a936f436a031350492ac769fac489e7a4c64 100644 (file)
@@ -31,4 +31,5 @@ drm-i915-extend-wadisabledarbfclkgating-to-icl-ehl-tgl.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
 revert-software-node-simplify-software_node_release-function.patch
+lib-devres-add-a-helper-function-for-ioremap_uc.patch
 mfd-intel-lpss-use-devm_ioremap_uc-for-mmio.patch