2020-03-28 03:50:08

by Yue Haibing

[permalink] [raw]
Subject: [PATCH -next] ACPICA: Make acpi_protocol_lengths static

Fix sparse warning:

drivers/acpi/acpica/exfield.c:25:10: warning:
symbol 'acpi_protocol_lengths' was not declared. Should it be static?

Signed-off-by: YueHaibing <[email protected]>
---
drivers/acpi/acpica/exfield.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/acpi/acpica/exfield.c b/drivers/acpi/acpica/exfield.c
index e85eb31e5075..3323a2ba6a31 100644
--- a/drivers/acpi/acpica/exfield.c
+++ b/drivers/acpi/acpica/exfield.c
@@ -22,7 +22,7 @@ ACPI_MODULE_NAME("exfield")
*/
#define ACPI_INVALID_PROTOCOL_ID 0x80
#define ACPI_MAX_PROTOCOL_ID 0x0F
-const u8 acpi_protocol_lengths[] = {
+static const u8 acpi_protocol_lengths[] = {
ACPI_INVALID_PROTOCOL_ID, /* 0 - reserved */
ACPI_INVALID_PROTOCOL_ID, /* 1 - reserved */
0x00, /* 2 - ATTRIB_QUICK */
--
2.17.1



2020-03-28 09:15:07

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH -next] ACPICA: Make acpi_protocol_lengths static

On Sat, Mar 28, 2020 at 4:47 AM YueHaibing <[email protected]> wrote:
>
> Fix sparse warning:
>
> drivers/acpi/acpica/exfield.c:25:10: warning:
> symbol 'acpi_protocol_lengths' was not declared. Should it be static?
>
> Signed-off-by: YueHaibing <[email protected]>

Bob, Erik, I'm leaving this one to you.

> ---
> drivers/acpi/acpica/exfield.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/acpica/exfield.c b/drivers/acpi/acpica/exfield.c
> index e85eb31e5075..3323a2ba6a31 100644
> --- a/drivers/acpi/acpica/exfield.c
> +++ b/drivers/acpi/acpica/exfield.c
> @@ -22,7 +22,7 @@ ACPI_MODULE_NAME("exfield")
> */
> #define ACPI_INVALID_PROTOCOL_ID 0x80
> #define ACPI_MAX_PROTOCOL_ID 0x0F
> -const u8 acpi_protocol_lengths[] = {
> +static const u8 acpi_protocol_lengths[] = {
> ACPI_INVALID_PROTOCOL_ID, /* 0 - reserved */
> ACPI_INVALID_PROTOCOL_ID, /* 1 - reserved */
> 0x00, /* 2 - ATTRIB_QUICK */
> --
> 2.17.1
>
>

2020-03-30 17:55:09

by Kaneda, Erik

[permalink] [raw]
Subject: RE: [PATCH -next] ACPICA: Make acpi_protocol_lengths static



> -----Original Message-----
> From: [email protected] <linux-acpi-
> [email protected]> On Behalf Of Rafael J. Wysocki
> Sent: Saturday, March 28, 2020 2:14 AM
> To: YueHaibing <[email protected]>; Moore, Robert
> <[email protected]>; Kaneda, Erik <[email protected]>
> Cc: Wysocki, Rafael J <[email protected]>; Len Brown
> <[email protected]>; ACPI Devel Maling List <[email protected]>;
> open list:ACPI COMPONENT ARCHITECTURE (ACPICA) <[email protected]>;
> Linux Kernel Mailing List <[email protected]>
> Subject: Re: [PATCH -next] ACPICA: Make acpi_protocol_lengths static
>
> On Sat, Mar 28, 2020 at 4:47 AM YueHaibing <[email protected]>
> wrote:
> >
> > Fix sparse warning:
> >
> > drivers/acpi/acpica/exfield.c:25:10: warning:
> > symbol 'acpi_protocol_lengths' was not declared. Should it be static?

I don’t understand what sparse is trying to say here. This variable is declared in exfield.c...
Could you provide more details on this sparse warning?

Erik

> >
> > Signed-off-by: YueHaibing <[email protected]>
>
> Bob, Erik, I'm leaving this one to you.
>
> > ---
> > drivers/acpi/acpica/exfield.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/acpi/acpica/exfield.c
> > b/drivers/acpi/acpica/exfield.c index e85eb31e5075..3323a2ba6a31
> > 100644
> > --- a/drivers/acpi/acpica/exfield.c
> > +++ b/drivers/acpi/acpica/exfield.c
> > @@ -22,7 +22,7 @@ ACPI_MODULE_NAME("exfield")
> > */
> > #define ACPI_INVALID_PROTOCOL_ID 0x80
> > #define ACPI_MAX_PROTOCOL_ID 0x0F
> > -const u8 acpi_protocol_lengths[] = {
> > +static const u8 acpi_protocol_lengths[] = {
> > ACPI_INVALID_PROTOCOL_ID, /* 0 - reserved */
> > ACPI_INVALID_PROTOCOL_ID, /* 1 - reserved */
> > 0x00, /* 2 - ATTRIB_QUICK */
> > --
> > 2.17.1
> >
> >

2020-03-31 03:31:37

by Yue Haibing

[permalink] [raw]
Subject: Re: [PATCH -next] ACPICA: Make acpi_protocol_lengths static

On 2020/3/31 1:52, Kaneda, Erik wrote:
>
>
>> -----Original Message-----
>> From: [email protected] <linux-acpi-
>> [email protected]> On Behalf Of Rafael J. Wysocki
>> Sent: Saturday, March 28, 2020 2:14 AM
>> To: YueHaibing <[email protected]>; Moore, Robert
>> <[email protected]>; Kaneda, Erik <[email protected]>
>> Cc: Wysocki, Rafael J <[email protected]>; Len Brown
>> <[email protected]>; ACPI Devel Maling List <[email protected]>;
>> open list:ACPI COMPONENT ARCHITECTURE (ACPICA) <[email protected]>;
>> Linux Kernel Mailing List <[email protected]>
>> Subject: Re: [PATCH -next] ACPICA: Make acpi_protocol_lengths static
>>
>> On Sat, Mar 28, 2020 at 4:47 AM YueHaibing <[email protected]>
>> wrote:
>>>
>>> Fix sparse warning:
>>>
>>> drivers/acpi/acpica/exfield.c:25:10: warning:
>>> symbol 'acpi_protocol_lengths' was not declared. Should it be static?
>
> I don’t understand what sparse is trying to say here. This variable is declared in exfield.c...
> Could you provide more details on this sparse warning?

This is sparse -Wdel option's job, see man manual:

-Wdecl Warn about any non-static variable or function definition that
has no previous declaration.

Private symbols (functions and variables) internal to a given
source file should use static, to allow additional compiler
optimizations, allow detection of unused symbols, and prevent
other code from relying on these internal symbols. Public
symbols used by other source files will need declarations
visible to those other source files, such as in a header file.
All declarations should fall into one of these two categories.
Thus, with -Wdecl, Sparse warns about any symbol definition
with neither static nor a declaration. To fix this warning,
declare private symbols static, and ensure that the files
defining public symbols have the symbol declarations available
first (such as by including the appropriate header file).

>
> Erik
>
>>>
>>> Signed-off-by: YueHaibing <[email protected]>
>>
>> Bob, Erik, I'm leaving this one to you.
>>
>>> ---
>>> drivers/acpi/acpica/exfield.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/acpi/acpica/exfield.c
>>> b/drivers/acpi/acpica/exfield.c index e85eb31e5075..3323a2ba6a31
>>> 100644
>>> --- a/drivers/acpi/acpica/exfield.c
>>> +++ b/drivers/acpi/acpica/exfield.c
>>> @@ -22,7 +22,7 @@ ACPI_MODULE_NAME("exfield")
>>> */
>>> #define ACPI_INVALID_PROTOCOL_ID 0x80
>>> #define ACPI_MAX_PROTOCOL_ID 0x0F
>>> -const u8 acpi_protocol_lengths[] = {
>>> +static const u8 acpi_protocol_lengths[] = {
>>> ACPI_INVALID_PROTOCOL_ID, /* 0 - reserved */
>>> ACPI_INVALID_PROTOCOL_ID, /* 1 - reserved */
>>> 0x00, /* 2 - ATTRIB_QUICK */
>>> --
>>> 2.17.1
>>>
>>>

2020-03-31 17:36:03

by Kaneda, Erik

[permalink] [raw]
Subject: RE: [PATCH -next] ACPICA: Make acpi_protocol_lengths static



> -----Original Message-----
> From: [email protected] <linux-acpi-
> [email protected]> On Behalf Of Yuehaibing
> Sent: Monday, March 30, 2020 8:29 PM
> To: Kaneda, Erik <[email protected]>; Rafael J. Wysocki
> <[email protected]>; Moore, Robert <[email protected]>
> Cc: Wysocki, Rafael J <[email protected]>; Len Brown
> <[email protected]>; ACPI Devel Maling List <[email protected]>;
> open list:ACPI COMPONENT ARCHITECTURE (ACPICA) <[email protected]>;
> Linux Kernel Mailing List <[email protected]>
> Subject: Re: [PATCH -next] ACPICA: Make acpi_protocol_lengths static
>
> On 2020/3/31 1:52, Kaneda, Erik wrote:
> >
> >
> >> -----Original Message-----
> >> From: [email protected] <linux-acpi-
> >> [email protected]> On Behalf Of Rafael J. Wysocki
> >> Sent: Saturday, March 28, 2020 2:14 AM
> >> To: YueHaibing <[email protected]>; Moore, Robert
> >> <[email protected]>; Kaneda, Erik <[email protected]>
> >> Cc: Wysocki, Rafael J <[email protected]>; Len Brown
> >> <[email protected]>; ACPI Devel Maling List
> >> <[email protected]>; open list:ACPI COMPONENT
> ARCHITECTURE
> >> (ACPICA) <[email protected]>; Linux Kernel Mailing List
> >> <[email protected]>
> >> Subject: Re: [PATCH -next] ACPICA: Make acpi_protocol_lengths static
> >>
> >> On Sat, Mar 28, 2020 at 4:47 AM YueHaibing <[email protected]>
> >> wrote:
> >>>
> >>> Fix sparse warning:
> >>>
> >>> drivers/acpi/acpica/exfield.c:25:10: warning:
> >>> symbol 'acpi_protocol_lengths' was not declared. Should it be static?
> >
> > I don’t understand what sparse is trying to say here. This variable is
> declared in exfield.c...
> > Could you provide more details on this sparse warning?
>
> This is sparse -Wdel option's job, see man manual:
>
> -Wdecl Warn about any non-static variable or function definition that
> has no previous declaration.
>
> Private symbols (functions and variables) internal to a given
> source file should use static, to allow additional compiler
> optimizations, allow detection of unused symbols, and prevent
> other code from relying on these internal symbols. Public
> symbols used by other source files will need declarations
> visible to those other source files, such as in a header file.
> All declarations should fall into one of these two categories.
> Thus, with -Wdecl, Sparse warns about any symbol definition
> with neither static nor a declaration. To fix this warning,
> declare private symbols static, and ensure that the files
> defining public symbols have the symbol declarations available
> first (such as by including the appropriate header file).

Thanks for the info. I made a pull request to ACPICA codebase here: https://github.com/acpica/acpica/pull/581
I will send this to Linux upstream after the next ACPICA release (toward the end of this month)

Thanks,
Erik
>
> >
> > Erik
> >
> >>>
> >>> Signed-off-by: YueHaibing <[email protected]>
> >>
> >> Bob, Erik, I'm leaving this one to you.
> >>
> >>> ---
> >>> drivers/acpi/acpica/exfield.c | 2 +-
> >>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/acpi/acpica/exfield.c
> >>> b/drivers/acpi/acpica/exfield.c index e85eb31e5075..3323a2ba6a31
> >>> 100644
> >>> --- a/drivers/acpi/acpica/exfield.c
> >>> +++ b/drivers/acpi/acpica/exfield.c
> >>> @@ -22,7 +22,7 @@ ACPI_MODULE_NAME("exfield")
> >>> */
> >>> #define ACPI_INVALID_PROTOCOL_ID 0x80
> >>> #define ACPI_MAX_PROTOCOL_ID 0x0F
> >>> -const u8 acpi_protocol_lengths[] = {
> >>> +static const u8 acpi_protocol_lengths[] = {
> >>> ACPI_INVALID_PROTOCOL_ID, /* 0 - reserved */
> >>> ACPI_INVALID_PROTOCOL_ID, /* 1 - reserved */
> >>> 0x00, /* 2 - ATTRIB_QUICK */
> >>> --
> >>> 2.17.1
> >>>
> >>>