diff options
| author | Amin GATTOUT <amin.gattout@gmail.com> | 2026-03-03 13:22:24 +0100 |
|---|---|---|
| committer | Helge Deller <deller@gmx.de> | 2026-03-09 13:06:48 +0100 |
| commit | 8d10dd8907e1c0e619d5e785365875bb758d43ce (patch) | |
| tree | f18f19af7c185d25bf6b87e544ed684f48894764 /drivers/video/fbdev | |
| parent | 1f318b96cc84d7c2ab792fcc0bfd42a7ca890681 (diff) | |
| download | lwn-8d10dd8907e1c0e619d5e785365875bb758d43ce.tar.gz lwn-8d10dd8907e1c0e619d5e785365875bb758d43ce.zip | |
fbdev: goldfishfb: use devm_platform_ioremap_resource()
Replace the open-coded platform_get_resource() + ioremap() pair with
devm_platform_ioremap_resource(), which requests the memory region and
maps it in a single call, with automatic cleanup on device removal.
Signed-off-by: Amin GATTOUT <amin.gattout@gmail.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/goldfishfb.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/video/fbdev/goldfishfb.c b/drivers/video/fbdev/goldfishfb.c index ffe33a36b944..c9871281bc1d 100644 --- a/drivers/video/fbdev/goldfishfb.c +++ b/drivers/video/fbdev/goldfishfb.c @@ -174,7 +174,6 @@ static const struct fb_ops goldfish_fb_ops = { static int goldfish_fb_probe(struct platform_device *pdev) { int ret; - struct resource *r; struct goldfish_fb *fb; size_t framesize; u32 width, height; @@ -189,14 +188,9 @@ static int goldfish_fb_probe(struct platform_device *pdev) init_waitqueue_head(&fb->wait); platform_set_drvdata(pdev, fb); - r = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (r == NULL) { - 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_platform_ioremap_resource(pdev, 0); + if (IS_ERR(fb->reg_base)) { + ret = PTR_ERR(fb->reg_base); goto err_no_io_base; } @@ -273,7 +267,6 @@ err_fb_set_var_failed: 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 +284,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); } |
