linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] drm/panfrost: fix -Wmissing-prototypes warnings
@ 2019-10-25  1:30 Yi Wang
  2019-10-25  9:10 ` Steven Price
  0 siblings, 1 reply; 3+ messages in thread
From: Yi Wang @ 2019-10-25  1:30 UTC (permalink / raw)
  To: steven.price, robh
  Cc: tomeu.vizoso, airlied, daniel, dri-devel, linux-kernel,
	xue.zhihong, wang.yi59, up2wing, wang.liang82

We get these warnings when build kernel W=1:
drivers/gpu/drm/panfrost/panfrost_perfcnt.c:35:6: warning: no previous prototype for ‘panfrost_perfcnt_clean_cache_done’ [-Wmissing-prototypes]
drivers/gpu/drm/panfrost/panfrost_perfcnt.c:40:6: warning: no previous prototype for ‘panfrost_perfcnt_sample_done’ [-Wmissing-prototypes]
drivers/gpu/drm/panfrost/panfrost_perfcnt.c:190:5: warning: no previous prototype for ‘panfrost_ioctl_perfcnt_enable’ [-Wmissing-prototypes]
drivers/gpu/drm/panfrost/panfrost_perfcnt.c:218:5: warning: no previous prototype for ‘panfrost_ioctl_perfcnt_dump’ [-Wmissing-prototypes]
drivers/gpu/drm/panfrost/panfrost_perfcnt.c:250:6: warning: no previous prototype for ‘panfrost_perfcnt_close’ [-Wmissing-prototypes]
drivers/gpu/drm/panfrost/panfrost_perfcnt.c:264:5: warning: no previous prototype for ‘panfrost_perfcnt_init’ [-Wmissing-prototypes]
drivers/gpu/drm/panfrost/panfrost_perfcnt.c:320:6: warning: no previous prototype for ‘panfrost_perfcnt_fini’ [-Wmissing-prototypes]
drivers/gpu/drm/panfrost/panfrost_mmu.c:227:6: warning: no previous prototype for ‘panfrost_mmu_flush_range’ [-Wmissing-prototypes]
drivers/gpu/drm/panfrost/panfrost_mmu.c:435:5: warning: no previous prototype for ‘panfrost_mmu_map_fault_addr’ [-Wmissing-prototypes]

For file panfrost_mmu.c, make functions static to fix this.
For file panfrost_perfcnt.c, include header file can fix this.

Signed-off-by: Yi Wang <wang.yi59@zte.com.cn>
Reviewed-by: Steven Price <steven.price@arm.com>
---

v3: using tab size of 8 other than 4.

v2: align parameter line and modify comment. Thanks to Steve.
---
 drivers/gpu/drm/panfrost/panfrost_mmu.c     | 9 +++++----
 drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 1 +
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c
index bdd9905..871574c 100644
--- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
+++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
@@ -224,9 +224,9 @@ static size_t get_pgsize(u64 addr, size_t size)
 	return SZ_2M;
 }
 
-void panfrost_mmu_flush_range(struct panfrost_device *pfdev,
-			      struct panfrost_mmu *mmu,
-			      u64 iova, size_t size)
+static void panfrost_mmu_flush_range(struct panfrost_device *pfdev,
+				    struct panfrost_mmu *mmu,
+				    u64 iova, size_t size)
 {
 	if (mmu->as < 0)
 		return;
@@ -432,7 +432,8 @@ void panfrost_mmu_pgtable_free(struct panfrost_file_priv *priv)
 
 #define NUM_FAULT_PAGES (SZ_2M / PAGE_SIZE)
 
-int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as, u64 addr)
+static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
+					u64 addr)
 {
 	int ret, i;
 	struct panfrost_gem_object *bo;
diff --git a/drivers/gpu/drm/panfrost/panfrost_perfcnt.c b/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
index 83c57d3..2dba192 100644
--- a/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
+++ b/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
@@ -16,6 +16,7 @@
 #include "panfrost_issues.h"
 #include "panfrost_job.h"
 #include "panfrost_mmu.h"
+#include "panfrost_perfcnt.h"
 #include "panfrost_regs.h"
 
 #define COUNTERS_PER_BLOCK		64
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] drm/panfrost: fix -Wmissing-prototypes warnings
  2019-10-25  1:30 [PATCH v3] drm/panfrost: fix -Wmissing-prototypes warnings Yi Wang
@ 2019-10-25  9:10 ` Steven Price
       [not found]   ` <201910281727338249544@zte.com.cn>
  0 siblings, 1 reply; 3+ messages in thread
From: Steven Price @ 2019-10-25  9:10 UTC (permalink / raw)
  To: Yi Wang, robh
  Cc: tomeu.vizoso, airlied, linux-kernel, dri-devel, wang.liang82,
	xue.zhihong, up2wing

On 25/10/2019 02:30, Yi Wang wrote:
> We get these warnings when build kernel W=1:
> drivers/gpu/drm/panfrost/panfrost_perfcnt.c:35:6: warning: no previous prototype for ‘panfrost_perfcnt_clean_cache_done’ [-Wmissing-prototypes]
> drivers/gpu/drm/panfrost/panfrost_perfcnt.c:40:6: warning: no previous prototype for ‘panfrost_perfcnt_sample_done’ [-Wmissing-prototypes]
> drivers/gpu/drm/panfrost/panfrost_perfcnt.c:190:5: warning: no previous prototype for ‘panfrost_ioctl_perfcnt_enable’ [-Wmissing-prototypes]
> drivers/gpu/drm/panfrost/panfrost_perfcnt.c:218:5: warning: no previous prototype for ‘panfrost_ioctl_perfcnt_dump’ [-Wmissing-prototypes]
> drivers/gpu/drm/panfrost/panfrost_perfcnt.c:250:6: warning: no previous prototype for ‘panfrost_perfcnt_close’ [-Wmissing-prototypes]
> drivers/gpu/drm/panfrost/panfrost_perfcnt.c:264:5: warning: no previous prototype for ‘panfrost_perfcnt_init’ [-Wmissing-prototypes]
> drivers/gpu/drm/panfrost/panfrost_perfcnt.c:320:6: warning: no previous prototype for ‘panfrost_perfcnt_fini’ [-Wmissing-prototypes]
> drivers/gpu/drm/panfrost/panfrost_mmu.c:227:6: warning: no previous prototype for ‘panfrost_mmu_flush_range’ [-Wmissing-prototypes]
> drivers/gpu/drm/panfrost/panfrost_mmu.c:435:5: warning: no previous prototype for ‘panfrost_mmu_map_fault_addr’ [-Wmissing-prototypes]
> 
> For file panfrost_mmu.c, make functions static to fix this.
> For file panfrost_perfcnt.c, include header file can fix this.
> 
> Signed-off-by: Yi Wang <wang.yi59@zte.com.cn>
> Reviewed-by: Steven Price <steven.price@arm.com>
> ---
> 
> v3: using tab size of 8 other than 4.
> 
> v2: align parameter line and modify comment. Thanks to Steve.
> ---
>  drivers/gpu/drm/panfrost/panfrost_mmu.c     | 9 +++++----
>  drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 1 +
>  2 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c
> index bdd9905..871574c 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
> @@ -224,9 +224,9 @@ static size_t get_pgsize(u64 addr, size_t size)
>  	return SZ_2M;
>  }
>  
> -void panfrost_mmu_flush_range(struct panfrost_device *pfdev,
> -			      struct panfrost_mmu *mmu,
> -			      u64 iova, size_t size)
> +static void panfrost_mmu_flush_range(struct panfrost_device *pfdev,
> +				    struct panfrost_mmu *mmu,
> +				    u64 iova, size_t size)

Ok, I'll admit I wouldn't have spotted this unless I'd double checked by
applying the patch, but you still seem to have something misconfigured
in your editor. This is out by one character:

static void panfrost_mmu_flush_range(struct panfrost_device *pfdev,
>------->------->------->-------    struct panfrost_mmu *mmu,
>------->------->------->-------    u64 iova, size_t size)

There should be an extra space to align correctly.

>  {
>  	if (mmu->as < 0)
>  		return;
> @@ -432,7 +432,8 @@ void panfrost_mmu_pgtable_free(struct panfrost_file_priv *priv)
>  
>  #define NUM_FAULT_PAGES (SZ_2M / PAGE_SIZE)
>  
> -int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as, u64 addr)
> +static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
> +					u64 addr)

Here you're off-by-one in the other direction - you need to replace the
final tab with 7 spaces:

static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
>------->------->------->------->-------u64 addr)

Sorry to nit-pick over this, but it's good to get your editor setup
correctly to ensure your formatting is correct.

Thanks,

Steve

>  {
>  	int ret, i;
>  	struct panfrost_gem_object *bo;
> diff --git a/drivers/gpu/drm/panfrost/panfrost_perfcnt.c b/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
> index 83c57d3..2dba192 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_perfcnt.c
> @@ -16,6 +16,7 @@
>  #include "panfrost_issues.h"
>  #include "panfrost_job.h"
>  #include "panfrost_mmu.h"
> +#include "panfrost_perfcnt.h"
>  #include "panfrost_regs.h"
>  
>  #define COUNTERS_PER_BLOCK		64
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] drm/panfrost: fix -Wmissing-prototypes warnings
       [not found]   ` <201910281727338249544@zte.com.cn>
@ 2019-10-28 13:52     ` Steven Price
  0 siblings, 0 replies; 3+ messages in thread
From: Steven Price @ 2019-10-28 13:52 UTC (permalink / raw)
  To: wang.yi59
  Cc: robh, tomeu.vizoso, airlied, linux-kernel, dri-devel,
	wang.liang82, xue.zhihong, up2wing

On Mon, Oct 28, 2019 at 09:27:33AM +0000, wang.yi59@zte.com.cn wrote:
> Hi Steve,
> 
> Thanks a lot for your time and patience :)
> 
> > On 25/10/2019 02:30, Yi Wang wrote:
> > > We get these warnings when build kernel W=1:
> > > drivers/gpu/drm/panfrost/panfrost_perfcnt.c:35:6: warning: no previous prototype for ‘panfrost_perfcnt_clean_cache_done’ [-Wmissing-prototypes]
> > > drivers/gpu/drm/panfrost/panfrost_perfcnt.c:40:6: warning: no previous prototype for ‘panfrost_perfcnt_sample_done’ [-Wmissing-prototypes]
> > > drivers/gpu/drm/panfrost/panfrost_perfcnt.c:190:5: warning: no previous prototype for ‘panfrost_ioctl_perfcnt_enable’ [-Wmissing-prototypes]
> > > drivers/gpu/drm/panfrost/panfrost_perfcnt.c:218:5: warning: no previous prototype for ‘panfrost_ioctl_perfcnt_dump’ [-Wmissing-prototypes]
> > > drivers/gpu/drm/panfrost/panfrost_perfcnt.c:250:6: warning: no previous prototype for ‘panfrost_perfcnt_close’ [-Wmissing-prototypes]
> > > drivers/gpu/drm/panfrost/panfrost_perfcnt.c:264:5: warning: no previous prototype for ‘panfrost_perfcnt_init’ [-Wmissing-prototypes]
> > > drivers/gpu/drm/panfrost/panfrost_perfcnt.c:320:6: warning: no previous prototype for ‘panfrost_perfcnt_fini’ [-Wmissing-prototypes]
> > > drivers/gpu/drm/panfrost/panfrost_mmu.c:227:6: warning: no previous prototype for ‘panfrost_mmu_flush_range’ [-Wmissing-prototypes]
> > > drivers/gpu/drm/panfrost/panfrost_mmu.c:435:5: warning: no previous prototype for ‘panfrost_mmu_map_fault_addr’ [-Wmissing-prototypes]
> > >
> > > For file panfrost_mmu.c, make functions static to fix this.
> > > For file panfrost_perfcnt.c, include header file can fix this.
> > >
> > > Signed-off-by: Yi Wang <wang.yi59@zte.com.cn>
> > > Reviewed-by: Steven Price <steven.price@arm.com>
> > > ---
> > >
> > > v3: using tab size of 8 other than 4.
> > >
> > > v2: align parameter line and modify comment. Thanks to Steve.
> > > ---
> > >  drivers/gpu/drm/panfrost/panfrost_mmu.c     | 9 +++++----
> > >  drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 1 +
> > >  2 files changed, 6 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/panfrost/panfrost_mmu.c b/drivers/gpu/drm/panfrost/panfrost_mmu.c
> > > index bdd9905..871574c 100644
> > > --- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
> > > +++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
> > > @@ -224,9 +224,9 @@ static size_t get_pgsize(u64 addr, size_t size)
> > >      return SZ_2M;
> > >  }
> > >
> > > -void panfrost_mmu_flush_range(struct panfrost_device *pfdev,
> > > -                  struct panfrost_mmu *mmu,
> > > -                  u64 iova, size_t size)
> > > +static void panfrost_mmu_flush_range(struct panfrost_device *pfdev,
> > > +                    struct panfrost_mmu *mmu,
> > > +                    u64 iova, size_t size)
> >
> > Ok, I'll admit I wouldn't have spotted this unless I'd double checked by
> > applying the patch, but you still seem to have something misconfigured
> > in your editor. This is out by one character:
> >
> > static void panfrost_mmu_flush_range(struct panfrost_device *pfdev,
> > >------->------->------->-------    struct panfrost_mmu *mmu,
> > >------->------->------->-------    u64 iova, size_t size)
> >
> > There should be an extra space to align correctly.
> 
> According to [Linux kernel coding style](https://www.kernel.org/doc/html/v4.10/process/coding-style.html):
> > Outside of comments, documentation and except in Kconfig, spaces are
> > never used for indentation, and the above example is deliberately broken.
> 
> If I understand corretly, the tab is enough for indentation :-)

There's a (subtle) difference between indentation and alignment.
Indentation is where the code is moved over because it is contained
within an outer statement (e.g. an 'if' or 'while'). The Linux coding
style is that this should be done with only tabs as you quote.

However when the line is a continuation of the previous line, like in
the example here, then we often need a combination of tabs/spaces to
align correctly. The desire here is that the continuation lines all
start straight after the "(" on the first line. Since that is 37
characters from the start we need 4 tabs + 5 spaces (4*8+5=37), whereas
you had 4 tabs + 4 spaces. My guess is this is because you've got the
following vim configuration:

 tabstop = 8
 softtabstop = 4
 noexpandtab

This means that pressing <tab> moves you along only 4 columns (i.e.
inserts 4 spaces), a second <tab> will then replace the spaces with a
real tab character (i.e. move another 4 columns for a total of 8).

It's probably best to set "softtabstop = 0" so that <tab> always inserts
a real tab character. You might also find it useful to make tabs
visible:

 set list
 set listchars=tab:>-

That way you can easily see where you have tab characters and spaces
(like in the example I quoted above).

Steve

> >
> > >  {
> > >      if (mmu->as < 0)
> > >          return;
> > > @@ -432,7 +432,8 @@ void panfrost_mmu_pgtable_free(struct panfrost_file_priv *priv)
> > >
> > >  #define NUM_FAULT_PAGES (SZ_2M / PAGE_SIZE)
> > >
> > > -int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as, u64 addr)
> > > +static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
> > > +                    u64 addr)
> >
> > Here you're off-by-one in the other direction - you need to replace the
> > final tab with 7 spaces:
> >
> > static int panfrost_mmu_map_fault_addr(struct panfrost_device *pfdev, int as,
> > >------->------->------->------->-------u64 addr)
> >
> > Sorry to nit-pick over this, but it's good to get your editor setup
> > correctly to ensure your formatting is correct.
> 
> Yeah, it worth time on the editor setup, and thanks again.
> 
> >
> > Thanks,
> >
> > Steve
> 
> 
> ---
> Best wishes
> Yi Wang

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-10-28 13:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-25  1:30 [PATCH v3] drm/panfrost: fix -Wmissing-prototypes warnings Yi Wang
2019-10-25  9:10 ` Steven Price
     [not found]   ` <201910281727338249544@zte.com.cn>
2019-10-28 13:52     ` Steven Price

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).