diff mbox

[4/4] mm: cma: Use %pa to print physical addresses

Message ID 1414074828-4488-5-git-send-email-laurent.pinchart+renesas@ideasonboard.com (mailing list archive)
State New, archived
Headers show

Commit Message

Laurent Pinchart Oct. 23, 2014, 2:33 p.m. UTC
Casting physical addresses to unsigned long and using %lu truncates the
values on systems where physical addresses are larger than 32 bits. Use
%pa and get rid of the cast instead.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 mm/cma.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

Comments

MichaƂ Nazarewicz Oct. 23, 2014, 4:56 p.m. UTC | #1
On Thu, Oct 23 2014, Laurent Pinchart wrote:
> Casting physical addresses to unsigned long and using %lu truncates the
> values on systems where physical addresses are larger than 32 bits. Use
> %pa and get rid of the cast instead.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

Acked-by: Michal Nazarewicz <mina86@mina86.com>

> ---
>  mm/cma.c | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/mm/cma.c b/mm/cma.c
> index b83597b..741c7ec 100644
> --- a/mm/cma.c
> +++ b/mm/cma.c
> @@ -212,9 +212,8 @@ int __init cma_declare_contiguous(phys_addr_t base,
>  	phys_addr_t highmem_start = __pa(high_memory);
>  	int ret = 0;
>  
> -	pr_debug("%s(size %lx, base %08lx, limit %08lx alignment %08lx)\n",
> -		__func__, (unsigned long)size, (unsigned long)base,
> -		(unsigned long)limit, (unsigned long)alignment);
> +	pr_debug("%s(size %pa, base %pa, limit %pa alignment %pa)\n",
> +		__func__, &size, &base, &limit, &alignment);
>  
>  	if (cma_area_count == ARRAY_SIZE(cma_areas)) {
>  		pr_err("Not enough slots for CMA reserved regions!\n");
> @@ -257,8 +256,8 @@ int __init cma_declare_contiguous(phys_addr_t base,
>  	 */
>  	if (fixed && base < highmem_start && base + size > highmem_start) {
>  		ret = -EINVAL;
> -		pr_err("Region at %08lx defined on low/high memory boundary (%08lx)\n",
> -			(unsigned long)base, (unsigned long)highmem_start);
> +		pr_err("Region at %pa defined on low/high memory boundary (%pa)\n",
> +			&base, &highmem_start);
>  		goto err;
>  	}
>  
> @@ -316,8 +315,8 @@ int __init cma_declare_contiguous(phys_addr_t base,
>  	if (ret)
>  		goto err;
>  
> -	pr_info("Reserved %ld MiB at %08lx\n", (unsigned long)size / SZ_1M,
> -		(unsigned long)base);
> +	pr_info("Reserved %ld MiB at %pa\n", (unsigned long)size / SZ_1M,
> +		&base);
>  	return 0;
>  
>  err:
> -- 
> 2.0.4
>
Geert Uytterhoeven Oct. 23, 2014, 5:51 p.m. UTC | #2
On Thu, Oct 23, 2014 at 4:33 PM, Laurent Pinchart
<laurent.pinchart+renesas@ideasonboard.com> wrote:
> Casting physical addresses to unsigned long and using %lu truncates the
> values on systems where physical addresses are larger than 32 bits. Use
> %pa and get rid of the cast instead.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
diff mbox

Patch

diff --git a/mm/cma.c b/mm/cma.c
index b83597b..741c7ec 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -212,9 +212,8 @@  int __init cma_declare_contiguous(phys_addr_t base,
 	phys_addr_t highmem_start = __pa(high_memory);
 	int ret = 0;
 
-	pr_debug("%s(size %lx, base %08lx, limit %08lx alignment %08lx)\n",
-		__func__, (unsigned long)size, (unsigned long)base,
-		(unsigned long)limit, (unsigned long)alignment);
+	pr_debug("%s(size %pa, base %pa, limit %pa alignment %pa)\n",
+		__func__, &size, &base, &limit, &alignment);
 
 	if (cma_area_count == ARRAY_SIZE(cma_areas)) {
 		pr_err("Not enough slots for CMA reserved regions!\n");
@@ -257,8 +256,8 @@  int __init cma_declare_contiguous(phys_addr_t base,
 	 */
 	if (fixed && base < highmem_start && base + size > highmem_start) {
 		ret = -EINVAL;
-		pr_err("Region at %08lx defined on low/high memory boundary (%08lx)\n",
-			(unsigned long)base, (unsigned long)highmem_start);
+		pr_err("Region at %pa defined on low/high memory boundary (%pa)\n",
+			&base, &highmem_start);
 		goto err;
 	}
 
@@ -316,8 +315,8 @@  int __init cma_declare_contiguous(phys_addr_t base,
 	if (ret)
 		goto err;
 
-	pr_info("Reserved %ld MiB at %08lx\n", (unsigned long)size / SZ_1M,
-		(unsigned long)base);
+	pr_info("Reserved %ld MiB at %pa\n", (unsigned long)size / SZ_1M,
+		&base);
 	return 0;
 
 err: