Thread (15 messages) 15 messages, 4 authors, 2018-11-19

[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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help