* [PATCH v2 1/2] staging: ion: chunk_heap: use pr_debug for heap creation print @ 2015-04-10 1:10 Mitchel Humpherys 2015-04-10 1:10 ` [PATCH v2 2/2] staging: ion: chunk_heap: use %pad for printing dma_addr_t's Mitchel Humpherys 0 siblings, 1 reply; 6+ messages in thread From: Mitchel Humpherys @ 2015-04-10 1:10 UTC (permalink / raw) To: devel, Greg Kroah-Hartman, Android Kernel Team, Colin Cross, John Stultz Cc: linux-kernel, Mitchel Humpherys We're currently printing to the kernel log at `info' level when we successfully create the chunk heap, but success messages should be done at `debug' level. Fix this. Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org> --- drivers/staging/android/ion/ion_chunk_heap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/android/ion/ion_chunk_heap.c b/drivers/staging/android/ion/ion_chunk_heap.c index 3e6ec2ee6802..54746157d799 100644 --- a/drivers/staging/android/ion/ion_chunk_heap.c +++ b/drivers/staging/android/ion/ion_chunk_heap.c @@ -173,7 +173,7 @@ 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, + pr_debug("%s: base %lu size %zu align %ld\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 Project ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] staging: ion: chunk_heap: use %pad for printing dma_addr_t's 2015-04-10 1:10 [PATCH v2 1/2] staging: ion: chunk_heap: use pr_debug for heap creation print Mitchel Humpherys @ 2015-04-10 1:10 ` Mitchel Humpherys 2015-05-04 8:22 ` Dan Carpenter 0 siblings, 1 reply; 6+ messages in thread From: Mitchel Humpherys @ 2015-04-10 1:10 UTC (permalink / raw) To: devel, Greg Kroah-Hartman, Android Kernel Team, Colin Cross, John Stultz Cc: linux-kernel, Mitchel Humpherys 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 %pad as instructed in printk-formats.txt. Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org> --- drivers/staging/android/ion/ion_chunk_heap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/android/ion/ion_chunk_heap.c b/drivers/staging/android/ion/ion_chunk_heap.c index 54746157d799..6b3e18aa1c64 100644 --- a/drivers/staging/android/ion/ion_chunk_heap.c +++ b/drivers/staging/android/ion/ion_chunk_heap.c @@ -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_debug("%s: base %lu size %zu align %ld\n", __func__, chunk_heap->base, - heap_data->size, heap_data->align); + pr_debug("%s: base %pad size %zu align %pad\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 Project ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/2] staging: ion: chunk_heap: use %pad for printing dma_addr_t's 2015-04-10 1:10 ` [PATCH v2 2/2] staging: ion: chunk_heap: use %pad for printing dma_addr_t's Mitchel Humpherys @ 2015-05-04 8:22 ` Dan Carpenter 2015-05-04 20:05 ` Colin Cross 0 siblings, 1 reply; 6+ messages in thread From: Dan Carpenter @ 2015-05-04 8:22 UTC (permalink / raw) To: Mitchel Humpherys Cc: devel, Greg Kroah-Hartman, Android Kernel Team, Colin Cross, John Stultz, linux-kernel On Thu, Apr 09, 2015 at 06:10:04PM -0700, Mitchel Humpherys wrote: > 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 %pad as instructed in printk-formats.txt. > > Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org> This one was just merged and I was about to email you that it introduces some new Smatch warnings, but actually looking at it, it's just wrong. We want to print "chunk_heap->base" and not "&chunk_heap->base". And anyway "&chunk_heap->base" is a regular pointer, not a dma_addr_t. So please send a new patch that removes the &. regards, dan carpenter > --- > drivers/staging/android/ion/ion_chunk_heap.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/android/ion/ion_chunk_heap.c b/drivers/staging/android/ion/ion_chunk_heap.c > index 54746157d799..6b3e18aa1c64 100644 > --- a/drivers/staging/android/ion/ion_chunk_heap.c > +++ b/drivers/staging/android/ion/ion_chunk_heap.c > @@ -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_debug("%s: base %lu size %zu align %ld\n", __func__, chunk_heap->base, > - heap_data->size, heap_data->align); > + pr_debug("%s: base %pad size %zu align %pad\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 Project > > _______________________________________________ > devel mailing list > devel@linuxdriverproject.org > http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/2] staging: ion: chunk_heap: use %pad for printing dma_addr_t's 2015-05-04 8:22 ` Dan Carpenter @ 2015-05-04 20:05 ` Colin Cross 2015-05-05 5:59 ` Mitchel Humpherys 0 siblings, 1 reply; 6+ messages in thread From: Colin Cross @ 2015-05-04 20:05 UTC (permalink / raw) To: Dan Carpenter Cc: Mitchel Humpherys, devel, Greg Kroah-Hartman, Android Kernel Team, John Stultz, lkml On Mon, May 4, 2015 at 1:22 AM, Dan Carpenter <dan.carpenter@oracle.com> wrote: > On Thu, Apr 09, 2015 at 06:10:04PM -0700, Mitchel Humpherys wrote: >> 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 %pad as instructed in printk-formats.txt. >> >> Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org> > > This one was just merged and I was about to email you that it introduces > some new Smatch warnings, but actually looking at it, it's just wrong. > > We want to print "chunk_heap->base" and not "&chunk_heap->base". This would be correct if base was a dma_addr_t... > And anyway "&chunk_heap->base" is a regular pointer, not a dma_addr_t. But it is actually an ion_phys_addr_t, which is currently typedef'd to unsigned long. Are you using a local patch that replaces ion_phys_addr_t with dma_addr_t? > So please send a new patch that removes the &. Removing the & is not correct, lib/vsprintf.c will dereference the arg for %pad or %pap. I think this patch should just be dropped, the old %lu was correct for what is in Linus' tree. > regards, > dan carpenter > >> --- >> drivers/staging/android/ion/ion_chunk_heap.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/staging/android/ion/ion_chunk_heap.c b/drivers/staging/android/ion/ion_chunk_heap.c >> index 54746157d799..6b3e18aa1c64 100644 >> --- a/drivers/staging/android/ion/ion_chunk_heap.c >> +++ b/drivers/staging/android/ion/ion_chunk_heap.c >> @@ -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_debug("%s: base %lu size %zu align %ld\n", __func__, chunk_heap->base, >> - heap_data->size, heap_data->align); >> + pr_debug("%s: base %pad size %zu align %pad\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 Project >> >> _______________________________________________ >> devel mailing list >> devel@linuxdriverproject.org >> http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel > > To unsubscribe from this group and stop receiving emails from it, send an email to kernel-team+unsubscribe@android.com. + ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/2] staging: ion: chunk_heap: use %pad for printing dma_addr_t's 2015-05-04 20:05 ` Colin Cross @ 2015-05-05 5:59 ` Mitchel Humpherys 2015-05-08 7:26 ` Greg Kroah-Hartman 0 siblings, 1 reply; 6+ messages in thread From: Mitchel Humpherys @ 2015-05-05 5:59 UTC (permalink / raw) To: Colin Cross Cc: Dan Carpenter, devel, Greg Kroah-Hartman, Android Kernel Team, John Stultz, lkml On Mon, May 04 2015 at 01:05:50 PM, Colin Cross <ccross@android.com> wrote: > On Mon, May 4, 2015 at 1:22 AM, Dan Carpenter <dan.carpenter@oracle.com> wrote: >> On Thu, Apr 09, 2015 at 06:10:04PM -0700, Mitchel Humpherys wrote: >>> 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 %pad as instructed in printk-formats.txt. >>> >>> Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org> >> >> This one was just merged and I was about to email you that it introduces >> some new Smatch warnings, but actually looking at it, it's just wrong. >> >> We want to print "chunk_heap->base" and not "&chunk_heap->base". > > This would be correct if base was a dma_addr_t... > >> And anyway "&chunk_heap->base" is a regular pointer, not a dma_addr_t. > > But it is actually an ion_phys_addr_t, which is currently typedef'd to > unsigned long. Are you using a local patch that replaces > ion_phys_addr_t with dma_addr_t? > >> So please send a new patch that removes the &. > > Removing the & is not correct, lib/vsprintf.c will dereference the arg > for %pad or %pap. I think this patch should just be dropped, the old > %lu was correct for what is in Linus' tree. Ah, you're absolutely correct. We have a local patch that makes ion_phys_addr_t a dma_addr_t (needed for LPAE), which is why I needed to convert the printk format... Greg, can you please drop this patch from your tree? We'll only need this if/when mainline Ion gets LPAE support... -Mitch -- Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/2] staging: ion: chunk_heap: use %pad for printing dma_addr_t's 2015-05-05 5:59 ` Mitchel Humpherys @ 2015-05-08 7:26 ` Greg Kroah-Hartman 0 siblings, 0 replies; 6+ messages in thread From: Greg Kroah-Hartman @ 2015-05-08 7:26 UTC (permalink / raw) To: Mitchel Humpherys Cc: Colin Cross, lkml, John Stultz, devel, Android Kernel Team, Dan Carpenter On Mon, May 04, 2015 at 10:59:39PM -0700, Mitchel Humpherys wrote: > On Mon, May 04 2015 at 01:05:50 PM, Colin Cross <ccross@android.com> wrote: > > On Mon, May 4, 2015 at 1:22 AM, Dan Carpenter <dan.carpenter@oracle.com> wrote: > >> On Thu, Apr 09, 2015 at 06:10:04PM -0700, Mitchel Humpherys wrote: > >>> 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 %pad as instructed in printk-formats.txt. > >>> > >>> Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org> > >> > >> This one was just merged and I was about to email you that it introduces > >> some new Smatch warnings, but actually looking at it, it's just wrong. > >> > >> We want to print "chunk_heap->base" and not "&chunk_heap->base". > > > > This would be correct if base was a dma_addr_t... > > > >> And anyway "&chunk_heap->base" is a regular pointer, not a dma_addr_t. > > > > But it is actually an ion_phys_addr_t, which is currently typedef'd to > > unsigned long. Are you using a local patch that replaces > > ion_phys_addr_t with dma_addr_t? > > > >> So please send a new patch that removes the &. > > > > Removing the & is not correct, lib/vsprintf.c will dereference the arg > > for %pad or %pap. I think this patch should just be dropped, the old > > %lu was correct for what is in Linus' tree. > > Ah, you're absolutely correct. We have a local patch that makes > ion_phys_addr_t a dma_addr_t (needed for LPAE), which is why I needed to > convert the printk format... > > Greg, can you please drop this patch from your tree? We'll only need > this if/when mainline Ion gets LPAE support... Now dropped, thanks. greg k-h ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-05-08 7:26 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-04-10 1:10 [PATCH v2 1/2] staging: ion: chunk_heap: use pr_debug for heap creation print Mitchel Humpherys 2015-04-10 1:10 ` [PATCH v2 2/2] staging: ion: chunk_heap: use %pad for printing dma_addr_t's Mitchel Humpherys 2015-05-04 8:22 ` Dan Carpenter 2015-05-04 20:05 ` Colin Cross 2015-05-05 5:59 ` Mitchel Humpherys 2015-05-08 7:26 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox