Re: [PATCH v7 3/3] soc: fsl: add RCPM driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <lkp@xxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux