drivers/gpu/drm/sysfb/simpledrm.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-)
Use the newly added of_reserved_mem_region_to_resource() function to
handle "memory-region" properties.
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
drivers/gpu/drm/sysfb/simpledrm.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/sysfb/simpledrm.c b/drivers/gpu/drm/sysfb/simpledrm.c
index a1c3119330de..c8856e6645e2 100644
--- a/drivers/gpu/drm/sysfb/simpledrm.c
+++ b/drivers/gpu/drm/sysfb/simpledrm.c
@@ -4,7 +4,7 @@
#include <linux/clk.h>
#include <linux/of_clk.h>
#include <linux/minmax.h>
-#include <linux/of_address.h>
+#include <linux/of_reserved_mem.h>
#include <linux/platform_data/simplefb.h>
#include <linux/platform_device.h>
#include <linux/pm_domain.h>
@@ -180,22 +180,17 @@ simplefb_get_format_of(struct drm_device *dev, struct device_node *of_node)
static struct resource *
simplefb_get_memory_of(struct drm_device *dev, struct device_node *of_node)
{
- struct device_node *np;
- struct resource *res;
+ struct resource r, *res;
int err;
- np = of_parse_phandle(of_node, "memory-region", 0);
- if (!np)
+ err = of_reserved_mem_region_to_resource(of_node, 0, &r);
+ if (err)
return NULL;
- res = devm_kzalloc(dev->dev, sizeof(*res), GFP_KERNEL);
+ res = devm_kmemdup(dev->dev, &r, sizeof(r), GFP_KERNEL);
if (!res)
return ERR_PTR(-ENOMEM);
- err = of_address_to_resource(np, 0, res);
- if (err)
- return ERR_PTR(err);
-
if (of_property_present(of_node, "reg"))
drm_warn(dev, "preferring \"memory-region\" over \"reg\" property\n");
--
2.47.2
"Rob Herring (Arm)" <robh@kernel.org> writes: Hello Rob, > Use the newly added of_reserved_mem_region_to_resource() function to > handle "memory-region" properties. > > Signed-off-by: Rob Herring (Arm) <robh@kernel.org> > --- Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> -- Best regards, Javier Martinez Canillas Core Platforms Red Hat
cc'ing Thierry
Hi,
thanks for the patch.
Am 03.07.25 um 20:34 schrieb Rob Herring (Arm):
> Use the newly added of_reserved_mem_region_to_resource() function to
> handle "memory-region" properties.
>
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
as far as the code is concerned. Might need a review from Thierry, who
added the functionality in the first place.
Best regards
Thomas
> ---
> drivers/gpu/drm/sysfb/simpledrm.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/sysfb/simpledrm.c b/drivers/gpu/drm/sysfb/simpledrm.c
> index a1c3119330de..c8856e6645e2 100644
> --- a/drivers/gpu/drm/sysfb/simpledrm.c
> +++ b/drivers/gpu/drm/sysfb/simpledrm.c
> @@ -4,7 +4,7 @@
> #include <linux/clk.h>
> #include <linux/of_clk.h>
> #include <linux/minmax.h>
> -#include <linux/of_address.h>
> +#include <linux/of_reserved_mem.h>
> #include <linux/platform_data/simplefb.h>
> #include <linux/platform_device.h>
> #include <linux/pm_domain.h>
> @@ -180,22 +180,17 @@ simplefb_get_format_of(struct drm_device *dev, struct device_node *of_node)
> static struct resource *
> simplefb_get_memory_of(struct drm_device *dev, struct device_node *of_node)
> {
> - struct device_node *np;
> - struct resource *res;
> + struct resource r, *res;
> int err;
>
> - np = of_parse_phandle(of_node, "memory-region", 0);
> - if (!np)
> + err = of_reserved_mem_region_to_resource(of_node, 0, &r);
> + if (err)
> return NULL;
>
> - res = devm_kzalloc(dev->dev, sizeof(*res), GFP_KERNEL);
> + res = devm_kmemdup(dev->dev, &r, sizeof(r), GFP_KERNEL);
> if (!res)
> return ERR_PTR(-ENOMEM);
>
> - err = of_address_to_resource(np, 0, res);
> - if (err)
> - return ERR_PTR(err);
> -
> if (of_property_present(of_node, "reg"))
> drm_warn(dev, "preferring \"memory-region\" over \"reg\" property\n");
>
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
© 2016 - 2026 Red Hat, Inc.