Hi Ibrahim, I love your patch! Yet something to improve: [auto build test ERROR on abelloni/rtc-next] [also build test ERROR on linus/master v6.1-rc3 next-20221101] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Ibrahim-Tilki/drivers-rtc-add-max313xx-series-rtc-driver/20221026-211354 base: https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next patch link: https://lore.kernel.org/r/20221026131124.289-2-Ibrahim.Tilki%40analog.com patch subject: [PATCH v2 1/2] drivers: rtc: add max313xx series rtc driver config: arc-randconfig-p002-20221031 compiler: arceb-elf-gcc (GCC) 12.1.0 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 # https://github.com/intel-lab-lkp/linux/commit/c1a7008298cd59100af5149baf99e53245d6be0f git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Ibrahim-Tilki/drivers-rtc-add-max313xx-series-rtc-driver/20221026-211354 git checkout c1a7008298cd59100af5149baf99e53245d6be0f # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): arceb-elf-ld: drivers/rtc/rtc-max313xx.o: in function `max313xx_probe': >> drivers/rtc/rtc-max313xx.c:1018: undefined reference to `devm_hwmon_device_register_with_info' >> arceb-elf-ld: drivers/rtc/rtc-max313xx.c:1018: undefined reference to `devm_hwmon_device_register_with_info' vim +1018 drivers/rtc/rtc-max313xx.c 930 931 static int max313xx_probe(struct i2c_client *client, 932 const struct i2c_device_id *id) 933 { 934 struct device *dev = &client->dev; 935 struct max313xx *max313xx; 936 struct device *hwmon; 937 const void *match; 938 int ret; 939 940 max313xx = devm_kzalloc(&client->dev, sizeof(*max313xx), GFP_KERNEL); 941 if (!max313xx) 942 return -ENOMEM; 943 944 dev_set_drvdata(&client->dev, max313xx); 945 946 max313xx->regmap = devm_regmap_init_i2c(client, ®map_config); 947 if (IS_ERR(max313xx->regmap)) { 948 return dev_err_probe(dev, PTR_ERR(max313xx->regmap), 949 "regmap init failed\n"); 950 } 951 952 i2c_set_clientdata(client, max313xx); 953 954 match = device_get_match_data(dev); 955 if (match) 956 max313xx->id = (enum max313xx_ids)match; 957 else if (id) 958 max313xx->id = id->driver_data; 959 else 960 return -ENODEV; 961 962 max313xx->chip = &chip[max313xx->id]; 963 964 ret = max313xx_init(max313xx); 965 if (ret) 966 return ret; 967 968 max313xx->rtc = devm_rtc_allocate_device(dev); 969 if (IS_ERR(max313xx->rtc)) 970 return PTR_ERR(max313xx->rtc); 971 972 max313xx->rtc->ops = &max3133x_rtc_ops; 973 max313xx->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000; 974 max313xx->rtc->range_max = RTC_TIMESTAMP_END_2199; 975 976 ret = devm_rtc_register_device(max313xx->rtc); 977 if (ret) 978 return ret; 979 980 switch (max313xx->id) { 981 case ID_MAX31328: 982 case ID_MAX31343: 983 max313xx->irqs[0] = client->irq; 984 break; 985 default: 986 max313xx->irqs[0] = fwnode_irq_get_byname(dev_fwnode(dev), "INTA"); 987 max313xx->irqs[1] = fwnode_irq_get_byname(dev_fwnode(dev), "INTB"); 988 if (max313xx->irqs[0] <= 0 && max313xx->irqs[1] <= 0 && client->irq) 989 return dev_err_probe(dev, -ENOENT, 990 "interrupt requested but no interrupt name specified\n"); 991 992 break; 993 } 994 995 ret = max313xx_clkout_register(dev); 996 if (ret) 997 return ret; 998 999 ret = max313xx_clkin_init(dev); 1000 if (ret) 1001 return ret; 1002 1003 /* IRQ wiring depends on the clock configuration so parse them first */ 1004 ret = max313xx_irq_init(dev, client->name); 1005 if (ret) 1006 return ret; 1007 1008 if (max313xx->chip->ram_size) { 1009 max313xx_nvmem_cfg.size = max313xx->chip->ram_size; 1010 max313xx_nvmem_cfg.priv = max313xx; 1011 1012 ret = devm_rtc_nvmem_register(max313xx->rtc, &max313xx_nvmem_cfg); 1013 if (ret) 1014 dev_warn(dev, "cannot register rtc nvmem\n"); 1015 } 1016 1017 if (max313xx->chip->temp_reg) { > 1018 hwmon = devm_hwmon_device_register_with_info(dev, client->name, 1019 max313xx, 1020 &max313xx_chip_info, 1021 NULL); 1022 if (IS_ERR(hwmon)) 1023 dev_warn(dev, "cannot register hwmon device: %li\n", 1024 PTR_ERR(hwmon)); 1025 } 1026 1027 return max313xx_trickle_charger_setup(dev); 1028 } 1029 -- 0-DAY CI Kernel Test Service https://01.org/lkp