gpiolib: Disable compat ->read() code in UML case
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 5 Oct 2020 13:10:44 +0000 (16:10 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 7 Oct 2020 09:42:03 +0000 (11:42 +0200)
It appears that UML (arch/um) has no compat.h header defined and hence
can't compile a recently provided piece of code in GPIO library.

Disable compat ->read() code in UML case to avoid compilation errors.

While at it, use pattern which is already being used in the kernel elsewhere.

Fixes: 5ad284ab3a01 ("gpiolib: Fix line event handling in syscall compatible mode")
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20201005131044.87276-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib-cdev.c

index 76c36b05aef6aff1d1047e69076d545f54ee0583..fed5a3b2172fea3b42e02eb145f18411ed5e7bf9 100644 (file)
@@ -425,7 +425,7 @@ static __poll_t lineevent_poll(struct file *file,
 
 static ssize_t lineevent_get_size(void)
 {
-#ifdef __x86_64__
+#if defined(CONFIG_X86_64) && !defined(CONFIG_UML)
        /* i386 has no padding after 'id' */
        if (in_ia32_syscall()) {
                struct compat_gpioeevent_data {