+++ /dev/null
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Thomas Zimmermann <tzimmermann@suse.de>
-Date: Tue, 25 Jan 2022 10:12:20 +0100
-Subject: [PATCH] drm/simpledrm: Request memory region in driver
-
-Requesting the framebuffer memory in simpledrm marks the memory
-range as busy. This used to be done by the firmware sysfb code,
-but the driver is the correct place.
-
-v2:
- * use I/O memory if request_mem_region() fails (Jocelyn)
-
-Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
-Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
-Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
-Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
----
- drivers/gpu/drm/tiny/simpledrm.c | 22 +++++++++++++++++-----
- 1 file changed, 17 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/gpu/drm/tiny/simpledrm.c b/drivers/gpu/drm/tiny/simpledrm.c
-index 3e3f9ba1e885..806fdc3237b3 100644
---- a/drivers/gpu/drm/tiny/simpledrm.c
-+++ b/drivers/gpu/drm/tiny/simpledrm.c
-@@ -525,21 +525,33 @@ static int simpledrm_device_init_mm(struct simpledrm_device *sdev)
- {
- struct drm_device *dev = &sdev->dev;
- struct platform_device *pdev = sdev->pdev;
-- struct resource *mem;
-+ struct resource *res, *mem;
- void __iomem *screen_base;
- int ret;
-
-- mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-- if (!mem)
-+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ if (!res)
- return -EINVAL;
-
-- ret = devm_aperture_acquire_from_firmware(dev, mem->start, resource_size(mem));
-+ ret = devm_aperture_acquire_from_firmware(dev, res->start, resource_size(res));
- if (ret) {
- drm_err(dev, "could not acquire memory range %pr: error %d\n",
-- mem, ret);
-+ res, ret);
- return ret;
- }
-
-+ mem = devm_request_mem_region(&pdev->dev, res->start, resource_size(res),
-+ sdev->dev.driver->name);
-+ if (!mem) {
-+ /*
-+ * We cannot make this fatal. Sometimes this comes from magic
-+ * spaces our resource handlers simply don't know about. Use
-+ * the I/O-memory resource as-is and try to map that instead.
-+ */
-+ drm_warn(dev, "could not acquire memory region %pr\n", res);
-+ mem = res;
-+ }
-+
- screen_base = devm_ioremap_wc(&pdev->dev, mem->start,
- resource_size(mem));
- if (!screen_base)