kernel_optimize_test/drivers/video/fbdev/sis
Arnd Bergmann 5908986ef3 video: fbdev: sis: avoid mismatched prototypes
Building with LTO enabled reveals some functions whose prototypes
in the header are different from the definition:

drivers/video/fbdev/sis/sis_main.h:765:0: error: type of 'SiS_SetCH70xxANDOR' does not match original declaration [-Werror=lto-type-mismatch]
 extern void  SiS_SetCH70xxANDOR(struct SiS_Private *SiS_Pr, unsigned short reg,

drivers/video/fbdev/sis/init301.c:8937:0: note: type mismatch in parameter 4
 SiS_SetCH70xxANDOR(struct SiS_Private *SiS_Pr, unsigned short reg,

drivers/video/fbdev/sis/init301.c:8937:0: note: type 'short unsigned int' should match type 'unsigned char'
drivers/video/fbdev/sis/init301.c:8937:0: note: 'SiS_SetCH70xxANDOR' was previously declared here

The root cause appears to be the way that header files are used in this
driver, where they contain both static variable and declarations for
symbols in other files.

To clean that up, I'm changing all mixed headers to only contain
declarations the way we normally do in C, or contain only static
variables, and move the rest to a more appropriate place.  Once that
is done, the headers can be included in the other files as well, and
guarantee that the prototypes match.

There are a few headers that now only contain static variables, and
I'm leaving those alone here as the patch is already too big. These
could be trivially moved into the respective .c files.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Thomas Winischhofer <thomas@winischhofer.net>
Cc: Nicolas Pitre <nico@linaro.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>,
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
2018-03-12 17:06:52 +01:00
..
300vtbl.h
310vtbl.h
init.c
init.h video: fbdev: sis: avoid mismatched prototypes 2018-03-12 17:06:52 +01:00
init301.c video: fbdev: sis: avoid mismatched prototypes 2018-03-12 17:06:52 +01:00
init301.h video: fbdev: sis: avoid mismatched prototypes 2018-03-12 17:06:52 +01:00
initdef.h
initextlfb.c
Makefile
oem300.h
oem310.h
sis_accel.c
sis_accel.h
sis_main.c video: fbdev: sis: avoid mismatched prototypes 2018-03-12 17:06:52 +01:00
sis_main.h video: fbdev: sis: avoid mismatched prototypes 2018-03-12 17:06:52 +01:00
sis.h video: fbdev: sis: avoid mismatched prototypes 2018-03-12 17:06:52 +01:00
vgatypes.h
vstruct.h