staging: ion: chunk_heap: use %pa for printing dma_addr_t's
PATCH 1/1 staging: ion: chunk_heap: use %pa for printing dma_addr_t's
We're currently using %lu and %ld to print some variables of type dma_addr_t, which results in the following warning when dma_addr_t is 64-bits wide:
drivers/staging/android/ion/ion_chunk_heap.c: In function 'ion_chunk_heap_create':
drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'dma_addr_t' [-Wformat=]
pr_info("%s: base %lu size %zu align %ld\n", __func__, chunk_heap->base,
^
drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'dma_addr_t' [-Wformat=]
Fix this by using %pa as instructed in printk-formats.txt.
--- drivers/staging/android/ion/ion_chunk_heap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/staging/android/ion/ion_chunk_heap.c +2 -2
@@ -173,8 +173,8 @@ struct ion_heap *ion_chunk_heap_create(struct ion_platform_heap *heap_data) chunk_heap->heap.ops = &chunk_heap_ops; chunk_heap->heap.type =ION_HEAP_TYPE_CHUNK ; chunk_heap->heap.flags =ION_HEAP_FLAG_DEFER_FREE ; -pr_info ("%s: base %lu size %zu align %ld\n" , __func__, chunk_heap->base, - heap_data->size, heap_data->align); +pr_info ("%s: base %pa size %zu align %pa\n" , __func__, + &chunk_heap->base, heap_data->size, &heap_data->align);return &chunk_heap->heap;
Signature · 3 lines
Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Greg Kroah-Hartman
maintainerQuoted 22 lines · Mitchel Humpherys
We're currently using %lu and %ld to print some variables of type
dma_addr_t, which results in the following warning whendma_addr_tis 64-bits wide:
drivers/staging/android/ion/ion_chunk_heap.c: In function 'ion_chunk_heap_create':
drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'dma_addr_t' [-Wformat=]
pr_info("%s: base %lu size %zu align %ld\n",__func__,chunk_heap->base,
^
drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'dma_addr_t' [-Wformat=]Fix this by using %pa as instructed in printk-formats.txt.
Signed-off-by Mitchel Humpherys <[email protected]>--- drivers/staging/android/ion/ion_chunk_heap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/staging/android/ion/ion_chunk_heap.c +0
-0
drivers/staging/android/ion/ion_chunk_heap.c struct ion_heap *ion_chunk_heap_create(struct ion_platform_heap *heap_data) · line 177
Quoted 7 lines
drivers/staging/android/ion/ion_chunk_heap.c +2
-2@@ -173,8 +173,8 @@ struct ion_heap *ion_chunk_heap_create(struct ion_platform_heap *heap_data) chunk_heap->heap.ops = &chunk_heap_ops; chunk_heap->heap.type =ION_HEAP_TYPE_CHUNK ; chunk_heap->heap.flags =ION_HEAP_FLAG_DEFER_FREE ; -pr_info ("%s: base %lu size %zu align %ld\n" , __func__, chunk_heap->base, - heap_data->size, heap_data->align); +pr_info ("%s: base %pa size %zu align %pa\n" , __func__, + &chunk_heap->base, heap_data->size, &heap_data->align);
Shouldn't this be a debug message, and not printed out for everyone to see all the time?
thanks,
greg k-h
Quoted 18 lines · Greg Kroah-Hartman
Quoted 17 lines · Mitchel Humpherys
We're currently using %lu and %ld to print some variables of type
dma_addr_t, which results in the following warning whendma_addr_tis 64-bits wide:
drivers/staging/android/ion/ion_chunk_heap.c: In function 'ion_chunk_heap_create':
drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'dma_addr_t' [-Wformat=]
pr_info("%s: base %lu size %zu align %ld\n",__func__,chunk_heap->base,
^
drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'dma_addr_t' [-Wformat=]Fix this by using %pa as instructed in printk-formats.txt.
Signed-off-by Mitchel Humpherys <[email protected]>--- drivers/staging/android/ion/ion_chunk_heap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Quoted 15 lines
drivers/staging/android/ion/ion_chunk_heap.c struct ion_heap *ion_chunk_heap_create(struct ion_platform_heap *heap_data) · line 177
Quoted 12 lines
drivers/staging/android/ion/ion_chunk_heap.c +2
-2@@ -173,8 +173,8 @@ struct ion_heap *ion_chunk_heap_create(struct ion_platform_heap *heap_data) chunk_heap->heap.ops = &chunk_heap_ops; chunk_heap->heap.type =ION_HEAP_TYPE_CHUNK ; chunk_heap->heap.flags =ION_HEAP_FLAG_DEFER_FREE ; -pr_info ("%s: base %lu size %zu align %ld\n" , __func__, chunk_heap->base, - heap_data->size, heap_data->align); +pr_info ("%s: base %pa size %zu align %pa\n" , __func__, + &chunk_heap->base, heap_data->size, &heap_data->align);Shouldn't this be a debug message, and not printed out for everyone to see all the time?
Yeah that'd probably be better. I'll send a patch.
-Mitch
Signature · 3 lines
Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Quoted 11 lines · Mitchel Humpherys
We're currently using %lu and %ld to print some variables of type
dma_addr_t, which results in the following warning whendma_addr_tis 64-bits wide:
drivers/staging/android/ion/ion_chunk_heap.c: In function 'ion_chunk_heap_create':
drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'dma_addr_t' [-Wformat=]
pr_info("%s: base %lu size %zu align %ld\n",__func__,chunk_heap->base,
^
drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'dma_addr_t' [-Wformat=]Fix this by using %pa as instructed in printk-formats.txt.
According to printk-formats.txt, dma_addr_t needs to be printed with %pad.
Quoted 26 lines
Signed-off-by Mitchel Humpherys <[email protected]>--- drivers/staging/android/ion/ion_chunk_heap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/staging/android/ion/ion_chunk_heap.c +2
-3@@ -173,8 +173,8 @@ struct ion_heap *ion_chunk_heap_create(struct ion_platform_heap *heap_data) chunk_heap->heap.ops = &chunk_heap_ops; chunk_heap->heap.type =ION_HEAP_TYPE_CHUNK ; chunk_heap->heap.flags =ION_HEAP_FLAG_DEFER_FREE ; -pr_info ("%s: base %lu size %zu align %ld\n" , __func__, chunk_heap->base, - heap_data->size, heap_data->align); +pr_info ("%s: base %pa size %zu align %pa\n" , __func__, + &chunk_heap->base, heap_data->size, &heap_data->align);return &chunk_heap->heap; --Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative ProjectTo unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
Quoted 12 lines · Colin Cross
Quoted 10 lines · Mitchel Humpherys
We're currently using %lu and %ld to print some variables of type
dma_addr_t, which results in the following warning whendma_addr_tis 64-bits wide:
drivers/staging/android/ion/ion_chunk_heap.c: In function 'ion_chunk_heap_create':
drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'dma_addr_t' [-Wformat=]
pr_info("%s: base %lu size %zu align %ld\n",__func__,chunk_heap->base,
^
drivers/staging/android/ion/ion_chunk_heap.c:176:2: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'dma_addr_t' [-Wformat=]
Quoted 3 lines
Quoted 1 line
Fix this by using %pa as instructed in printk-formats.txt.
According to printk-formats.txt,
dma_addr_tneeds to be printed with %pad.
Ah good catch. I'll send a v2.
I need to check printk-formats.txt more often... :)
-Mitch
Signature · 3 lines
Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project