Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1490552 > unrolled thread

[PATCH] HSI: omap_ssi_core: move function declaration to header file

Started byBaoyou Xie <baoyou.xie@linaro.org>
First post2016-09-24 07:20 +0200
Last post2016-09-24 21:40 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] HSI: omap_ssi_core: move function declaration to header file Baoyou Xie <baoyou.xie@linaro.org> - 2016-09-24 07:20 +0200
    Re: [PATCH] HSI: omap_ssi_core: move function declaration to header file Arnd Bergmann <arnd@arndb.de> - 2016-09-24 11:00 +0200
      Re: [PATCH] HSI: omap_ssi_core: move function declaration to header  file Sebastian Reichel <sre@kernel.org> - 2016-09-24 21:40 +0200

#1490552 — [PATCH] HSI: omap_ssi_core: move function declaration to header file

FromBaoyou Xie <baoyou.xie@linaro.org>
Date2016-09-24 07:20 +0200
Subject[PATCH] HSI: omap_ssi_core: move function declaration to header file
Message-ID<skNxv-5iQ-1@gated-at.bofh.it>
We get 1 warning when building kernel with W=1:
drivers/hsi/controllers/omap_ssi_core.c:181:6: warning: no previous prototype for 'ssi_waketest' [-Wmissing-prototypes]

In fact, this function is declared in
drivers/hsi/clients/ssi_protocol.c, but should be declared
in a header file. So this patch moves the function declaration
to include/linux/hsi/hsi.h.

Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org>
---
 drivers/hsi/clients/ssi_protocol.c | 2 --
 include/linux/hsi/hsi.h            | 1 +
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/hsi/clients/ssi_protocol.c b/drivers/hsi/clients/ssi_protocol.c
index 6031cd1..fe86444 100644
--- a/drivers/hsi/clients/ssi_protocol.c
+++ b/drivers/hsi/clients/ssi_protocol.c
@@ -45,8 +45,6 @@
 #include <linux/hsi/hsi.h>
 #include <linux/hsi/ssi_protocol.h>
 
-void ssi_waketest(struct hsi_client *cl, unsigned int enable);
-
 #define SSIP_TXQUEUE_LEN	100
 #define SSIP_MAX_MTU		65535
 #define SSIP_DEFAULT_MTU	4000
diff --git a/include/linux/hsi/hsi.h b/include/linux/hsi/hsi.h
index 5740254..676a656 100644
--- a/include/linux/hsi/hsi.h
+++ b/include/linux/hsi/hsi.h
@@ -161,6 +161,7 @@ static inline void *hsi_client_drvdata(struct hsi_client *cl)
 int hsi_register_port_event(struct hsi_client *cl,
 			void (*handler)(struct hsi_client *, unsigned long));
 int hsi_unregister_port_event(struct hsi_client *cl);
+void ssi_waketest(struct hsi_client *cl, unsigned int enable);
 
 /**
  * struct hsi_client_driver - Driver associated to an HSI client
-- 
2.7.4

[toc] | [next] | [standalone]


#1490593

FromArnd Bergmann <arnd@arndb.de>
Date2016-09-24 11:00 +0200
Message-ID<skQYp-7h6-1@gated-at.bofh.it>
In reply to#1490552
On Saturday, September 24, 2016 1:11:56 PM CEST Baoyou Xie wrote:
> ---
>  drivers/hsi/clients/ssi_protocol.c | 2 --
>  include/linux/hsi/hsi.h            | 1 +
>  2 files changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/hsi/clients/ssi_protocol.c b/drivers/hsi/clients/ssi_protocol.c
> index 6031cd1..fe86444 100644
> --- a/drivers/hsi/clients/ssi_protocol.c
> +++ b/drivers/hsi/clients/ssi_protocol.c
> @@ -45,8 +45,6 @@
>  #include <linux/hsi/hsi.h>
>  #include <linux/hsi/ssi_protocol.h>
>  
> -void ssi_waketest(struct hsi_client *cl, unsigned int enable);
> -
>  #define SSIP_TXQUEUE_LEN       100
>  #define SSIP_MAX_MTU           65535
>  #define SSIP_DEFAULT_MTU       4000
> 

Maybe the declaration should be moved to include/linux/hsi/ssi_protocol.h
instead of include/linux/hsi/hsi.h? It's not completely clear as the
exported function is a bit of a layering violation.

	Arnd

[toc] | [prev] | [next] | [standalone]


#1490730 — Re: [PATCH] HSI: omap_ssi_core: move function declaration to header file

FromSebastian Reichel <sre@kernel.org>
Date2016-09-24 21:40 +0200
SubjectRe: [PATCH] HSI: omap_ssi_core: move function declaration to header file
Message-ID<sl0XM-53s-15@gated-at.bofh.it>
In reply to#1490593

[Multipart message — attachments visible in raw view] — view raw

Hi,

On Sat, Sep 24, 2016 at 10:58:15AM +0200, Arnd Bergmann wrote:
> On Saturday, September 24, 2016 1:11:56 PM CEST Baoyou Xie wrote:
> > ---
> >  drivers/hsi/clients/ssi_protocol.c | 2 --
> >  include/linux/hsi/hsi.h            | 1 +
> >  2 files changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/drivers/hsi/clients/ssi_protocol.c b/drivers/hsi/clients/ssi_protocol.c
> > index 6031cd1..fe86444 100644
> > --- a/drivers/hsi/clients/ssi_protocol.c
> > +++ b/drivers/hsi/clients/ssi_protocol.c
> > @@ -45,8 +45,6 @@
> >  #include <linux/hsi/hsi.h>
> >  #include <linux/hsi/ssi_protocol.h>
> >  
> > -void ssi_waketest(struct hsi_client *cl, unsigned int enable);
> > -
> >  #define SSIP_TXQUEUE_LEN       100
> >  #define SSIP_MAX_MTU           65535
> >  #define SSIP_DEFAULT_MTU       4000
> > 
> 
> Maybe the declaration should be moved to include/linux/hsi/ssi_protocol.h
> instead of include/linux/hsi/hsi.h?

ssi_protocol.h is not included by the ssi (controller) driver, so
that will not fix the warning.

> It's not completely clear as the exported function is a bit of a
> layering violation.

Yes it is and the code contains a^W lots of FIXME about this. I have
not yet tried to remove it as suggested in the FIXME (which predates
my maintenance, but it's probably not possible without modifying the
modem FW).

I'm fine with adding it the function prototype to hsi.h to fix the
warning, but please add a comment, that it's a layering violation
and should not be used.

-- Sebastian

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web