Re: [PATCH] dmaengine: bestcomm: Use of_address_to_resource()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19-03-23, 11:32, Rob Herring wrote:
> Replace of_get_address() and of_translate_address() calls with single
> call to of_address_to_resource().

Applied, thanks

> 
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> ---
>  drivers/dma/bestcomm/sram.c | 19 ++++++++-----------
>  1 file changed, 8 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/dma/bestcomm/sram.c b/drivers/dma/bestcomm/sram.c
> index c465758e7193..103174cbda65 100644
> --- a/drivers/dma/bestcomm/sram.c
> +++ b/drivers/dma/bestcomm/sram.c
> @@ -38,7 +38,7 @@ int bcom_sram_init(struct device_node *sram_node, char *owner)
>  {
>  	int rv;
>  	const u32 *regaddr_p;
> -	u64 regaddr64, size64;
> +	struct resource res;
>  	unsigned int psize;
>  
>  	/* Create our state struct */
> @@ -56,21 +56,18 @@ int bcom_sram_init(struct device_node *sram_node, char *owner)
>  	}
>  
>  	/* Get address and size of the sram */
> -	regaddr_p = of_get_address(sram_node, 0, &size64, NULL);
> -	if (!regaddr_p) {
> +	rv = of_address_to_resource(sram_node, 0, &res);
> +	if (rv) {
>  		printk(KERN_ERR "%s: bcom_sram_init: "
>  			"Invalid device node !\n", owner);
> -		rv = -EINVAL;
>  		goto error_free;
>  	}
>  
> -	regaddr64 = of_translate_address(sram_node, regaddr_p);
> -
> -	bcom_sram->base_phys = (phys_addr_t) regaddr64;
> -	bcom_sram->size = (unsigned int) size64;
> +	bcom_sram->base_phys = res.start;
> +	bcom_sram->size = resource_size(&res);
>  
>  	/* Request region */
> -	if (!request_mem_region(bcom_sram->base_phys, bcom_sram->size, owner)) {
> +	if (!request_mem_region(res.start, resource_size(&res), owner)) {
>  		printk(KERN_ERR "%s: bcom_sram_init: "
>  			"Couldn't request region !\n", owner);
>  		rv = -EBUSY;
> @@ -79,7 +76,7 @@ int bcom_sram_init(struct device_node *sram_node, char *owner)
>  
>  	/* Map SRAM */
>  		/* sram is not really __iomem */
> -	bcom_sram->base_virt = (void*) ioremap(bcom_sram->base_phys, bcom_sram->size);
> +	bcom_sram->base_virt = (void*) ioremap(res.start, resource_size(&res));
>  
>  	if (!bcom_sram->base_virt) {
>  		printk(KERN_ERR "%s: bcom_sram_init: "
> @@ -120,7 +117,7 @@ int bcom_sram_init(struct device_node *sram_node, char *owner)
>  	return 0;
>  
>  error_release:
> -	release_mem_region(bcom_sram->base_phys, bcom_sram->size);
> +	release_mem_region(res.start, resource_size(&res));
>  error_free:
>  	kfree(bcom_sram);
>  	bcom_sram = NULL;
> -- 
> 2.39.2

-- 
~Vinod



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux