Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5.4.x] PROPERTY_ENTRY_U8_ARRAY_LEN #3

Open
RobertCNelson opened this issue Jun 23, 2020 · 2 comments
Open

[5.4.x] PROPERTY_ENTRY_U8_ARRAY_LEN #3

RobertCNelson opened this issue Jun 23, 2020 · 2 comments

Comments

@RobertCNelson
Copy link
Contributor

I'm cross building against our kernel, https://github.com/rcn-ee/mikrobus/blob/master/build.sh

Using: CROSS_COMPILE=/home/voodoo/dl/gcc/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

make -C /opt/github/bb.org/5.4/mikrobus/src/../../normal/KERNEL M=/opt/github/bb.org/5.4/mikrobus/src/src modules
make[1]: Entering directory '/opt/github/bb.org/5.4/normal/KERNEL'
  CC [M]  /opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_core.o
  CC [M]  /opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.o
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c: In function ‘mikrobus_property_entry_get’:
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:216:33: error: implicit declaration of function ‘PROPERTY_ENTRY_U8_ARRAY_LEN’; did you mean ‘PROPERTY_ENTRY_U8_ARRAY’? [-Werror=implicit-function-declaration]
                 properties[i] = PROPERTY_ENTRY_U8_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                                 PROPERTY_ENTRY_U8_ARRAY
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:216:31: error: incompatible types when assigning to type ‘struct property_entry’ from type ‘int’
                 properties[i] = PROPERTY_ENTRY_U8_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                               ^
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:223:33: error: implicit declaration of function ‘PROPERTY_ENTRY_U16_ARRAY_LEN’; did you mean ‘PROPERTY_ENTRY_U16_ARRAY’? [-Werror=implicit-function-declaration]
                 properties[i] = PROPERTY_ENTRY_U16_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                 PROPERTY_ENTRY_U16_ARRAY
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:223:31: error: incompatible types when assigning to type ‘struct property_entry’ from type ‘int’
                 properties[i] = PROPERTY_ENTRY_U16_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                               ^
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:230:33: error: implicit declaration of function ‘PROPERTY_ENTRY_U32_ARRAY_LEN’; did you mean ‘PROPERTY_ENTRY_U32_ARRAY’? [-Werror=implicit-function-declaration]
                 properties[i] = PROPERTY_ENTRY_U32_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                 PROPERTY_ENTRY_U32_ARRAY
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:230:31: error: incompatible types when assigning to type ‘struct property_entry’ from type ‘int’
                 properties[i] = PROPERTY_ENTRY_U32_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                               ^
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:237:33: error: implicit declaration of function ‘PROPERTY_ENTRY_U64_ARRAY_LEN’; did you mean ‘PROPERTY_ENTRY_U64_ARRAY’? [-Werror=implicit-function-declaration]
                 properties[i] = PROPERTY_ENTRY_U64_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                 PROPERTY_ENTRY_U64_ARRAY
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:237:31: error: incompatible types when assigning to type ‘struct property_entry’ from type ‘int’
                 properties[i] = PROPERTY_ENTRY_U64_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                               ^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:266: /opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.o] Error 1
make[1]: *** [Makefile:1705: /opt/github/bb.org/5.4/mikrobus/src/src] Error 2
make[1]: Leaving directory '/opt/github/bb.org/5.4/normal/KERNEL'
make: *** [Makefile:7: all] Error 2
make ARCH=arm CROSS_COMPILE=/home/voodoo/dl/gcc/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf- KDIR=/opt/github/bb.org/5.4/mikrobus/src/../../normal/KERNEL all
make -C /opt/github/bb.org/5.4/mikrobus/src/../../normal/KERNEL M=/opt/github/bb.org/5.4/mikrobus/src/src modules
make[1]: Entering directory '/opt/github/bb.org/5.4/normal/KERNEL'
  CC [M]  /opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.o
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c: In function ‘mikrobus_property_entry_get’:
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:216:33: error: implicit declaration of function ‘PROPERTY_ENTRY_U8_ARRAY_LEN’; did you mean ‘PROPERTY_ENTRY_U8_ARRAY’? [-Werror=implicit-function-declaration]
                 properties[i] = PROPERTY_ENTRY_U8_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                                 PROPERTY_ENTRY_U8_ARRAY
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:216:31: error: incompatible types when assigning to type ‘struct property_entry’ from type ‘int’
                 properties[i] = PROPERTY_ENTRY_U8_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                               ^
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:223:33: error: implicit declaration of function ‘PROPERTY_ENTRY_U16_ARRAY_LEN’; did you mean ‘PROPERTY_ENTRY_U16_ARRAY’? [-Werror=implicit-function-declaration]
                 properties[i] = PROPERTY_ENTRY_U16_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                 PROPERTY_ENTRY_U16_ARRAY
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:223:31: error: incompatible types when assigning to type ‘struct property_entry’ from type ‘int’
                 properties[i] = PROPERTY_ENTRY_U16_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                               ^
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:230:33: error: implicit declaration of function ‘PROPERTY_ENTRY_U32_ARRAY_LEN’; did you mean ‘PROPERTY_ENTRY_U32_ARRAY’? [-Werror=implicit-function-declaration]
                 properties[i] = PROPERTY_ENTRY_U32_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                 PROPERTY_ENTRY_U32_ARRAY
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:230:31: error: incompatible types when assigning to type ‘struct property_entry’ from type ‘int’
                 properties[i] = PROPERTY_ENTRY_U32_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                               ^
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:237:33: error: implicit declaration of function ‘PROPERTY_ENTRY_U64_ARRAY_LEN’; did you mean ‘PROPERTY_ENTRY_U64_ARRAY’? [-Werror=implicit-function-declaration]
                 properties[i] = PROPERTY_ENTRY_U64_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                 PROPERTY_ENTRY_U64_ARRAY
/opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.c:237:31: error: incompatible types when assigning to type ‘struct property_entry’ from type ‘int’
                 properties[i] = PROPERTY_ENTRY_U64_ARRAY_LEN(prop_name, (void*)desc_property->value, desc_property->length);
                               ^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:266: /opt/github/bb.org/5.4/mikrobus/src/src/mikrobus_manifest.o] Error 1
make[1]: *** [Makefile:1705: /opt/github/bb.org/5.4/mikrobus/src/src] Error 2
make[1]: Leaving directory '/opt/github/bb.org/5.4/normal/KERNEL'
make: *** [Makefile:7: all] Error 2
@vaishnavachath
Copy link
Owner

Hi @RobertCNelson ,
The PROPERTY_ENTRY_ARRAY_LEN seems to have been included from 5.5 only https://elixir.bootlin.com/linux/v5.5/source/include/linux/property.h#L276 , I have been trying out mainly on :
Linux beaglebone 5.7.0-rc5-bone4 #1buster PREEMPT Mon May 11 16:23:42 UTC 2020 armv7l GNU/Linux
That is why these issues were not seen, I think it will be easy to convert the PROPERTY_ENTRY
ARRAY_LEN calls to PROPERTY_ENTRY*_ARRAY calls easily, will fix that

@RobertCNelson
Copy link
Contributor Author

@Vaishnav98 don't worry about this.. This module is tied to a lot of kernel functions (v5.8-rc2 also fails).. I'm just going to create an image with 5.7.x for testing purposes, as that ones builds. ;) Will worry about back-porting things to older kernel's later..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants