Skip to contentSkip to conversation

platform/chrome: add missing include in cros_ec_lpc driver

PATCH In review Arnd Bergmann 2 participants 2 messages Mar 2, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 platform/chrome: add missing include in cros_ec_lpc driver

The newly added cros_ec_lpc driver is meant for x86 but can also be built on other architectures. However, the original version causes a compile error when built on ARM because of a missing #include:

drivers/platform/chrome/cros_ec_lpc.c: In function 'ec_response_timed_out':
drivers/platform/chrome/cros_ec_lpc.c:40:3: error: implicit declaration of function 'inb' [-Werror=implicit-function-declaration]
if (!(inb(EC_LPC_ADDR_HOST_CMD) & EC_LPC_STATUS_BUSY_MASK))
^

This includes linux/io.h to make it compile reliably.

Fixes ec2f33ab582bf ("platform/chrome: Add cros_ec_lpc driver for x86 devices")
Cc Bill Richardson <[email protected]>
Cc Javier Martinez Canillas <[email protected]>
Cc Gwendal Grignou <[email protected]>
Cc Olof Johansson <[email protected]>
drivers/platform/chrome/cros_ec_lpc.c +1 -0
index 822fdb36ded9..f00bf4d246a1 100644
@@ -23,6 +23,7 @@
 
 #include <linux/dmi.h>
 #include <linux/delay.h>
+#include <linux/io.h>
 #include <linux/mfd/cros_ec.h>
 #include <linux/mfd/cros_ec_commands.h>
 #include <linux/module.h>
#1 lore raw

Hello Arnd,

Quoted 25 lines · Arnd Bergmann

The newly added cros_ec_lpc driver is meant for x86 but can also be built on other architectures. However, the original version causes a compile error when built on ARM because of a missing #include:

drivers/platform/chrome/cros_ec_lpc.c: In function 'ec_response_timed_out':
drivers/platform/chrome/cros_ec_lpc.c:40:3: error: implicit declaration of function 'inb' [-Werror=implicit-function-declaration]
if (!(inb(EC_LPC_ADDR_HOST_CMD) & EC_LPC_STATUS_BUSY_MASK))
^

This includes linux/io.h to make it compile reliably.

Fixes ec2f33ab582bf ("platform/chrome: Add cros_ec_lpc driver for x86 devices")
Cc Bill Richardson <[email protected]>
Cc Javier Martinez Canillas <[email protected]>
Cc Gwendal Grignou <[email protected]>
Cc Olof Johansson <[email protected]>
drivers/platform/chrome/cros_ec_lpc.c +0 -0
index 822fdb36ded9..f00bf4d246a1 100644

drivers/platform/chrome/cros_ec_lpc.c line 29

Quoted 7 lines
drivers/platform/chrome/cros_ec_lpc.c +1 -0
@@ -23,6 +23,7 @@
 
 #include <linux/dmi.h>
 #include <linux/delay.h>
+#include <linux/io.h>
 #include <linux/mfd/cros_ec.h>
 #include <linux/mfd/cros_ec_commands.h>
 #include <linux/module.h>

I posted the exact same patch [0] on Friday along with other two fixes [1].

Besides this build error fix, in the series there is another patch to make the driver depends on X86 || COMPILE_TEST which I believe is the best trade off to avoid building it unnecesarily on ARM but still get build coverage.

Best regards,
Javier

[0]: https://lkml.org/lkml/2015/2/27/9
[1]: https://lkml.org/lkml/2015/2/27/10