Re: [PATCH v1 2/2] Input: matrix_keypad - replace header inclusions by forward declarations

From: Guenter Roeck
Date: Sat Oct 29 2022 - 10:25:58 EST


On Fri, Sep 23, 2022 at 09:46:32PM +0300, Andy Shevchenko wrote:
> When the data structure is only referred by pointer, compiler may not need
> to see the contents of the data type. Thus, we may replace header inclusions
> by respective forward declarations.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
> include/linux/input/matrix_keypad.h | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/input/matrix_keypad.h b/include/linux/input/matrix_keypad.h
> index 9476768c3b90..b8d8d69eba29 100644
> --- a/include/linux/input/matrix_keypad.h
> +++ b/include/linux/input/matrix_keypad.h
> @@ -3,8 +3,9 @@
> #define _MATRIX_KEYPAD_H
>
> #include <linux/types.h>
> -#include <linux/input.h>

Possibly, but may other drivers rely on those includes.
This results in widespread build failures such as

Building arm:allmodconfig ... failed
--------------
Error log:
In file included from include/linux/input/samsung-keypad.h:12,
from arch/arm/mach-s3c/keypad.h:12,
from arch/arm/mach-s3c/mach-crag6410.c:57:
arch/arm/mach-s3c/mach-crag6410.c:183:19: error: 'KEY_VOLUMEUP' undeclared here

Guenter