[PATCH] pinctrl: zynq: Use define directive for PIN_CONFIG_IO_STANDARD
From: Michal Simek <hidden>
Date: 2018-11-08 06:46:08
Also in:
linux-gpio, lkml
On 07. 11. 18 18:48, Nick Desaulniers wrote:
On Wed, Nov 7, 2018 at 1:01 AM Michal Simek [off-list ref] wrote:quoted
On 07. 11. 18 9:55, Nathan Chancellor wrote:quoted
On Wed, Nov 07, 2018 at 09:46:12AM +0100, Michal Simek wrote:quoted
On 01. 11. 18 1:57, Nathan Chancellor wrote:quoted
Clang warns when one enumerated type is implicitly converted to another: drivers/pinctrl/pinctrl-zynq.c:985:18: warning: implicit conversion from enumeration type 'enum zynq_pin_config_param' to different enumeration type 'enum pin_config_param' [-Wenum-conversion] {"io-standard", PIN_CONFIG_IOSTANDARD, zynq_iostd_lvcmos18}, ~ ^~~~~~~~~~~~~~~~~~~~~ drivers/pinctrl/pinctrl-zynq.c:990:16: warning: implicit conversion from enumeration type 'enum zynq_pin_config_param' to different enumeration type 'enum pin_config_param' [-Wenum-conversion] = { PCONFDUMP(PIN_CONFIG_IOSTANDARD, "IO-standard", NULL, true), ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./include/linux/pinctrl/pinconf-generic.h:163:11: note: expanded from macro 'PCONFDUMP' .param = a, .display = b, .format = c, .has_arg = d \ ^ 2 warnings generated.This is interesting. I have never tried to use llvm for building the kernel. Do you have any description how this can be done?Depending on what version of Clang you have access to, it is usually just as simple as running 'make ARCH=arm CC=clang CROSS_COMPILE=arm-linux-gnueabi-'. Clang 7.0+ is recommended but 6.0 might work too.TBH I would expect to download container and run this there to make sure that I don't break anything else.This is the first request we've had for a container in order to test a patch. If it comes up again from other folks, I think it makes sense to create one. Until then, its nice to have. It's definitely overkill for this patch.
I have played with it to see that error and here are some steps I did. docker run --name test-clang -it --rm debian:latest bash apt-get update apt-get install gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu clang git bc build-essential bison flex make llvm vim libssl-dev sparse git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git --depth 1 cd linux export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- make defconfig make CC=clang drivers/pinctrl/pinctrl-zynq.o C=1 V=1 There was not a problem to run it for arm64 but I had issues to run this for arm32. Do you see any problem with above steps? Thanks, Michal