Hi Ran, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [cannot apply to v5.4-rc4 next-20191023] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Ran-Wang/PM-wakeup-Add-routine-to-help-fetch-wakeup-source-object/20191024-101743 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 13b86bc4cd648eae69fdcf3d04b2750c76350053 config: mips-allmodconfig (attached as .config) compiler: mips-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=mips If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): drivers/soc/fsl/rcpm.c: In function 'rcpm_pm_prepare': >> drivers/soc/fsl/rcpm.c:72:11: warning: suggest parentheses around assignment used as truth value [-Wparentheses] } while (ws = wakeup_source_get_next(ws)); ^~ vim +72 drivers/soc/fsl/rcpm.c 24 25 static int rcpm_pm_prepare(struct device *dev) 26 { 27 int i, ret, idx; 28 void __iomem *base; 29 struct wakeup_source *ws; 30 struct rcpm *rcpm; 31 struct device_node *np = dev->of_node; 32 u32 value[RCPM_WAKEUP_CELL_MAX_SIZE + 1], tmp; 33 34 rcpm = dev_get_drvdata(dev); 35 if (!rcpm) 36 return -EINVAL; 37 38 base = rcpm->ippdexpcr_base; 39 40 /* Begin with first registered wakeup source */ 41 ws = wakeup_source_get_start(&idx); 42 do { 43 /* skip object which is not attached to device */ 44 if (!ws->dev->parent) 45 continue; 46 47 ret = device_property_read_u32_array(ws->dev->parent, 48 "fsl,rcpm-wakeup", value, 49 rcpm->wakeup_cells + 1); 50 51 /* Wakeup source should refer to current rcpm device */ 52 if (ret || (np->phandle != value[0])) { 53 dev_info(dev, "%s doesn't refer to this rcpm\n", 54 ws->name); 55 continue; 56 } 57 58 for (i = 0; i < rcpm->wakeup_cells; i++) { 59 /* We can only OR related bits */ 60 if (value[i + 1]) { 61 if (rcpm->little_endian) { 62 tmp = ioread32(base + i * 4); 63 tmp |= value[i + 1]; 64 iowrite32(tmp, base + i * 4); 65 } else { 66 tmp = ioread32be(base + i * 4); 67 tmp |= value[i + 1]; 68 iowrite32be(tmp, base + i * 4); 69 } 70 } 71 } > 72 } while (ws = wakeup_source_get_next(ws)); 73 74 wakeup_source_get_stop(idx); 75 76 return 0; 77 } 78 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation