Hi William, I love your patch! Yet something to improve: [auto build test ERROR on 5ffeb17c0d3dd44704b4aee83e297ec07666e4d6] url: https://github.com/0day-ci/linux/commits/William-Breathitt-Gray/Introduce-the-Counter-character-device-interface/20210827-115154 base: 5ffeb17c0d3dd44704b4aee83e297ec07666e4d6 config: i386-randconfig-c001-20210827 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/4eb2e2f3fe9da9dddf9d8bbb82ff16b1329131ce git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review William-Breathitt-Gray/Introduce-the-Counter-character-device-interface/20210827-115154 git checkout 4eb2e2f3fe9da9dddf9d8bbb82ff16b1329131ce # save the attached .config to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): ld: drivers/counter/intel-qep.o: in function `intel_qep_spike_filter_ns_write': >> drivers/counter/intel-qep.c:290: undefined reference to `__udivdi3' vim +290 drivers/counter/intel-qep.c b711f687a1c1c1 Jarkko Nikula 2021-06-02 275 4eb2e2f3fe9da9 William Breathitt Gray 2021-08-27 276 static int intel_qep_spike_filter_ns_write(struct counter_device *counter, b711f687a1c1c1 Jarkko Nikula 2021-06-02 277 struct counter_count *count, 4eb2e2f3fe9da9 William Breathitt Gray 2021-08-27 278 u64 length) b711f687a1c1c1 Jarkko Nikula 2021-06-02 279 { b711f687a1c1c1 Jarkko Nikula 2021-06-02 280 struct intel_qep *qep = counter->priv; 4eb2e2f3fe9da9 William Breathitt Gray 2021-08-27 281 u32 reg; b711f687a1c1c1 Jarkko Nikula 2021-06-02 282 bool enable; 4eb2e2f3fe9da9 William Breathitt Gray 2021-08-27 283 int ret = 0; b711f687a1c1c1 Jarkko Nikula 2021-06-02 284 b711f687a1c1c1 Jarkko Nikula 2021-06-02 285 /* b711f687a1c1c1 Jarkko Nikula 2021-06-02 286 * Spike filter length is (MAX_COUNT + 2) clock periods. b711f687a1c1c1 Jarkko Nikula 2021-06-02 287 * Disable filter when userspace writes 0, enable for valid b711f687a1c1c1 Jarkko Nikula 2021-06-02 288 * nanoseconds values and error out otherwise. b711f687a1c1c1 Jarkko Nikula 2021-06-02 289 */ b711f687a1c1c1 Jarkko Nikula 2021-06-02 @290 length /= INTEL_QEP_CLK_PERIOD_NS; b711f687a1c1c1 Jarkko Nikula 2021-06-02 291 if (length == 0) { b711f687a1c1c1 Jarkko Nikula 2021-06-02 292 enable = false; b711f687a1c1c1 Jarkko Nikula 2021-06-02 293 length = 0; b711f687a1c1c1 Jarkko Nikula 2021-06-02 294 } else if (length >= 2) { b711f687a1c1c1 Jarkko Nikula 2021-06-02 295 enable = true; b711f687a1c1c1 Jarkko Nikula 2021-06-02 296 length -= 2; b711f687a1c1c1 Jarkko Nikula 2021-06-02 297 } else { b711f687a1c1c1 Jarkko Nikula 2021-06-02 298 return -EINVAL; b711f687a1c1c1 Jarkko Nikula 2021-06-02 299 } b711f687a1c1c1 Jarkko Nikula 2021-06-02 300 b711f687a1c1c1 Jarkko Nikula 2021-06-02 301 if (length > INTEL_QEPFLT_MAX_COUNT(length)) e2ff3198c580a3 William Breathitt Gray 2021-08-03 302 return -ERANGE; b711f687a1c1c1 Jarkko Nikula 2021-06-02 303 b711f687a1c1c1 Jarkko Nikula 2021-06-02 304 mutex_lock(&qep->lock); b711f687a1c1c1 Jarkko Nikula 2021-06-02 305 if (qep->enabled) { b711f687a1c1c1 Jarkko Nikula 2021-06-02 306 ret = -EBUSY; b711f687a1c1c1 Jarkko Nikula 2021-06-02 307 goto out; b711f687a1c1c1 Jarkko Nikula 2021-06-02 308 } b711f687a1c1c1 Jarkko Nikula 2021-06-02 309 b711f687a1c1c1 Jarkko Nikula 2021-06-02 310 pm_runtime_get_sync(qep->dev); b711f687a1c1c1 Jarkko Nikula 2021-06-02 311 reg = intel_qep_readl(qep, INTEL_QEPCON); b711f687a1c1c1 Jarkko Nikula 2021-06-02 312 if (enable) b711f687a1c1c1 Jarkko Nikula 2021-06-02 313 reg |= INTEL_QEPCON_FLT_EN; b711f687a1c1c1 Jarkko Nikula 2021-06-02 314 else b711f687a1c1c1 Jarkko Nikula 2021-06-02 315 reg &= ~INTEL_QEPCON_FLT_EN; b711f687a1c1c1 Jarkko Nikula 2021-06-02 316 intel_qep_writel(qep, INTEL_QEPFLT, length); b711f687a1c1c1 Jarkko Nikula 2021-06-02 317 intel_qep_writel(qep, INTEL_QEPCON, reg); b711f687a1c1c1 Jarkko Nikula 2021-06-02 318 pm_runtime_put(qep->dev); b711f687a1c1c1 Jarkko Nikula 2021-06-02 319 b711f687a1c1c1 Jarkko Nikula 2021-06-02 320 out: b711f687a1c1c1 Jarkko Nikula 2021-06-02 321 mutex_unlock(&qep->lock); b711f687a1c1c1 Jarkko Nikula 2021-06-02 322 return ret; b711f687a1c1c1 Jarkko Nikula 2021-06-02 323 } b711f687a1c1c1 Jarkko Nikula 2021-06-02 324 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org