Re: ir test compile errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 21, 2018 at 09:52:32AM -0700, shuah wrote:
> Hi Sean,
> 
> I started to see compile errors on ir test. Could you please take a look and
> see if you can fix them.
> 
> 
> ir_loopback.c:32:16: error: field ‘proto’ has incomplete type
>   enum rc_proto proto;
>                 ^~~~~
> ir_loopback.c:37:4: error: ‘RC_PROTO_RC5’ undeclared here (not in a
> function)
>   { RC_PROTO_RC5, "rc-5", 0x1f7f, "rc-5" },
>     ^~~~~~~~~~~~
> ir_loopback.c:38:4: error: ‘RC_PROTO_RC5X_20’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_RC5’?
>   { RC_PROTO_RC5X_20, "rc-5x-20", 0x1f7f3f, "rc-5" },
>     ^~~~~~~~~~~~~~~~
>     RC_PROTO_RC5
> ir_loopback.c:39:4: error: ‘RC_PROTO_RC5_SZ’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_RC5X_20’?
>   { RC_PROTO_RC5_SZ, "rc-5-sz", 0x2fff, "rc-5-sz" },
>     ^~~~~~~~~~~~~~~
>     RC_PROTO_RC5X_20
> ir_loopback.c:40:4: error: ‘RC_PROTO_JVC’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_RC5’?
>   { RC_PROTO_JVC, "jvc", 0xffff, "jvc" },
>     ^~~~~~~~~~~~
>     RC_PROTO_RC5
> ir_loopback.c:41:4: error: ‘RC_PROTO_SONY12’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_JVC’?
>   { RC_PROTO_SONY12, "sony-12", 0x1f007f, "sony" },
>     ^~~~~~~~~~~~~~~
>     RC_PROTO_JVC
> ir_loopback.c:42:4: error: ‘RC_PROTO_SONY15’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_SONY12’?
>   { RC_PROTO_SONY15, "sony-15", 0xff007f, "sony" },
>     ^~~~~~~~~~~~~~~
>     RC_PROTO_SONY12
> ir_loopback.c:43:4: error: ‘RC_PROTO_SONY20’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_SONY15’?
>   { RC_PROTO_SONY20, "sony-20", 0x1fff7f, "sony" },
>     ^~~~~~~~~~~~~~~
>     RC_PROTO_SONY15
> ir_loopback.c:44:4: error: ‘RC_PROTO_NEC’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_JVC’?
>   { RC_PROTO_NEC, "nec", 0xffff, "nec" },
>     ^~~~~~~~~~~~
>     RC_PROTO_JVC
> ir_loopback.c:45:4: error: ‘RC_PROTO_NECX’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_NEC’?
>   { RC_PROTO_NECX, "nec-x", 0xffffff, "nec" },
>     ^~~~~~~~~~~~~
>     RC_PROTO_NEC
> ir_loopback.c:46:4: error: ‘RC_PROTO_NEC32’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_NECX’?
>   { RC_PROTO_NEC32, "nec-32", 0xffffffff, "nec" },
>     ^~~~~~~~~~~~~~
>     RC_PROTO_NECX
> ir_loopback.c:47:4: error: ‘RC_PROTO_SANYO’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_SONY20’?
>   { RC_PROTO_SANYO, "sanyo", 0x1fffff, "sanyo" },
>     ^~~~~~~~~~~~~~
>     RC_PROTO_SONY20
> ir_loopback.c:48:4: error: ‘RC_PROTO_RC6_0’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_RC5_SZ’?
>   { RC_PROTO_RC6_0, "rc-6-0", 0xffff, "rc-6" },
>     ^~~~~~~~~~~~~~
>     RC_PROTO_RC5_SZ
> ir_loopback.c:49:4: error: ‘RC_PROTO_RC6_6A_20’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_RC6_0’?
>   { RC_PROTO_RC6_6A_20, "rc-6-6a-20", 0xfffff, "rc-6" },
>     ^~~~~~~~~~~~~~~~~~
>     RC_PROTO_RC6_0
> ir_loopback.c:50:4: error: ‘RC_PROTO_RC6_6A_24’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_RC6_6A_20’?
>   { RC_PROTO_RC6_6A_24, "rc-6-6a-24", 0xffffff, "rc-6" },
>     ^~~~~~~~~~~~~~~~~~
>     RC_PROTO_RC6_6A_20
> ir_loopback.c:51:4: error: ‘RC_PROTO_RC6_6A_32’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_RC6_6A_24’?
>   { RC_PROTO_RC6_6A_32, "rc-6-6a-32", 0xffffffff, "rc-6" },
>     ^~~~~~~~~~~~~~~~~~
>     RC_PROTO_RC6_6A_24
> ir_loopback.c:52:4: error: ‘RC_PROTO_RC6_MCE’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_RC6_0’?
>   { RC_PROTO_RC6_MCE, "rc-6-mce", 0x00007fff, "rc-6" },
>     ^~~~~~~~~~~~~~~~
>     RC_PROTO_RC6_0
> ir_loopback.c:53:4: error: ‘RC_PROTO_SHARP’ undeclared here (not in a
> function); did you mean ‘RC_PROTO_SANYO’?
>   { RC_PROTO_SHARP, "sharp", 0x1fff, "sharp" },
>     ^~~~~~~~~~~~~~
>     RC_PROTO_SANYO
> ir_loopback.c: In function ‘main’:
> ir_loopback.c:101:9: error: ‘LIRC_MODE_SCANCODE’ undeclared (first use in
> this function); did you mean ‘LIRC_MODE_LIRCCODE’?
>   mode = LIRC_MODE_SCANCODE;
>          ^~~~~~~~~~~~~~~~~~
>          LIRC_MODE_LIRCCODE
> ir_loopback.c:101:9: note: each undeclared identifier is reported only once
> for each function it appears in
> 

This means that the linux/lirc.h that was included was older than v4.16,
so we should use the lirc.h from the tree, not the system.


Sean
---
>From 17b11718b270ebf70a146a3e1cb38260dcfeddbb Mon Sep 17 00:00:00 2001
From: Sean Young <sean@xxxxxxxx>
Date: Sat, 22 Dec 2018 11:24:11 +0000
Subject: [PATCH] Use lirc.h from kernel tree, not from system
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When the system lirc.h is older than v4.16, you will get errors like:

ir_loopback.c:32:16: error: field ‘proto’ has incomplete type
  enum rc_proto proto;

Signed-off-by: Sean Young <sean@xxxxxxxx>
---
 tools/testing/selftests/ir/Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/ir/Makefile b/tools/testing/selftests/ir/Makefile
index f4ba8eb84b95..ad06489c22a5 100644
--- a/tools/testing/selftests/ir/Makefile
+++ b/tools/testing/selftests/ir/Makefile
@@ -1,5 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 TEST_PROGS := ir_loopback.sh
 TEST_GEN_PROGS_EXTENDED := ir_loopback
+APIDIR := ../../../include/uapi
+CFLAGS += -Wall -O2 -I$(APIDIR)
 
 include ../lib.mk
-- 
2.19.2





[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux