|
@@ -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);
|
|
|
|
|
|
|