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

From: Guenter Roeck
Date: Sun Oct 30 2022 - 00:56:04 EST


On 10/29/22 21:33, Dmitry Torokhov wrote:
On Sat, Oct 29, 2022 at 04:02:56PM -0700, Guenter Roeck wrote:
On 10/29/22 15:28, Dmitry Torokhov wrote:
On Sat, Oct 29, 2022 at 07:25:51AM -0700, Guenter Roeck wrote:
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

I fixed this particular instance, hopefully it is one of the very
last of them...


Sorry, I didn't bother listing all of them. There is at least one more.

Error log:
arch/arm/mach-pxa/spitz.c:410:11: error: 'EV_PWR' undeclared here (not in a function)
410 | .type = EV_PWR,
| ^~~~~~

with arm:pxa_defconfig.

Ah, I see. Arnd is trying to delete bunch of PXA code, so I'll pull the
header change until after he merges his, and hopefully spitz will be
gone.

Do you have more examples by chance?


No, but no guarantees - there are various other build failures in -next,
and I may have missed some.

Guenter