tree: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge head: ccf0090d0435abab1a8c84e595802e88ad90b357 commit: de375f9c854a136822d5409a92d4efb57ac65e32 [209/212] cpuidle: driver: Update microsecond values of state parameters as needed config: i386-randconfig-a001 (https://download.01.org/0day-ci/archive/20230210/202302100849.6RI86Ten-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git/commit/?id=de375f9c854a136822d5409a92d4efb57ac65e32 git remote add rafael-pm https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git git fetch --no-tags rafael-pm bleeding-edge git checkout de375f9c854a136822d5409a92d4efb57ac65e32 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=i386 olddefconfig make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202302100849.6RI86Ten-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): ld: drivers/cpuidle/driver.o: in function `__cpuidle_driver_init': >> drivers/cpuidle/driver.c:187: undefined reference to `__divdi3' >> ld: drivers/cpuidle/driver.c:194: undefined reference to `__divdi3' vim +187 drivers/cpuidle/driver.c 149 150 /** 151 * __cpuidle_driver_init - initialize the driver's internal data 152 * @drv: a valid pointer to a struct cpuidle_driver 153 */ 154 static void __cpuidle_driver_init(struct cpuidle_driver *drv) 155 { 156 int i; 157 158 /* 159 * Use all possible CPUs as the default, because if the kernel boots 160 * with some CPUs offline and then we online one of them, the CPU 161 * notifier has to know which driver to assign. 162 */ 163 if (!drv->cpumask) 164 drv->cpumask = (struct cpumask *)cpu_possible_mask; 165 166 for (i = 0; i < drv->state_count; i++) { 167 struct cpuidle_state *s = &drv->states[i]; 168 169 /* 170 * Look for the timer stop flag in the different states and if 171 * it is found, indicate that the broadcast timer has to be set 172 * up. 173 */ 174 if (s->flags & CPUIDLE_FLAG_TIMER_STOP) 175 drv->bctimer = 1; 176 177 /* 178 * The core will use the target residency and exit latency 179 * values in nanoseconds, but allow drivers to provide them in 180 * microseconds too. 181 */ 182 if (s->target_residency > 0) 183 s->target_residency_ns = s->target_residency * NSEC_PER_USEC; 184 else if (s->target_residency_ns < 0) 185 s->target_residency_ns = 0; 186 else > 187 s->target_residency = s->target_residency_ns / NSEC_PER_USEC; 188 189 if (s->exit_latency > 0) 190 s->exit_latency_ns = s->exit_latency * NSEC_PER_USEC; 191 else if (s->exit_latency_ns < 0) 192 s->exit_latency_ns = 0; 193 else > 194 s->exit_latency = s->exit_latency_ns / NSEC_PER_USEC; 195 } 196 } 197 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests