Hi Dang, kernel test robot noticed the following build errors:
[auto build test ERROR on 590b221ed4256fd6c34d3dea77aa5bd6e741bbc1] url: https://github.com/intel-lab-lkp/linux/commits/Dang-Huynh-via-B4-Relay/ARM-dts-unisoc-rda8810pl-Add-label-to-GPIO-nodes/20250917-043025 base: 590b221ed4256fd6c34d3dea77aa5bd6e741bbc1 patch link: https://lore.kernel.org/r/20250917-rda8810pl-drivers-v1-6-9ca9184ca977%40mainlining.org patch subject: [PATCH 06/25] rtc: Add driver for RDA Micro SoC config: m68k-allmodconfig (https://download.01.org/0day-ci/archive/20250919/[email protected]/config) compiler: m68k-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250919/[email protected]/reproduce) 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 | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All errors (new ones prefixed by >>): drivers/rtc/rtc-rda.c: In function 'rda_rtc_settime': >> drivers/rtc/rtc-rda.c:67:15: error: implicit declaration of function >> 'FIELD_PREP' [-Wimplicit-function-declaration] 67 | low = FIELD_PREP(RDA_SEC_MASK, tm->tm_sec) | | ^~~~~~~~~~ drivers/rtc/rtc-rda.c: In function 'rda_rtc_readtime': >> drivers/rtc/rtc-rda.c:128:22: error: implicit declaration of function >> 'FIELD_GET' [-Wimplicit-function-declaration] 128 | tm->tm_sec = FIELD_GET(RDA_SEC_MASK, low); | ^~~~~~~~~ vim +/FIELD_PREP +67 drivers/rtc/rtc-rda.c 50 51 static int rda_rtc_settime(struct device *dev, struct rtc_time *tm) 52 { 53 struct rda_rtc *rtc = dev_get_drvdata(dev); 54 u32 high, low; 55 int ret; 56 57 ret = rtc_valid_tm(tm); 58 if (ret < 0) 59 return ret; 60 61 /* 62 * The number of years since 1900 in kernel, 63 * but it is defined since 2000 by HW. 64 * The number of mons' range is from 0 to 11 in kernel, 65 * but it is defined from 1 to 12 by HW. 66 */ > 67 low = FIELD_PREP(RDA_SEC_MASK, tm->tm_sec) | 68 FIELD_PREP(RDA_MIN_MASK, tm->tm_min) | 69 FIELD_PREP(RDA_HRS_MASK, tm->tm_hour); 70 71 high = FIELD_PREP(RDA_MDAY_MASK, tm->tm_mday) | 72 FIELD_PREP(RDA_MON_MASK, tm->tm_mon + 1) | 73 FIELD_PREP(RDA_YEAR_MASK, tm->tm_year - 100) | 74 FIELD_PREP(RDA_WDAY_MASK, tm->tm_wday); 75 76 ret = regmap_write(rtc->regmap, RDA_RTC_CAL_LOAD_LOW_REG, low); 77 if (ret < 0) { 78 dev_err(dev, "Failed to update RTC low register: %d\n", ret); 79 return ret; 80 } 81 82 ret = regmap_write(rtc->regmap, RDA_RTC_CAL_LOAD_HIGH_REG, high); 83 if (ret < 0) { 84 dev_err(dev, "Failed to update RTC low register: %d\n", ret); 85 return ret; 86 } 87 88 ret = regmap_update_bits(rtc->regmap, RDA_RTC_CMD_REG, RDA_RTC_CMD_CAL_LOAD, 1); 89 if (ret < 0) { 90 dev_err(dev, "Failed to update RTC cal load register: %d\n", ret); 91 return ret; 92 } 93 94 return 0; 95 } 96 97 static int rda_rtc_readtime(struct device *dev, struct rtc_time *tm) 98 { 99 struct rda_rtc *rtc = dev_get_drvdata(dev); 100 unsigned int high, low; 101 int ret; 102 103 /* 104 * Check if RTC data is valid. 105 * 106 * When this bit is set, it means the data in the RTC is invalid 107 * or not configured. 108 */ 109 ret = regmap_test_bits(rtc->regmap, RDA_RTC_STA_REG, RDA_RTC_STA_NOT_PROG); 110 if (ret < 0) { 111 dev_err(dev, "Failed to read RTC status: %d\n", ret); 112 return ret; 113 } else if (ret > 0) 114 return -EINVAL; 115 116 ret = regmap_read(rtc->regmap, RDA_RTC_CUR_LOAD_HIGH_REG, &high); 117 if (ret) { 118 dev_err(dev, "Failed to read RTC high reg: %d\n", ret); 119 return ret; 120 } 121 122 ret = regmap_read(rtc->regmap, RDA_RTC_CUR_LOAD_LOW_REG, &low); 123 if (ret) { 124 dev_err(dev, "Failed to read RTC low reg: %d\n", ret); 125 return ret; 126 } 127 > 128 tm->tm_sec = FIELD_GET(RDA_SEC_MASK, low); 129 tm->tm_min = FIELD_GET(RDA_MIN_MASK, low); 130 tm->tm_hour = FIELD_GET(RDA_HRS_MASK, low); 131 tm->tm_mday = FIELD_GET(RDA_MDAY_MASK, high); 132 tm->tm_mon = FIELD_GET(RDA_MON_MASK, high); 133 tm->tm_year = FIELD_GET(RDA_YEAR_MASK, high); 134 tm->tm_wday = FIELD_GET(RDA_WDAY_MASK, high); 135 136 /* 137 * The number of years since 1900 in kernel, 138 * but it is defined since 2000 by HW. 139 */ 140 tm->tm_year += 100; 141 /* 142 * The number of mons' range is from 0 to 11 in kernel, 143 * but it is defined from 1 to 12 by HW. 144 */ 145 tm->tm_mon -= 1; 146 147 return 0; 148 } 149 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
