static int __devinit omap_rng_probe(struct platform_device *pdev)
 {
-       struct resource *res, *mem;
+       struct resource *res;
        int ret;
 
        /*
        if (!res)
                return -ENOENT;
 
-       mem = request_mem_region(res->start, resource_size(res),
-                                pdev->name);
-       if (mem == NULL) {
+       if (!request_mem_region(res->start, resource_size(res), pdev->name)) {
                ret = -EBUSY;
                goto err_region;
        }
 
-       dev_set_drvdata(&pdev->dev, mem);
+       dev_set_drvdata(&pdev->dev, res);
        rng_base = ioremap(res->start, resource_size(res));
        if (!rng_base) {
                ret = -ENOMEM;
        iounmap(rng_base);
        rng_base = NULL;
 err_ioremap:
-       release_resource(mem);
+       release_mem_region(res->start, resource_size(res));
 err_region:
        if (cpu_is_omap24xx()) {
                clk_disable(rng_ick);
 
 static int __exit omap_rng_remove(struct platform_device *pdev)
 {
-       struct resource *mem = dev_get_drvdata(&pdev->dev);
+       struct resource *res = dev_get_drvdata(&pdev->dev);
 
        hwrng_unregister(&omap_rng_ops);
 
                clk_put(rng_ick);
        }
 
-       release_resource(mem);
+       release_mem_region(res->start, resource_size(res));
        rng_base = NULL;
 
        return 0;