tree: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel head: 3ac31931d24619b8a39113fa1e62479fdfb62663 commit: 88dff68c0102a70ea56468e55cd551f9bb0d66c2 [1/7] pinctrl: aspeed-g4: Capture SuperIO pinmux dependency config: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 88dff68c0102a70ea56468e55cd551f9bb0d66c2 # save the attached .config to linux build tree make.cross ARCH=arm All error/warnings (new ones prefixed by >>): In file included from /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:25:0: >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed.h:260:18: error: implicit declaration of function 'SIG_DESC_TO_REG' [-Werror=implicit-function-declaration] #define SIORD30 SIG_DESC_TO_REG(ASPEED_IP_SIO, 0x30) ^ /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed.h:340:5: note: in definition of macro 'SIG_DESC_LIST_DECL' { __VA_ARGS__ } ^~~~~~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:1: note: in expansion of macro 'SIG_EXPR_LIST_DECL_SINGLE' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~~~~~~~~~~~~~~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:51: note: in expansion of macro 'SIG_DESC_BIT' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:64: note: in expansion of macro 'SIORD30' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed.h:260:34: error: 'ASPEED_IP_SIO' undeclared here (not in a function) #define SIORD30 SIG_DESC_TO_REG(ASPEED_IP_SIO, 0x30) ^ /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed.h:340:5: note: in definition of macro 'SIG_DESC_LIST_DECL' { __VA_ARGS__ } ^~~~~~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:1: note: in expansion of macro 'SIG_EXPR_LIST_DECL_SINGLE' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~~~~~~~~~~~~~~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:51: note: in expansion of macro 'SIG_DESC_BIT' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:64: note: in expansion of macro 'SIORD30' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed.h:260:18: error: initializer element is not constant #define SIORD30 SIG_DESC_TO_REG(ASPEED_IP_SIO, 0x30) ^ /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed.h:340:5: note: in definition of macro 'SIG_DESC_LIST_DECL' { __VA_ARGS__ } ^~~~~~~~~~~ /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:1: note: in expansion of macro 'SIG_EXPR_LIST_DECL_SINGLE' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~~~~~~~~~~~~~~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed.h:335:32: note: in expansion of macro 'SIG_DESC_BIT' #define SIG_DESC_SET(reg, idx) SIG_DESC_BIT(reg, idx, 1) ^~~~~~~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:53: note: in expansion of macro 'SIG_DESC_SET' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~~~~~~ /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:66: note: in expansion of macro 'SIORD30' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~ /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed.h:260:18: note: (near initialization for 'sig_descs_LPCSMI_LPCSMI[1].reg') #define SIORD30 SIG_DESC_TO_REG(ASPEED_IP_SIO, 0x30) ^ /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed.h:340:5: note: in definition of macro 'SIG_DESC_LIST_DECL' { __VA_ARGS__ } ^~~~~~~~~~~ /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:1: note: in expansion of macro 'SIG_EXPR_LIST_DECL_SINGLE' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~~~~~~~~~~~~~~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed.h:335:32: note: in expansion of macro 'SIG_DESC_BIT' #define SIG_DESC_SET(reg, idx) SIG_DESC_BIT(reg, idx, 1) ^~~~~~~~~~~~ >> /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:53: note: in expansion of macro 'SIG_DESC_SET' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~~~~~~ /kbuild/src/leisure/drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:66: note: in expansion of macro 'SIORD30' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~ cc1: some warnings being treated as errors -- In file included from drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:25:0: >> drivers/pinctrl/aspeed/pinctrl-aspeed.h:260:18: error: implicit declaration of function 'SIG_DESC_TO_REG' [-Werror=implicit-function-declaration] #define SIORD30 SIG_DESC_TO_REG(ASPEED_IP_SIO, 0x30) ^ drivers/pinctrl/aspeed/pinctrl-aspeed.h:340:5: note: in definition of macro 'SIG_DESC_LIST_DECL' { __VA_ARGS__ } ^~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:1: note: in expansion of macro 'SIG_EXPR_LIST_DECL_SINGLE' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:51: note: in expansion of macro 'SIG_DESC_BIT' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:64: note: in expansion of macro 'SIORD30' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed.h:260:34: error: 'ASPEED_IP_SIO' undeclared here (not in a function) #define SIORD30 SIG_DESC_TO_REG(ASPEED_IP_SIO, 0x30) ^ drivers/pinctrl/aspeed/pinctrl-aspeed.h:340:5: note: in definition of macro 'SIG_DESC_LIST_DECL' { __VA_ARGS__ } ^~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:1: note: in expansion of macro 'SIG_EXPR_LIST_DECL_SINGLE' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:51: note: in expansion of macro 'SIG_DESC_BIT' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:85:64: note: in expansion of macro 'SIORD30' SIG_EXPR_LIST_DECL_SINGLE(LPCPD, LPCPD, H19_DESC, SIG_DESC_BIT(SIORD30, 1, 0)); ^~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed.h:260:18: error: initializer element is not constant #define SIORD30 SIG_DESC_TO_REG(ASPEED_IP_SIO, 0x30) ^ drivers/pinctrl/aspeed/pinctrl-aspeed.h:340:5: note: in definition of macro 'SIG_DESC_LIST_DECL' { __VA_ARGS__ } ^~~~~~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:1: note: in expansion of macro 'SIG_EXPR_LIST_DECL_SINGLE' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed.h:335:32: note: in expansion of macro 'SIG_DESC_BIT' #define SIG_DESC_SET(reg, idx) SIG_DESC_BIT(reg, idx, 1) ^~~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:53: note: in expansion of macro 'SIG_DESC_SET' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:66: note: in expansion of macro 'SIORD30' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed.h:260:18: note: (near initialization for 'sig_descs_LPCSMI_LPCSMI[1].reg') #define SIORD30 SIG_DESC_TO_REG(ASPEED_IP_SIO, 0x30) ^ drivers/pinctrl/aspeed/pinctrl-aspeed.h:340:5: note: in definition of macro 'SIG_DESC_LIST_DECL' { __VA_ARGS__ } ^~~~~~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:1: note: in expansion of macro 'SIG_EXPR_LIST_DECL_SINGLE' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed.h:335:32: note: in expansion of macro 'SIG_DESC_BIT' #define SIG_DESC_SET(reg, idx) SIG_DESC_BIT(reg, idx, 1) ^~~~~~~~~~~~ >> drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:53: note: in expansion of macro 'SIG_DESC_SET' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~~~~~~ drivers/pinctrl/aspeed/pinctrl-aspeed-g4.c:86:66: note: in expansion of macro 'SIORD30' SIG_EXPR_LIST_DECL_SINGLE(LPCSMI, LPCSMI, H19_DESC, SIG_DESC_SET(SIORD30, 1)); ^~~~~~~ cc1: some warnings being treated as errors vim +/SIG_DESC_TO_REG +260 drivers/pinctrl/aspeed/pinctrl-aspeed.h 254 #define SCU94 0x94 /* Multi-function Pin Control #6 */ 255 #define SCUA0 0xA0 /* Multi-function Pin Control #7 */ 256 #define SCUA4 0xA4 /* Multi-function Pin Control #8 */ 257 #define SCUA8 0xA8 /* Multi-function Pin Control #9 */ 258 #define HW_STRAP2 0xD0 /* Strapping */ 259 > 260 #define SIORD30 SIG_DESC_TO_REG(ASPEED_IP_SIO, 0x30) 261 262 /** 263 * A signal descriptor, which describes the register, bits and the 264 * enable/disable values that should be compared or written. 265 * 266 * @reg: The register offset from base in bytes 267 * @mask: The mask to apply to the register. The lowest set bit of the mask is 268 * used to derive the shift value. 269 * @enable: The value that enables the function. Value should be in the LSBs, 270 * not at the position of the mask. 271 * @disable: The value that disables the function. Value should be in the 272 * LSBs, not at the position of the mask. 273 */ 274 struct aspeed_sig_desc { 275 unsigned int reg; 276 u32 mask; 277 u32 enable; 278 u32 disable; 279 }; 280 281 /** 282 * Describes a signal expression. The expression is evaluated by ANDing the 283 * evaluation of the descriptors. 284 * 285 * @signal: The signal name for the priority level on the pin. If the signal 286 * type is GPIO, then the signal name must begin with the string 287 * "GPIO", e.g. GPIOA0, GPIOT4 etc. 288 * @function: The name of the function the signal participates in for the 289 * associated expression 290 * @ndescs: The number of signal descriptors in the expression 291 * @descs: Pointer to an array of signal descriptors that comprise the 292 * function expression 293 */ 294 struct aspeed_sig_expr { 295 const char *signal; 296 const char *function; 297 int ndescs; 298 const struct aspeed_sig_desc *descs; 299 }; 300 301 /** 302 * A struct capturing the list of expressions enabling signals at each priority 303 * for a given pin. The signal configuration for a priority level is evaluated 304 * by ORing the evaluation of the signal expressions in the respective 305 * priority's list. 306 * 307 * @name: A name for the pin 308 * @prios: A pointer to an array of expression list pointers 309 * 310 */ 311 struct aspeed_pin_desc { 312 const char *name; 313 const struct aspeed_sig_expr ***prios; 314 }; 315 316 /* Macro hell */ 317 318 /** 319 * Short-hand macro for describing a configuration enabled by the state of one 320 * bit. The disable value is derived. 321 * 322 * @reg: The signal's associated register, offset from base 323 * @idx: The signal's bit index in the register 324 * @val: The value (0 or 1) that enables the function 325 */ 326 #define SIG_DESC_BIT(reg, idx, val) \ 327 { reg, BIT_MASK(idx), val, (((val) + 1) & 1) } 328 329 /** 330 * A further short-hand macro describing a configuration enabled with a set bit. 331 * 332 * @reg: The configuration's associated register, offset from base 333 * @idx: The configuration's bit index in the register 334 */ > 335 #define SIG_DESC_SET(reg, idx) SIG_DESC_BIT(reg, idx, 1) 336 337 #define SIG_DESC_LIST_SYM(sig, func) sig_descs_ ## sig ## _ ## func 338 #define SIG_DESC_LIST_DECL(sig, func, ...) \ --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip