/* * Copyright (C) 2015 Renesas Electronics Corp. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */ #ifndef __DT_BINDINGS_CLOCK_R8A7795_CPG_MSSR_H__ #define __DT_BINDINGS_CLOCK_R8A7795_CPG_MSSR_H__ #include /* r8a7795 CPG Core Clocks */ #define R8A7795_CLK_Z 0 #define R8A7795_CLK_Z2 1 #define R8A7795_CLK_ZR 2 #define R8A7795_CLK_ZG 3 #define R8A7795_CLK_ZTR 4 #define R8A7795_CLK_ZTRD2 5 #define R8A7795_CLK_ZT 6 #define R8A7795_CLK_ZX 7 #define R8A7795_CLK_S0D1 8 #define R8A7795_CLK_S0D4 9 #define R8A7795_CLK_S1D1 10 #define R8A7795_CLK_S1D2 11 #define R8A7795_CLK_S1D4 12 #define R8A7795_CLK_S2D1 13 #define R8A7795_CLK_S2D2 14 #define R8A7795_CLK_S2D4 15 #define R8A7795_CLK_S3D1 16 #define R8A7795_CLK_S3D2 17 #define R8A7795_CLK_S3D4 18 #define R8A7795_CLK_LB 19 #define R8A7795_CLK_CL 20 #define R8A7795_CLK_ZB3 21 #define R8A7795_CLK_ZB3D2 22 #define R8A7795_CLK_CR 23 #define R8A7795_CLK_CRD2 24 #define R8A7795_CLK_SD0H 25 #define R8A7795_CLK_SD0 26 #define R8A7795_CLK_SD1H 27 #define R8A7795_CLK_SD1 28 #define R8A7795_CLK_SD2H 29 #define R8A7795_CLK_SD2 30 #define R8A7795_CLK_SD3H 31 #define R8A7795_CLK_SD3 32 #define R8A7795_CLK_SSP2 33 #define R8A7795_CLK_SSP1 34 #define R8A7795_CLK_SSPRS 35 #define R8A7795_CLK_RPC 36 #define R8A7795_CLK_RPCD2 37 #define R8A7795_CLK_MSO 38 #define R8A7795_CLK_CANFD 39 #define R8A7795_CLK_HDMI 40 #define R8A7795_CLK_CSI0 41 #define R8A7795_CLK_CSIREF 42 #define R8A7795_CLK_CP 43 #define R8A7795_CLK_CPEX 44 #define R8A7795_CLK_R 45 #define R8A7795_CLK_OSC 46 #endif /* __DT_BINDINGS_CLOCK_R8A7795_CPG_MSSR_H__ */ 52fad0854351f57bab867647e4982285bf'>commitdiff
path: root/include
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2017-02-02 18:05:26 +0000
committerLinus Torvalds <torvalds@linux-foundation.org>2017-02-03 09:56:43 -0800
commit29905b52fad0854351f57bab867647e4982285bf (patch)
tree1c7f135300aa0c3f5b24894f183322a1b16de2b4 /include
parent34e00accf612bc5448ae709245c2b408edf39f46 (diff)
log2: make order_base_2() behave correctly on const input value zero
The function order_base_2() is defined (according to the comment block) as returning zero on input zero, but subsequently passes the input into roundup_pow_of_two(), which is explicitly undefined for input zero. This has gone unnoticed until now, but optimization passes in GCC 7 may produce constant folded function instances where a constant value of zero is passed into order_base_2(), resulting in link errors against the deliberately undefined '____ilog2_NaN'. So update order_base_2() to adhere to its own documented interface. [ See http://marc.info/?l=linux-kernel&m=147672952517795&w=2 and follow-up discussion for more background. The gcc "optimization pass" is really just broken, but now the GCC trunk problem seems to have escaped out of just specially built daily images, so we need to work around it in mainline. - Linus ] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/log2.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/log2.h b/include/linux/log2.h