CC: [email protected] CC: [email protected] TO: Mihail Chindris <[email protected]> CC: Jonathan Cameron <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0 commit: 8f2b54824b28ba8317c60947b5941d686e3df70d drivers:iio:dac: Add AD3552R driver support date: 6 weeks ago :::::: branch date: 21 hours ago :::::: commit date: 6 weeks ago config: nios2-randconfig-m031-20220124 (https://download.01.org/0day-ci/archive/20220124/[email protected]/config) compiler: nios2-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/iio/dac/ad3552r.c:688 ad3552r_reset() warn: impossible condition '(val < 0) => (0-u16max < 0)' Old smatch warnings: drivers/iio/dac/ad3552r.c:699 ad3552r_reset() warn: impossible condition '(val < 0) => (0-u16max < 0)' vim +688 drivers/iio/dac/ad3552r.c 8f2b54824b28ba Mihail Chindris 2021-12-13 654 8f2b54824b28ba Mihail Chindris 2021-12-13 655 static int ad3552r_reset(struct ad3552r_desc *dac) 8f2b54824b28ba Mihail Chindris 2021-12-13 656 { 8f2b54824b28ba Mihail Chindris 2021-12-13 657 struct reg_addr_pool addr; 8f2b54824b28ba Mihail Chindris 2021-12-13 658 int ret; 8f2b54824b28ba Mihail Chindris 2021-12-13 659 u16 val; 8f2b54824b28ba Mihail Chindris 2021-12-13 660 8f2b54824b28ba Mihail Chindris 2021-12-13 661 dac->gpio_reset = devm_gpiod_get_optional(&dac->spi->dev, "reset", 8f2b54824b28ba Mihail Chindris 2021-12-13 662 GPIOD_OUT_LOW); 8f2b54824b28ba Mihail Chindris 2021-12-13 663 if (IS_ERR(dac->gpio_reset)) 8f2b54824b28ba Mihail Chindris 2021-12-13 664 return dev_err_probe(&dac->spi->dev, PTR_ERR(dac->gpio_reset), 8f2b54824b28ba Mihail Chindris 2021-12-13 665 "Error while getting gpio reset"); 8f2b54824b28ba Mihail Chindris 2021-12-13 666 8f2b54824b28ba Mihail Chindris 2021-12-13 667 if (dac->gpio_reset) { 8f2b54824b28ba Mihail Chindris 2021-12-13 668 /* Perform hardware reset */ 8f2b54824b28ba Mihail Chindris 2021-12-13 669 usleep_range(10, 20); 8f2b54824b28ba Mihail Chindris 2021-12-13 670 gpiod_set_value_cansleep(dac->gpio_reset, 1); 8f2b54824b28ba Mihail Chindris 2021-12-13 671 } else { 8f2b54824b28ba Mihail Chindris 2021-12-13 672 /* Perform software reset if no GPIO provided */ 8f2b54824b28ba Mihail Chindris 2021-12-13 673 ret = ad3552r_update_reg_field(dac, 8f2b54824b28ba Mihail Chindris 2021-12-13 674 AD3552R_REG_ADDR_INTERFACE_CONFIG_A, 8f2b54824b28ba Mihail Chindris 2021-12-13 675 AD3552R_MASK_SOFTWARE_RESET, 8f2b54824b28ba Mihail Chindris 2021-12-13 676 AD3552R_MASK_SOFTWARE_RESET); 8f2b54824b28ba Mihail Chindris 2021-12-13 677 if (ret < 0) 8f2b54824b28ba Mihail Chindris 2021-12-13 678 return ret; 8f2b54824b28ba Mihail Chindris 2021-12-13 679 8f2b54824b28ba Mihail Chindris 2021-12-13 680 } 8f2b54824b28ba Mihail Chindris 2021-12-13 681 8f2b54824b28ba Mihail Chindris 2021-12-13 682 addr.dac = dac; 8f2b54824b28ba Mihail Chindris 2021-12-13 683 addr.addr = AD3552R_REG_ADDR_INTERFACE_CONFIG_B; 8f2b54824b28ba Mihail Chindris 2021-12-13 684 ret = readx_poll_timeout(ad3552r_read_reg_wrapper, &addr, val, 8f2b54824b28ba Mihail Chindris 2021-12-13 685 val == AD3552R_DEFAULT_CONFIG_B_VALUE || 8f2b54824b28ba Mihail Chindris 2021-12-13 686 val < 0, 8f2b54824b28ba Mihail Chindris 2021-12-13 687 5000, 50000); 8f2b54824b28ba Mihail Chindris 2021-12-13 @688 if (val < 0) 8f2b54824b28ba Mihail Chindris 2021-12-13 689 ret = val; 8f2b54824b28ba Mihail Chindris 2021-12-13 690 if (ret) { 8f2b54824b28ba Mihail Chindris 2021-12-13 691 dev_err(&dac->spi->dev, "Error while resetting"); 8f2b54824b28ba Mihail Chindris 2021-12-13 692 return ret; 8f2b54824b28ba Mihail Chindris 2021-12-13 693 } 8f2b54824b28ba Mihail Chindris 2021-12-13 694 8f2b54824b28ba Mihail Chindris 2021-12-13 695 ret = readx_poll_timeout(ad3552r_read_reg_wrapper, &addr, val, 8f2b54824b28ba Mihail Chindris 2021-12-13 696 !(val & AD3552R_MASK_INTERFACE_NOT_READY) || 8f2b54824b28ba Mihail Chindris 2021-12-13 697 val < 0, 8f2b54824b28ba Mihail Chindris 2021-12-13 698 5000, 50000); 8f2b54824b28ba Mihail Chindris 2021-12-13 699 if (val < 0) 8f2b54824b28ba Mihail Chindris 2021-12-13 700 ret = val; 8f2b54824b28ba Mihail Chindris 2021-12-13 701 if (ret) { 8f2b54824b28ba Mihail Chindris 2021-12-13 702 dev_err(&dac->spi->dev, "Error while resetting"); 8f2b54824b28ba Mihail Chindris 2021-12-13 703 return ret; 8f2b54824b28ba Mihail Chindris 2021-12-13 704 } 8f2b54824b28ba Mihail Chindris 2021-12-13 705 8f2b54824b28ba Mihail Chindris 2021-12-13 706 return ad3552r_update_reg_field(dac, 8f2b54824b28ba Mihail Chindris 2021-12-13 707 addr_mask_map[AD3552R_ADDR_ASCENSION][0], 8f2b54824b28ba Mihail Chindris 2021-12-13 708 addr_mask_map[AD3552R_ADDR_ASCENSION][1], 8f2b54824b28ba Mihail Chindris 2021-12-13 709 val); 8f2b54824b28ba Mihail Chindris 2021-12-13 710 } 8f2b54824b28ba Mihail Chindris 2021-12-13 711 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
