Re: [tip:x86/headers 6/9] arch/x86/platform/ts5500/ts5500.c:349:16: error: expected declaration specifiers or '...' before string constant

From: Paul Gortmaker
Date: Fri Jul 15 2016 - 19:53:29 EST


[[tip:x86/headers 6/9] arch/x86/platform/ts5500/ts5500.c:349:16: error: expected declaration specifiers or '...' before string constant] On 16/07/2016 (Sat 03:53) kbuild test robot wrote:

> tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/headers
> head: eb008eb6f8b689853d6e9f4ae3ff56ea734e4319
> commit: cc3ae7b0af27118994c1e491382b253be3b762bf [6/9] x86/platform: Audit and remove any unnecessary uses of module.h
> config: i386-randconfig-c0-07160258 (attached as .config)
> compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
> reproduce:
> git checkout cc3ae7b0af27118994c1e491382b253be3b762bf
> # save the attached .config to linux build tree
> make ARCH=i386
>
> All errors (new ones prefixed by >>):
>
> >> arch/x86/platform/ts5500/ts5500.c:349:16: error: expected declaration specifiers or '...' before string constant
> MODULE_LICENSE("GPL");
> ^~~~~
> arch/x86/platform/ts5500/ts5500.c:350:15: error: expected declaration specifiers or '...' before string constant
> MODULE_AUTHOR("Savoir-faire Linux Inc. <kernel@xxxxxxxxxxxxxxxxxxxx>");
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/x86/platform/ts5500/ts5500.c:351:20: error: expected declaration specifiers or '...' before string constant
> MODULE_DESCRIPTION("Technologic Systems TS-5500 platform driver");
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The driver has a modular GPIO portion but the platform part is not at
all modular - however it doesn't get build coverage in all/yes/no/mod
so it was the robot that found it in randconfig testing.

Suggested fix follows:

From d100dd662a6e58956295638ec7880e0507fa2797 Mon Sep 17 00:00:00 2001
From: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
Date: Fri, 15 Jul 2016 19:03:44 -0400
Subject: [PATCH] x86: platform: delete extraneous MODULE_* tags fromm ts5500

This file doesn't do anything modular and hence while the tristate
Kconfig used for the gpio portion is fine, it recently got swept up in
an audit of files using the module.h header but not using any modular
registration functions.

However it is not compiled in any of the normal build coverage, and
so some remaining extraneous MODULE macro use were not found until a
randconfig from the kbuild robot came across it.

Here we remove the remaining no-op MODULE macros from the built in
portion of code relating to this Kconfig option.

Fixes: cc3ae7b0af27 ("x86/platform: Audit and remove any unnecessary uses of module.h")
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
Cc: "Savoir-faire Linux Inc." <kernel@xxxxxxxxxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: x86@xxxxxxxxxx
Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>
---
arch/x86/platform/ts5500/ts5500.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/arch/x86/platform/ts5500/ts5500.c b/arch/x86/platform/ts5500/ts5500.c
index 952191bea75c..fd39301f25ac 100644
--- a/arch/x86/platform/ts5500/ts5500.c
+++ b/arch/x86/platform/ts5500/ts5500.c
@@ -345,7 +345,3 @@ error:
return err;
}
device_initcall(ts5500_init);
-
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Savoir-faire Linux Inc. <kernel@xxxxxxxxxxxxxxxxxxxx>");
-MODULE_DESCRIPTION("Technologic Systems TS-5500 platform driver");
--
2.8.4