From f2ff0c430fed8c6a6d64d11a41f0582bf8bba6f7 Mon Sep 17 00:00:00 2001 From: Christophe JAILLET Date: Sat, 10 Dec 2022 12:35:23 +0100 Subject: [PATCH] fbdev: uvesafb: Simplify uvesafb_remove() When the remove() function is called, we know that the probe() function has successfully been executed. So 'info' is known to be not NULL. Simplify the code accordingly. Signed-off-by: Christophe JAILLET Signed-off-by: Helge Deller --- drivers/video/fbdev/uvesafb.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c index 0e3cabb..2bb95c3 100644 --- a/drivers/video/fbdev/uvesafb.c +++ b/drivers/video/fbdev/uvesafb.c @@ -1777,25 +1777,23 @@ out: static int uvesafb_remove(struct platform_device *dev) { struct fb_info *info = platform_get_drvdata(dev); + struct uvesafb_par *par = info->par; - if (info) { - struct uvesafb_par *par = info->par; + sysfs_remove_group(&dev->dev.kobj, &uvesafb_dev_attgrp); + unregister_framebuffer(info); + release_region(0x3c0, 32); + iounmap(info->screen_base); + arch_phys_wc_del(par->mtrr_handle); + release_mem_region(info->fix.smem_start, info->fix.smem_len); + fb_destroy_modedb(info->monspecs.modedb); + fb_dealloc_cmap(&info->cmap); - sysfs_remove_group(&dev->dev.kobj, &uvesafb_dev_attgrp); - unregister_framebuffer(info); - release_region(0x3c0, 32); - iounmap(info->screen_base); - arch_phys_wc_del(par->mtrr_handle); - release_mem_region(info->fix.smem_start, info->fix.smem_len); - fb_destroy_modedb(info->monspecs.modedb); - fb_dealloc_cmap(&info->cmap); + kfree(par->vbe_modes); + kfree(par->vbe_state_orig); + kfree(par->vbe_state_saved); - kfree(par->vbe_modes); - kfree(par->vbe_state_orig); - kfree(par->vbe_state_saved); + framebuffer_release(info); - framebuffer_release(info); - } return 0; } -- 2.7.4