drivers/pinctrl/renesas/pinctrl-rzt2h.c:518 rzt2h_pinctrl_pinconf_get() warn: subtract is higher precedence than shift
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
BCC: [email protected] CC: [email protected] CC: [email protected] TO: Lad Prabhakar <[email protected]> CC: Geert Uytterhoeven <[email protected]> CC: Linus Walleij <[email protected]> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: a635d6748234582ea287c5ffeae28b9b23f91c7e commit: 494feecd60e876a4310cdda279d918e91f930091 pinctrl: renesas: rzt2h: Add pin configuration support date: 4 months ago :::::: branch date: 26 hours ago :::::: commit date: 4 months ago config: arm64-randconfig-r072-20260711 (https://download.01.org/0day-ci/archive/20260711/[email protected]/config) compiler: aarch64-linux-gcc (GCC) 8.5.0 smatch: v0.5.0-9185-gbcc58b9c If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Fixes: 494feecd60e8 ("pinctrl: renesas: rzt2h: Add pin configuration support") | Reported-by: kernel test robot <[email protected]> | Reported-by: Dan Carpenter <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ New smatch warnings: drivers/pinctrl/renesas/pinctrl-rzt2h.c:518 rzt2h_pinctrl_pinconf_get() warn: subtract is higher precedence than shift drivers/pinctrl/renesas/pinctrl-rzt2h.c:518 rzt2h_pinctrl_pinconf_get() warn: subtract is higher precedence than shift drivers/pinctrl/renesas/pinctrl-rzt2h.c:518 rzt2h_pinctrl_pinconf_get() warn: subtract is higher precedence than shift drivers/pinctrl/renesas/pinctrl-rzt2h.c:518 rzt2h_pinctrl_pinconf_get() warn: subtract is higher precedence than shift Old smatch warnings: drivers/pinctrl/renesas/pinctrl-rzt2h.c:551 rzt2h_pinctrl_pinconf_get() warn: subtract is higher precedence than shift drivers/pinctrl/renesas/pinctrl-rzt2h.c:551 rzt2h_pinctrl_pinconf_get() warn: subtract is higher precedence than shift drivers/pinctrl/renesas/pinctrl-rzt2h.c:551 rzt2h_pinctrl_pinconf_get() warn: subtract is higher precedence than shift drivers/pinctrl/renesas/pinctrl-rzt2h.c:551 rzt2h_pinctrl_pinconf_get() warn: subtract is higher precedence than shift vim +518 drivers/pinctrl/renesas/pinctrl-rzt2h.c 34d4d093077a5c Thierry Bultel 2025-08-08 489 494feecd60e876 Lad Prabhakar 2026-03-19 490 static int rzt2h_pinctrl_pinconf_get(struct pinctrl_dev *pctldev, 494feecd60e876 Lad Prabhakar 2026-03-19 491 unsigned int pin, 494feecd60e876 Lad Prabhakar 2026-03-19 492 unsigned long *config) 494feecd60e876 Lad Prabhakar 2026-03-19 493 { 494feecd60e876 Lad Prabhakar 2026-03-19 494 struct rzt2h_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctldev); 494feecd60e876 Lad Prabhakar 2026-03-19 495 u32 port, param = pinconf_to_config_param(*config); 494feecd60e876 Lad Prabhakar 2026-03-19 496 unsigned int arg; 494feecd60e876 Lad Prabhakar 2026-03-19 497 u8 port_pin; 494feecd60e876 Lad Prabhakar 2026-03-19 498 u64 drctl; 494feecd60e876 Lad Prabhakar 2026-03-19 499 int ret; 494feecd60e876 Lad Prabhakar 2026-03-19 500 494feecd60e876 Lad Prabhakar 2026-03-19 501 ret = rzt2h_validate_pin(pctrl, pin); 494feecd60e876 Lad Prabhakar 2026-03-19 502 if (ret) 494feecd60e876 Lad Prabhakar 2026-03-19 503 return ret; 494feecd60e876 Lad Prabhakar 2026-03-19 504 494feecd60e876 Lad Prabhakar 2026-03-19 505 port = RZT2H_PIN_ID_TO_PORT(pin); 494feecd60e876 Lad Prabhakar 2026-03-19 506 port_pin = RZT2H_PIN_ID_TO_PIN(pin); 494feecd60e876 Lad Prabhakar 2026-03-19 507 494feecd60e876 Lad Prabhakar 2026-03-19 508 switch (param) { 494feecd60e876 Lad Prabhakar 2026-03-19 509 case PIN_CONFIG_SLEW_RATE: 494feecd60e876 Lad Prabhakar 2026-03-19 510 drctl = rzt2h_pinctrl_readq(pctrl, port, DRCTL(port)); 494feecd60e876 Lad Prabhakar 2026-03-19 511 arg = field_get(DRCTL_SR_PIN_MASK(port_pin), drctl); 494feecd60e876 Lad Prabhakar 2026-03-19 512 break; 494feecd60e876 Lad Prabhakar 2026-03-19 513 494feecd60e876 Lad Prabhakar 2026-03-19 514 case PIN_CONFIG_BIAS_DISABLE: 494feecd60e876 Lad Prabhakar 2026-03-19 515 case PIN_CONFIG_BIAS_PULL_UP: 494feecd60e876 Lad Prabhakar 2026-03-19 516 case PIN_CONFIG_BIAS_PULL_DOWN: 494feecd60e876 Lad Prabhakar 2026-03-19 517 drctl = rzt2h_pinctrl_readq(pctrl, port, DRCTL(port)); 494feecd60e876 Lad Prabhakar 2026-03-19 @518 arg = field_get(DRCTL_PUD_PIN_MASK(port_pin), drctl); 494feecd60e876 Lad Prabhakar 2026-03-19 519 /* for PIN_CONFIG_BIAS_PULL_UP/DOWN when enabled we just return 1 */ 494feecd60e876 Lad Prabhakar 2026-03-19 520 switch (arg) { 494feecd60e876 Lad Prabhakar 2026-03-19 521 case DRCTL_PUD_NONE: 494feecd60e876 Lad Prabhakar 2026-03-19 522 if (param != PIN_CONFIG_BIAS_DISABLE) 494feecd60e876 Lad Prabhakar 2026-03-19 523 return -EINVAL; 494feecd60e876 Lad Prabhakar 2026-03-19 524 break; 494feecd60e876 Lad Prabhakar 2026-03-19 525 case DRCTL_PUD_PULL_UP: 494feecd60e876 Lad Prabhakar 2026-03-19 526 if (param != PIN_CONFIG_BIAS_PULL_UP) 494feecd60e876 Lad Prabhakar 2026-03-19 527 return -EINVAL; 494feecd60e876 Lad Prabhakar 2026-03-19 528 arg = 1; 494feecd60e876 Lad Prabhakar 2026-03-19 529 break; 494feecd60e876 Lad Prabhakar 2026-03-19 530 case DRCTL_PUD_PULL_DOWN: 494feecd60e876 Lad Prabhakar 2026-03-19 531 if (param != PIN_CONFIG_BIAS_PULL_DOWN) 494feecd60e876 Lad Prabhakar 2026-03-19 532 return -EINVAL; 494feecd60e876 Lad Prabhakar 2026-03-19 533 arg = 1; 494feecd60e876 Lad Prabhakar 2026-03-19 534 break; 494feecd60e876 Lad Prabhakar 2026-03-19 535 default: 494feecd60e876 Lad Prabhakar 2026-03-19 536 return -EINVAL; 494feecd60e876 Lad Prabhakar 2026-03-19 537 } 494feecd60e876 Lad Prabhakar 2026-03-19 538 break; 494feecd60e876 Lad Prabhakar 2026-03-19 539 494feecd60e876 Lad Prabhakar 2026-03-19 540 case PIN_CONFIG_INPUT_SCHMITT_ENABLE: 494feecd60e876 Lad Prabhakar 2026-03-19 541 drctl = rzt2h_pinctrl_readq(pctrl, port, DRCTL(port)); 494feecd60e876 Lad Prabhakar 2026-03-19 542 arg = field_get(DRCTL_SMT_PIN_MASK(port_pin), drctl); 494feecd60e876 Lad Prabhakar 2026-03-19 543 if (!arg) 494feecd60e876 Lad Prabhakar 2026-03-19 544 return -EINVAL; 494feecd60e876 Lad Prabhakar 2026-03-19 545 break; 494feecd60e876 Lad Prabhakar 2026-03-19 546 494feecd60e876 Lad Prabhakar 2026-03-19 547 case PIN_CONFIG_DRIVE_STRENGTH_UA: { 494feecd60e876 Lad Prabhakar 2026-03-19 548 int idx_drv; 494feecd60e876 Lad Prabhakar 2026-03-19 549 494feecd60e876 Lad Prabhakar 2026-03-19 550 drctl = rzt2h_pinctrl_readq(pctrl, port, DRCTL(port)); 494feecd60e876 Lad Prabhakar 2026-03-19 551 arg = field_get(DRCTL_DRV_PIN_MASK(port_pin), drctl); 494feecd60e876 Lad Prabhakar 2026-03-19 552 idx_drv = rzt2h_drive_strength_idx_to_ua(arg); 494feecd60e876 Lad Prabhakar 2026-03-19 553 if (idx_drv < 0) 494feecd60e876 Lad Prabhakar 2026-03-19 554 return idx_drv; 494feecd60e876 Lad Prabhakar 2026-03-19 555 arg = idx_drv; 494feecd60e876 Lad Prabhakar 2026-03-19 556 break; 494feecd60e876 Lad Prabhakar 2026-03-19 557 } 494feecd60e876 Lad Prabhakar 2026-03-19 558 494feecd60e876 Lad Prabhakar 2026-03-19 559 default: 494feecd60e876 Lad Prabhakar 2026-03-19 560 return -ENOTSUPP; 494feecd60e876 Lad Prabhakar 2026-03-19 561 } 494feecd60e876 Lad Prabhakar 2026-03-19 562 494feecd60e876 Lad Prabhakar 2026-03-19 563 *config = pinconf_to_config_packed(param, arg); 494feecd60e876 Lad Prabhakar 2026-03-19 564 return 0; 494feecd60e876 Lad Prabhakar 2026-03-19 565 } 494feecd60e876 Lad Prabhakar 2026-03-19 566 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki