> -----Original Message----- > From: linux-acpi-owner@xxxxxxxxxxxxxxx <linux-acpi- > owner@xxxxxxxxxxxxxxx> On Behalf Of Yuehaibing > Sent: Monday, March 30, 2020 8:29 PM > To: Kaneda, Erik <erik.kaneda@xxxxxxxxx>; Rafael J. Wysocki > <rafael@xxxxxxxxxx>; Moore, Robert <robert.moore@xxxxxxxxx> > Cc: Wysocki, Rafael J <rafael.j.wysocki@xxxxxxxxx>; Len Brown > <lenb@xxxxxxxxxx>; ACPI Devel Maling List <linux-acpi@xxxxxxxxxxxxxxx>; > open list:ACPI COMPONENT ARCHITECTURE (ACPICA) <devel@xxxxxxxxxx>; > Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx> > Subject: Re: [PATCH -next] ACPICA: Make acpi_protocol_lengths static > > On 2020/3/31 1:52, Kaneda, Erik wrote: > > > > > >> -----Original Message----- > >> From: linux-acpi-owner@xxxxxxxxxxxxxxx <linux-acpi- > >> owner@xxxxxxxxxxxxxxx> On Behalf Of Rafael J. Wysocki > >> Sent: Saturday, March 28, 2020 2:14 AM > >> To: YueHaibing <yuehaibing@xxxxxxxxxx>; Moore, Robert > >> <robert.moore@xxxxxxxxx>; Kaneda, Erik <erik.kaneda@xxxxxxxxx> > >> Cc: Wysocki, Rafael J <rafael.j.wysocki@xxxxxxxxx>; Len Brown > >> <lenb@xxxxxxxxxx>; ACPI Devel Maling List > >> <linux-acpi@xxxxxxxxxxxxxxx>; open list:ACPI COMPONENT > ARCHITECTURE > >> (ACPICA) <devel@xxxxxxxxxx>; Linux Kernel Mailing List > >> <linux-kernel@xxxxxxxxxxxxxxx> > >> Subject: Re: [PATCH -next] ACPICA: Make acpi_protocol_lengths static > >> > >> On Sat, Mar 28, 2020 at 4:47 AM YueHaibing <yuehaibing@xxxxxxxxxx> > >> 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 <yuehaibing@xxxxxxxxxx> > >> > >> 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 > >>> > >>>