mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 00:24:12 +08:00
drivers/video/bf537-lq035.c: use devm_ functions
The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Signed-off-by: Damien Cassou <damien.cassou@lifl.fr> Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
This commit is contained in:
parent
d1bea50288
commit
e31f874584
@ -760,18 +760,20 @@ static int __devinit bfin_lq035_probe(struct platform_device *pdev)
|
||||
bfin_lq035_fb.flags = FBINFO_DEFAULT;
|
||||
|
||||
|
||||
bfin_lq035_fb.pseudo_palette = kzalloc(sizeof(u32) * 16, GFP_KERNEL);
|
||||
bfin_lq035_fb.pseudo_palette = devm_kzalloc(&pdev->dev,
|
||||
sizeof(u32) * 16,
|
||||
GFP_KERNEL);
|
||||
if (bfin_lq035_fb.pseudo_palette == NULL) {
|
||||
pr_err("failed to allocate pseudo_palette\n");
|
||||
ret = -ENOMEM;
|
||||
goto out_palette;
|
||||
goto out_table;
|
||||
}
|
||||
|
||||
if (fb_alloc_cmap(&bfin_lq035_fb.cmap, NBR_PALETTE, 0) < 0) {
|
||||
pr_err("failed to allocate colormap (%d entries)\n",
|
||||
NBR_PALETTE);
|
||||
ret = -EFAULT;
|
||||
goto out_cmap;
|
||||
goto out_table;
|
||||
}
|
||||
|
||||
if (register_framebuffer(&bfin_lq035_fb) < 0) {
|
||||
@ -804,9 +806,6 @@ out_lcd:
|
||||
unregister_framebuffer(&bfin_lq035_fb);
|
||||
out_reg:
|
||||
fb_dealloc_cmap(&bfin_lq035_fb.cmap);
|
||||
out_cmap:
|
||||
kfree(bfin_lq035_fb.pseudo_palette);
|
||||
out_palette:
|
||||
out_table:
|
||||
dma_free_coherent(NULL, TOTAL_VIDEO_MEM_SIZE, fb_buffer, 0);
|
||||
fb_buffer = NULL;
|
||||
@ -834,7 +833,6 @@ static int __devexit bfin_lq035_remove(struct platform_device *pdev)
|
||||
free_dma(CH_PPI);
|
||||
|
||||
|
||||
kfree(bfin_lq035_fb.pseudo_palette);
|
||||
fb_dealloc_cmap(&bfin_lq035_fb.cmap);
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user