Hi Stephen, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on bcf876870b95592b52519ed4aafcf9d95999bc9c] url: https://github.com/0day-ci/linux/commits/Stephen-Kitt/hwmon-pmbus-use-simple-i2c-probe-function/20200809-025818 base: bcf876870b95592b52519ed4aafcf9d95999bc9c config: x86_64-randconfig-a006-20200809 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 0b90a08f7722980f6074c6eada8022242408cdb4) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install x86_64 cross compiling tool for clang build # apt-get install binutils-x86-64-linux-gnu # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> drivers/hwmon/pmbus/ltc2978.c:678:5: warning: format specifies type 'int' but the argument has type 'kernel_ulong_t' (aka 'unsigned long') [-Wformat] id->driver_data, ^~~~~~~~~~~~~~~ include/linux/dev_printk.h:106:33: note: expanded from macro 'dev_warn' _dev_warn(dev, dev_fmt(fmt), ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ 1 warning generated. vim +678 drivers/hwmon/pmbus/ltc2978.c 651 652 static int ltc2978_probe(struct i2c_client *client) 653 { 654 int i, chip_id; 655 struct ltc2978_data *data; 656 struct pmbus_driver_info *info; 657 const struct i2c_device_id *id; 658 659 if (!i2c_check_functionality(client->adapter, 660 I2C_FUNC_SMBUS_READ_WORD_DATA)) 661 return -ENODEV; 662 663 data = devm_kzalloc(&client->dev, sizeof(struct ltc2978_data), 664 GFP_KERNEL); 665 if (!data) 666 return -ENOMEM; 667 668 chip_id = ltc2978_get_id(client); 669 if (chip_id < 0) 670 return chip_id; 671 672 data->id = chip_id; 673 id = i2c_match_id(ltc2978_id, client); 674 if (data->id != id->driver_data) 675 dev_warn(&client->dev, 676 "Device mismatch: Configured %s (%d), detected %d\n", 677 id->name, > 678 id->driver_data, 679 chip_id); 680 681 info = &data->info; 682 info->write_word_data = ltc2978_write_word_data; 683 info->write_byte = ltc_write_byte; 684 info->read_word_data = ltc_read_word_data; 685 info->read_byte_data = ltc_read_byte_data; 686 687 data->vin_min = 0x7bff; 688 data->vin_max = 0x7c00; 689 for (i = 0; i < ARRAY_SIZE(data->vout_min); i++) 690 data->vout_min[i] = 0xffff; 691 for (i = 0; i < ARRAY_SIZE(data->iout_min); i++) 692 data->iout_min[i] = 0xfbff; 693 for (i = 0; i < ARRAY_SIZE(data->iout_max); i++) 694 data->iout_max[i] = 0x7c00; 695 for (i = 0; i < ARRAY_SIZE(data->temp_min); i++) 696 data->temp_min[i] = 0x7bff; 697 for (i = 0; i < ARRAY_SIZE(data->temp_max); i++) 698 data->temp_max[i] = 0x7c00; 699 data->temp2_max = 0x7c00; 700 701 switch (data->id) { 702 case ltc2972: 703 info->read_word_data = ltc2975_read_word_data; 704 info->pages = LTC2972_NUM_PAGES; 705 info->func[0] = PMBUS_HAVE_IIN | PMBUS_HAVE_PIN 706 | PMBUS_HAVE_VIN | PMBUS_HAVE_STATUS_INPUT 707 | PMBUS_HAVE_TEMP2; 708 for (i = 0; i < info->pages; i++) { 709 info->func[i] |= PMBUS_HAVE_VOUT 710 | PMBUS_HAVE_STATUS_VOUT | PMBUS_HAVE_POUT 711 | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP 712 | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT; 713 } 714 break; 715 case ltc2974: 716 info->read_word_data = ltc2974_read_word_data; 717 info->pages = LTC2974_NUM_PAGES; 718 info->func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_STATUS_INPUT 719 | PMBUS_HAVE_TEMP2; 720 for (i = 0; i < info->pages; i++) { 721 info->func[i] |= PMBUS_HAVE_VOUT 722 | PMBUS_HAVE_STATUS_VOUT | PMBUS_HAVE_POUT 723 | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP 724 | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT; 725 } 726 break; 727 case ltc2975: 728 info->read_word_data = ltc2975_read_word_data; 729 info->pages = LTC2974_NUM_PAGES; 730 info->func[0] = PMBUS_HAVE_IIN | PMBUS_HAVE_PIN 731 | PMBUS_HAVE_VIN | PMBUS_HAVE_STATUS_INPUT 732 | PMBUS_HAVE_TEMP2; 733 for (i = 0; i < info->pages; i++) { 734 info->func[i] |= PMBUS_HAVE_VOUT 735 | PMBUS_HAVE_STATUS_VOUT | PMBUS_HAVE_POUT 736 | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP 737 | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT; 738 } 739 break; 740 741 case ltc2977: 742 case ltc2978: 743 case ltc2979: 744 case ltc2980: 745 case ltm2987: 746 info->read_word_data = ltc2978_read_word_data; 747 info->pages = LTC2978_NUM_PAGES; 748 info->func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_STATUS_INPUT 749 | PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT 750 | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; 751 for (i = 1; i < LTC2978_NUM_PAGES; i++) { 752 info->func[i] = PMBUS_HAVE_VOUT 753 | PMBUS_HAVE_STATUS_VOUT; 754 } 755 break; 756 case ltc3880: 757 case ltc3887: 758 case ltm4675: 759 case ltm4676: 760 case ltm4677: 761 case ltm4686: 762 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING; 763 info->read_word_data = ltc3880_read_word_data; 764 info->pages = LTC3880_NUM_PAGES; 765 info->func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_IIN 766 | PMBUS_HAVE_STATUS_INPUT 767 | PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT 768 | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT 769 | PMBUS_HAVE_POUT | PMBUS_HAVE_TEMP 770 | PMBUS_HAVE_TEMP2 | PMBUS_HAVE_STATUS_TEMP; 771 info->func[1] = PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT 772 | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT 773 | PMBUS_HAVE_POUT 774 | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; 775 break; 776 case ltc3882: 777 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING; 778 info->read_word_data = ltc3880_read_word_data; 779 info->pages = LTC3880_NUM_PAGES; 780 info->func[0] = PMBUS_HAVE_VIN 781 | PMBUS_HAVE_STATUS_INPUT 782 | PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT 783 | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT 784 | PMBUS_HAVE_POUT | PMBUS_HAVE_TEMP 785 | PMBUS_HAVE_TEMP2 | PMBUS_HAVE_STATUS_TEMP; 786 info->func[1] = PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT 787 | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT 788 | PMBUS_HAVE_POUT 789 | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; 790 break; 791 case ltc3883: 792 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING; 793 info->read_word_data = ltc3883_read_word_data; 794 info->pages = LTC3883_NUM_PAGES; 795 info->func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_IIN 796 | PMBUS_HAVE_STATUS_INPUT 797 | PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT 798 | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT 799 | PMBUS_HAVE_PIN | PMBUS_HAVE_POUT | PMBUS_HAVE_TEMP 800 | PMBUS_HAVE_TEMP2 | PMBUS_HAVE_STATUS_TEMP; 801 break; 802 case ltc3884: 803 case ltc3886: 804 case ltc3889: 805 case ltc7880: 806 case ltm4664: 807 case ltm4678: 808 case ltm4680: 809 case ltm4700: 810 data->features |= FEAT_CLEAR_PEAKS | FEAT_NEEDS_POLLING; 811 info->read_word_data = ltc3883_read_word_data; 812 info->pages = LTC3880_NUM_PAGES; 813 info->func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_IIN 814 | PMBUS_HAVE_STATUS_INPUT 815 | PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT 816 | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT 817 | PMBUS_HAVE_PIN | PMBUS_HAVE_POUT | PMBUS_HAVE_TEMP 818 | PMBUS_HAVE_TEMP2 | PMBUS_HAVE_STATUS_TEMP; 819 info->func[1] = PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT 820 | PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT 821 | PMBUS_HAVE_POUT 822 | PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP; 823 break; 824 default: 825 return -ENODEV; 826 } 827 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip