diff mbox series

usb: cdns3: include host-export,h for cdns3_host_init

Message ID 20191017124427.17055-1-ben.dooks@codethink.co.uk (mailing list archive)
State Mainlined
Commit 5053691a7d62a4ad1566aa923e33f5d21a8016f0
Headers show
Series usb: cdns3: include host-export,h for cdns3_host_init | expand

Commit Message

Ben Dooks Oct. 17, 2019, 12:44 p.m. UTC
The cdns3_host_init() function is declared in host-export.h
but host.c does not include it. Add the include to have
the declaration present (and remove the declaration of
cdns3_host_exit which is now static).

Fixes the following sparse warning:

drivers/usb/cdns3/host.c:58:5: warning: symbol 'cdns3_host_init' was not declared. Should it be static?

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
---
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Pawel Laszczak <pawell@cadence.com>
Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
Cc: "Ben Dooks
Cc: linux-usb@vger.kernel.org
---
 drivers/usb/cdns3/host-export.h | 1 -
 drivers/usb/cdns3/host.c        | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

Comments

Pawel Laszczak Oct. 18, 2019, 3:45 a.m. UTC | #1
Hi

>The cdns3_host_init() function is declared in host-export.h
>but host.c does not include it. Add the include to have
>the declaration present (and remove the declaration of
>cdns3_host_exit which is now static).
>
>Fixes the following sparse warning:
>
>drivers/usb/cdns3/host.c:58:5: warning: symbol 'cdns3_host_init' was not declared. Should it be static?

It should not be static. It can be called from core.c file.
It will be static only if CONFIG_USB_CDNS3_HOST will not be defined and in
this case function will be declared in host-export.h  as static. 

For me It doesn't look like driver issue. 

>
>Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
>---
>Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>Cc: Pawel Laszczak <pawell@cadence.com>
>Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
>Cc: "Ben Dooks
>Cc: linux-usb@vger.kernel.org
>---
> drivers/usb/cdns3/host-export.h | 1 -
> drivers/usb/cdns3/host.c        | 1 +
> 2 files changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/usb/cdns3/host-export.h b/drivers/usb/cdns3/host-export.h
>index b498a170b7e8..ae11810f8826 100644
>--- a/drivers/usb/cdns3/host-export.h
>+++ b/drivers/usb/cdns3/host-export.h
>@@ -12,7 +12,6 @@
> #ifdef CONFIG_USB_CDNS3_HOST
>
> int cdns3_host_init(struct cdns3 *cdns);
>-void cdns3_host_exit(struct cdns3 *cdns);

We can't remove this function. It is invoked from core.c file. 
If you remove it from host-export.h then it will not be visible there. 

>
> #else
>
>diff --git a/drivers/usb/cdns3/host.c b/drivers/usb/cdns3/host.c
>index 2733a8f71fcd..ad788bf3fe4f 100644
>--- a/drivers/usb/cdns3/host.c
>+++ b/drivers/usb/cdns3/host.c
>@@ -12,6 +12,7 @@
> #include <linux/platform_device.h>
> #include "core.h"
> #include "drd.h"
>+#include "host-export.h"

Why host must include this file. This function is implemented
In host.c and is used only in  core.c file . 

>
> static int __cdns3_host_init(struct cdns3 *cdns)
> {
>--
>2.23.0


Regards,
Pawell
Ben Dooks Oct. 18, 2019, 9:06 a.m. UTC | #2
On 18/10/2019 04:45, Pawel Laszczak wrote:
> Hi
> 
>> The cdns3_host_init() function is declared in host-export.h
>> but host.c does not include it. Add the include to have
>> the declaration present (and remove the declaration of
>> cdns3_host_exit which is now static).
>>
>> Fixes the following sparse warning:
>>
>> drivers/usb/cdns3/host.c:58:5: warning: symbol 'cdns3_host_init' was not declared. Should it be static?
> 
> It should not be static. It can be called from core.c file.
> It will be static only if CONFIG_USB_CDNS3_HOST will not be defined and in
> this case function will be declared in host-export.h  as static.

I know, this isn't being made static, that's a warning.

> For me It doesn't look like driver issue.

>>
>> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
>> ---
>> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> Cc: Pawel Laszczak <pawell@cadence.com>
>> Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
>> Cc: "Ben Dooks
>> Cc: linux-usb@vger.kernel.org
>> ---
>> drivers/usb/cdns3/host-export.h | 1 -
>> drivers/usb/cdns3/host.c        | 1 +
>> 2 files changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/cdns3/host-export.h b/drivers/usb/cdns3/host-export.h
>> index b498a170b7e8..ae11810f8826 100644
>> --- a/drivers/usb/cdns3/host-export.h
>> +++ b/drivers/usb/cdns3/host-export.h
>> @@ -12,7 +12,6 @@
>> #ifdef CONFIG_USB_CDNS3_HOST
>>
>> int cdns3_host_init(struct cdns3 *cdns);
>> -void cdns3_host_exit(struct cdns3 *cdns);
> 
> We can't remove this function. It is invoked from core.c file.
> If you remove it from host-export.h then it will not be visible there.
> 
>>
>> #else
>>
>> diff --git a/drivers/usb/cdns3/host.c b/drivers/usb/cdns3/host.c
>> index 2733a8f71fcd..ad788bf3fe4f 100644
>> --- a/drivers/usb/cdns3/host.c
>> +++ b/drivers/usb/cdns3/host.c
>> @@ -12,6 +12,7 @@
>> #include <linux/platform_device.h>
>> #include "core.h"
>> #include "drd.h"
>> +#include "host-export.h"
> 
> Why host must include this file. This function is implemented
> In host.c and is used only in  core.c file .

The implementation should also have the declaration to ensure
that the implemented function matches the declared prototype in
the header
diff mbox series

Patch

diff --git a/drivers/usb/cdns3/host-export.h b/drivers/usb/cdns3/host-export.h
index b498a170b7e8..ae11810f8826 100644
--- a/drivers/usb/cdns3/host-export.h
+++ b/drivers/usb/cdns3/host-export.h
@@ -12,7 +12,6 @@ 
 #ifdef CONFIG_USB_CDNS3_HOST
 
 int cdns3_host_init(struct cdns3 *cdns);
-void cdns3_host_exit(struct cdns3 *cdns);
 
 #else
 
diff --git a/drivers/usb/cdns3/host.c b/drivers/usb/cdns3/host.c
index 2733a8f71fcd..ad788bf3fe4f 100644
--- a/drivers/usb/cdns3/host.c
+++ b/drivers/usb/cdns3/host.c
@@ -12,6 +12,7 @@ 
 #include <linux/platform_device.h>
 #include "core.h"
 #include "drd.h"
+#include "host-export.h"
 
 static int __cdns3_host_init(struct cdns3 *cdns)
 {