Re: [PATCH 2/5] drivers: bus: omap_l3: Convert to use devm_request_and_ioremap()

Alexander Shiyan shc_work at mail.ru
Tue Mar 4 04:23:20 EST 2014


Вторник,  4 марта 2014, 13:12 +04:00 от Alexander Shiyan <shc_work at mail.ru>:
> Вторник,  4 марта 2014, 11:01 +02:00 от Peter Ujfalusi <peter.ujfalusi at ti.com>:
> > 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 <peter.ujfalusi at ti.com>
> > Reviewed-by: Santosh Shilimkar <santosh.shilimkar at 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]))

Ahh, I messed up this with devm_ioremap_resource().
However, if there is reason to use devm_request_and_ioremap() here?

---


More information about the linux-arm-kernel mailing list