* [PATCH 1/3] fbdev: cobalt_lcdfb: Request memory region
2026-04-20 13:44 [PATCH 0/3] fbdev: Request memory regions in platform drivers Amit Barzilai
@ 2026-04-20 13:44 ` Amit Barzilai
2026-04-22 14:50 ` Helge Deller
2026-04-20 13:44 ` [PATCH 2/3] fbdev: clps711x-fb: Request memory region for MMIO Amit Barzilai
2026-04-20 13:44 ` [PATCH 3/3] fbdev: goldfishfb: Request memory region Amit Barzilai
2 siblings, 1 reply; 7+ messages in thread
From: Amit Barzilai @ 2026-04-20 13:44 UTC (permalink / raw)
To: deller; +Cc: thomas.zimmermann, linux-fbdev, dri-devel, Amit Barzilai
Use devm_platform_get_and_ioremap_resource() instead of open-coding
platform_get_resource() and devm_ioremap() separately. The helper
requests the memory region before mapping it, which registers the range
in /proc/iomem and prevents another driver from mapping the same
registers.
Assisted-by: Claude:claude-sonnet-4-6
---
drivers/video/fbdev/cobalt_lcdfb.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/video/fbdev/cobalt_lcdfb.c b/drivers/video/fbdev/cobalt_lcdfb.c
index 308967b5096a..f7faa95fefd3 100644
--- a/drivers/video/fbdev/cobalt_lcdfb.c
+++ b/drivers/video/fbdev/cobalt_lcdfb.c
@@ -295,19 +295,13 @@ static int cobalt_lcdfb_probe(struct platform_device *dev)
if (!info)
return -ENOMEM;
- res = platform_get_resource(dev, IORESOURCE_MEM, 0);
- if (!res) {
+ info->screen_base = devm_platform_get_and_ioremap_resource(dev, 0, &res);
+ if (IS_ERR(info->screen_base)) {
framebuffer_release(info);
- return -EBUSY;
+ return PTR_ERR(info->screen_base);
}
info->screen_size = resource_size(res);
- info->screen_base = devm_ioremap(&dev->dev, res->start,
- info->screen_size);
- if (!info->screen_base) {
- framebuffer_release(info);
- return -ENOMEM;
- }
info->fbops = &cobalt_lcd_fbops;
info->fix = cobalt_lcdfb_fix;
--
2.53.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 1/3] fbdev: cobalt_lcdfb: Request memory region
2026-04-20 13:44 ` [PATCH 1/3] fbdev: cobalt_lcdfb: Request memory region Amit Barzilai
@ 2026-04-22 14:50 ` Helge Deller
2026-04-22 15:29 ` Amit Barzilai
0 siblings, 1 reply; 7+ messages in thread
From: Helge Deller @ 2026-04-22 14:50 UTC (permalink / raw)
To: Amit Barzilai; +Cc: thomas.zimmermann, linux-fbdev, dri-devel
Hi Amit,
On 4/20/26 15:44, Amit Barzilai wrote:
> Use devm_platform_get_and_ioremap_resource() instead of open-coding
> platform_get_resource() and devm_ioremap() separately. The helper
> requests the memory region before mapping it, which registers the range
> in /proc/iomem and prevents another driver from mapping the same
> registers.
>
> Assisted-by: Claude:claude-sonnet-4-6
You missed your signed-off line, which I added while applying patches #1 and #2:
Signed-off-by: Amit Barzilai <amit.barzilai22@gmail.com>
Amit, please confirm that you wrote patches #2 and #3 and that you
are OK with the added Signed-off-by line, otherwise I need to drop the patches.
Helge
> ---
> drivers/video/fbdev/cobalt_lcdfb.c | 12 +++---------
> 1 file changed, 3 insertions(+), 9 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/3] fbdev: clps711x-fb: Request memory region for MMIO
2026-04-20 13:44 [PATCH 0/3] fbdev: Request memory regions in platform drivers Amit Barzilai
2026-04-20 13:44 ` [PATCH 1/3] fbdev: cobalt_lcdfb: Request memory region Amit Barzilai
@ 2026-04-20 13:44 ` Amit Barzilai
2026-04-20 13:44 ` [PATCH 3/3] fbdev: goldfishfb: Request memory region Amit Barzilai
2 siblings, 0 replies; 7+ messages in thread
From: Amit Barzilai @ 2026-04-20 13:44 UTC (permalink / raw)
To: deller; +Cc: thomas.zimmermann, linux-fbdev, dri-devel, Amit Barzilai
Use devm_platform_get_and_ioremap_resource() for resource 0 (the MMIO
control register range) instead of open-coding platform_get_resource()
and devm_ioremap() separately. The helper requests the memory region
before mapping it, which registers the range in /proc/iomem and prevents
another driver from mapping the same registers.
This makes resource 0 consistent with resource 1 (the framebuffer),
which already uses devm_platform_get_and_ioremap_resource().
Assisted-by: Claude:claude-sonnet-4-6
---
drivers/video/fbdev/clps711x-fb.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/video/fbdev/clps711x-fb.c b/drivers/video/fbdev/clps711x-fb.c
index 5e61a349a4ab..7a7db7100499 100644
--- a/drivers/video/fbdev/clps711x-fb.c
+++ b/drivers/video/fbdev/clps711x-fb.c
@@ -216,12 +216,9 @@ static int clps711x_fb_probe(struct platform_device *pdev)
cfb = info->par;
platform_set_drvdata(pdev, info);
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- if (!res)
- goto out_fb_release;
- cfb->base = devm_ioremap(dev, res->start, resource_size(res));
- if (!cfb->base) {
- ret = -ENOMEM;
+ cfb->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
+ if (IS_ERR(cfb->base)) {
+ ret = PTR_ERR(cfb->base);
goto out_fb_release;
}
--
2.53.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 3/3] fbdev: goldfishfb: Request memory region
2026-04-20 13:44 [PATCH 0/3] fbdev: Request memory regions in platform drivers Amit Barzilai
2026-04-20 13:44 ` [PATCH 1/3] fbdev: cobalt_lcdfb: Request memory region Amit Barzilai
2026-04-20 13:44 ` [PATCH 2/3] fbdev: clps711x-fb: Request memory region for MMIO Amit Barzilai
@ 2026-04-20 13:44 ` Amit Barzilai
2026-04-22 14:43 ` Helge Deller
2 siblings, 1 reply; 7+ messages in thread
From: Amit Barzilai @ 2026-04-20 13:44 UTC (permalink / raw)
To: deller; +Cc: thomas.zimmermann, linux-fbdev, dri-devel, Amit Barzilai
Use devm_ioremap_resource() instead of plain ioremap(). The helper
requests the memory region before mapping it, which registers the range
in /proc/iomem and prevents another driver from mapping the same
registers. As it is device-managed, remove the corresponding iounmap()
calls from the error unwind path and the remove function.
Assisted-by: Claude:claude-sonnet-4-6
---
drivers/video/fbdev/goldfishfb.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/video/fbdev/goldfishfb.c b/drivers/video/fbdev/goldfishfb.c
index ffe33a36b944..14a7cb0a7a1c 100644
--- a/drivers/video/fbdev/goldfishfb.c
+++ b/drivers/video/fbdev/goldfishfb.c
@@ -194,9 +194,9 @@ static int goldfish_fb_probe(struct platform_device *pdev)
ret = -ENODEV;
goto err_no_io_base;
}
- fb->reg_base = ioremap(r->start, PAGE_SIZE);
- if (fb->reg_base == NULL) {
- ret = -ENOMEM;
+ fb->reg_base = devm_ioremap_resource(&pdev->dev, r);
+ if (IS_ERR(fb->reg_base)) {
+ ret = PTR_ERR(fb->reg_base);
goto err_no_io_base;
}
@@ -273,7 +273,6 @@ static int goldfish_fb_probe(struct platform_device *pdev)
fb->fb.fix.smem_start);
err_alloc_screen_base_failed:
err_no_irq:
- iounmap(fb->reg_base);
err_no_io_base:
kfree(fb);
err_fb_alloc_failed:
@@ -291,7 +290,6 @@ static void goldfish_fb_remove(struct platform_device *pdev)
dma_free_coherent(&pdev->dev, framesize, (void *)fb->fb.screen_base,
fb->fb.fix.smem_start);
- iounmap(fb->reg_base);
kfree(fb);
}
--
2.53.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH 3/3] fbdev: goldfishfb: Request memory region
2026-04-20 13:44 ` [PATCH 3/3] fbdev: goldfishfb: Request memory region Amit Barzilai
@ 2026-04-22 14:43 ` Helge Deller
0 siblings, 0 replies; 7+ messages in thread
From: Helge Deller @ 2026-04-22 14:43 UTC (permalink / raw)
To: Amit Barzilai; +Cc: thomas.zimmermann, linux-fbdev, dri-devel
On 4/20/26 15:44, Amit Barzilai wrote:
> Use devm_ioremap_resource() instead of plain ioremap(). The helper
> requests the memory region before mapping it, which registers the range
> in /proc/iomem and prevents another driver from mapping the same
> registers. As it is device-managed, remove the corresponding iounmap()
> calls from the error unwind path and the remove function.
>
> Assisted-by: Claude:claude-sonnet-4-6
> ---
> drivers/video/fbdev/goldfishfb.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
It was alreads fixed by another patch upstream...
Helge
^ permalink raw reply [flat|nested] 7+ messages in thread