Вторник, 4 марта 2014, 11:01 +02:00 от Peter Ujfalusi <[email protected]>:
> We can then remove the iounmap() calls from probe and remove.
> Since the driver requests the resources via index we can do the mem resource
> request within a for loop.
>
> Signed-off-by: Peter Ujfalusi <[email protected]>
> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti>
> ---
> + /* Get mem resources */
> + for (i = 0; i < 3; i++) {
> + struct resource *res = platform_get_resource(pdev,
> + IORESOURCE_MEM, i);
> + if (!res) {
> + dev_err(&pdev->dev, "couldn't find resource %d\n", i);
> + return -ENODEV;
> + }
No need to check "res". devm_request_and_ioremap() do all for us.
> - l3->l3_base[2] = ioremap(res->start, resource_size(res));
> - if (!l3->l3_base[2]) {
> - dev_err(&pdev->dev, "ioremap failed\n");
> - ret = -ENOMEM;
> - goto err2;
> + l3->l3_base[i] = devm_request_and_ioremap(&pdev->dev, res);
> + if (!l3->l3_base[i]) {
if (IS_ERR(l3->l3_base[i]))
> + dev_err(&pdev->dev, "ioremap %d failed\n", i);
Unnecessary.
> + return -ENOMEM;
return PTR_ERR(l3->l3_base[i]);
---
N�����r��y����b�X��ǧv�^�){.n�+����{����zX����ܨ}���Ơz�&j:+v�������zZ+��+zf���h���~����i���z��w���?�����&�)ߢf��^jǫy�m��@A�a���
0��h���i