|
@@ -1625,22 +1625,22 @@ static int sm501fb_start(struct sm501fb_info *info,
|
|
|
return 0; /* everything is setup */
|
|
|
|
|
|
err_mem_res:
|
|
|
- release_resource(info->fbmem_res);
|
|
|
- kfree(info->fbmem_res);
|
|
|
+ release_mem_region(info->fbmem_res->start,
|
|
|
+ resource_size(info->fbmem_res));
|
|
|
|
|
|
err_regs2d_map:
|
|
|
iounmap(info->regs2d);
|
|
|
|
|
|
err_regs2d_res:
|
|
|
- release_resource(info->regs2d_res);
|
|
|
- kfree(info->regs2d_res);
|
|
|
+ release_mem_region(info->regs2d_res->start,
|
|
|
+ resource_size(info->regs2d_res));
|
|
|
|
|
|
err_regs_map:
|
|
|
iounmap(info->regs);
|
|
|
|
|
|
err_regs_res:
|
|
|
- release_resource(info->regs_res);
|
|
|
- kfree(info->regs_res);
|
|
|
+ release_mem_region(info->regs_res->start,
|
|
|
+ resource_size(info->regs_res));
|
|
|
|
|
|
err_release:
|
|
|
return ret;
|
|
@@ -1652,16 +1652,16 @@ static void sm501fb_stop(struct sm501fb_info *info)
|
|
|
sm501_unit_power(info->dev->parent, SM501_GATE_DISPLAY, 0);
|
|
|
|
|
|
iounmap(info->fbmem);
|
|
|
- release_resource(info->fbmem_res);
|
|
|
- kfree(info->fbmem_res);
|
|
|
+ release_mem_region(info->fbmem_res->start,
|
|
|
+ resource_size(info->fbmem_res));
|
|
|
|
|
|
iounmap(info->regs2d);
|
|
|
- release_resource(info->regs2d_res);
|
|
|
- kfree(info->regs2d_res);
|
|
|
+ release_mem_region(info->regs2d_res->start,
|
|
|
+ resource_size(info->regs2d_res));
|
|
|
|
|
|
iounmap(info->regs);
|
|
|
- release_resource(info->regs_res);
|
|
|
- kfree(info->regs_res);
|
|
|
+ release_mem_region(info->regs_res->start,
|
|
|
+ resource_size(info->regs_res));
|
|
|
}
|
|
|
|
|
|
static int sm501fb_init_fb(struct fb_info *fb,
|