All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Himangi Saraogi <himangi774@gmail.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-iio@vger.kernel.org, devel@driverdev.osuosl.org,
	linux-kernel@vger.kernel.org
Cc: julia.lawall@lip6.fr, Lars-Peter Clausen <lars@metafoo.de>
Subject: Re: [PATCH] staging: iio: Introduce the use of devm_ioremap_resource
Date: Mon, 07 Jul 2014 13:36:57 +0100	[thread overview]
Message-ID: <53BA9469.7000600@kernel.org> (raw)
In-Reply-To: <20140701184413.GA2980@himangi-Dell>

On 01/07/14 19:44, Himangi Saraogi wrote:
> This patch introduces the use of devm_ioremap_resource. It does away
> with call to request_mem_region and the error checking on
> platform_get_resource. Also, the calls to free the allocated resources
> like release_mem_region and iounmap are done away with. The ret variable
> in the probe function is also eliminated. Also, a bug is fixed as the
> goto in the error handling of request_mem_region should not have
> called release_mem_region which releases a resource that has not been
> allocated.
>
> Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
> Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Again, looks superficially fine, but I'd like an ack from someone
at Analog ideally.
Cc'd Lars
> ---
>   drivers/staging/iio/adc/ad7606_par.c | 37 ++++++------------------------------
>   1 file changed, 6 insertions(+), 31 deletions(-)
>
> diff --git a/drivers/staging/iio/adc/ad7606_par.c b/drivers/staging/iio/adc/ad7606_par.c
> index 8a48d18..7511839 100644
> --- a/drivers/staging/iio/adc/ad7606_par.c
> +++ b/drivers/staging/iio/adc/ad7606_par.c
> @@ -53,7 +53,7 @@ static int ad7606_par_probe(struct platform_device *pdev)
>   	struct iio_dev *indio_dev;
>   	void __iomem *addr;
>   	resource_size_t remap_size;
> -	int ret, irq;
> +	int irq;
>
>   	irq = platform_get_irq(pdev, 0);
>   	if (irq < 0) {
> @@ -62,56 +62,31 @@ static int ad7606_par_probe(struct platform_device *pdev)
>   	}
>
>   	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res)
> -		return -ENODEV;
> +	addr = devm_ioremap_resource(&pdev->dev, res);
> +	if (IS_ERR(addr))
> +		return PTR_ERR(addr);
>
>   	remap_size = resource_size(res);
>
> -	/* Request the regions */
> -	if (!request_mem_region(res->start, remap_size, "iio-ad7606")) {
> -		ret = -EBUSY;
> -		goto out1;
> -	}
> -	addr = ioremap(res->start, remap_size);
> -	if (!addr) {
> -		ret = -ENOMEM;
> -		goto out1;
> -	}
> -
>   	indio_dev = ad7606_probe(&pdev->dev, irq, addr,
>   			  platform_get_device_id(pdev)->driver_data,
>   			  remap_size > 1 ? &ad7606_par16_bops :
>   			  &ad7606_par8_bops);
>
> -	if (IS_ERR(indio_dev))  {
> -		ret = PTR_ERR(indio_dev);
> -		goto out2;
> -	}
> +	if (IS_ERR(indio_dev))
> +		return PTR_ERR(indio_dev);
>
>   	platform_set_drvdata(pdev, indio_dev);
>
>   	return 0;
> -
> -out2:
> -	iounmap(addr);
> -out1:
> -	release_mem_region(res->start, remap_size);
> -
> -	return ret;
>   }
>
>   static int ad7606_par_remove(struct platform_device *pdev)
>   {
>   	struct iio_dev *indio_dev = platform_get_drvdata(pdev);
> -	struct resource *res;
> -	struct ad7606_state *st = iio_priv(indio_dev);
>
>   	ad7606_remove(indio_dev, platform_get_irq(pdev, 0));
>
> -	iounmap(st->base_address);
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	release_mem_region(res->start, resource_size(res));
> -
>   	return 0;
>   }
>
>


  reply	other threads:[~2014-07-07 12:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-01 18:44 [PATCH] staging: iio: Introduce the use of devm_ioremap_resource Himangi Saraogi
2014-07-07 12:36 ` Jonathan Cameron [this message]
2014-07-07 12:36   ` Lars-Peter Clausen
2014-07-07 16:21     ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53BA9469.7000600@kernel.org \
    --to=jic23@kernel.org \
    --cc=devel@driverdev.osuosl.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=himangi774@gmail.com \
    --cc=julia.lawall@lip6.fr \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.