[PATCH V3 5/5] soc: imx8: Add the SC SECVIO driver

kernel test robot lkp at intel.com
Tue Nov 10 20:08:26 EST 2020


Hi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v5.10-rc3]
[cannot apply to shawnguo/for-next linux/master next-20201110]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/franck-lenormand-oss-nxp-com/Add-support-of-SECVIO-from-SNVS-on-iMX8q-x/20201110-221415
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/5ccece0fd2b2063f4983ad0bd211ac5d1dfe8f0f
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review franck-lenormand-oss-nxp-com/Add-support-of-SECVIO-from-SNVS-on-iMX8q-x/20201110-221415
        git checkout 5ccece0fd2b2063f4983ad0bd211ac5d1dfe8f0f
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All warnings (new ones prefixed by >>):

   drivers/soc/imx/secvio/imx-secvio-sc.c: In function 'int_imx_secvio_sc_disable_irq':
>> drivers/soc/imx/secvio/imx-secvio-sc.c:509:29: warning: variable 'data' set but not used [-Wunused-but-set-variable]
     509 |  struct imx_secvio_sc_data *data;
         |                             ^~~~
   drivers/soc/imx/secvio/imx-secvio-sc.c: At top level:
>> drivers/soc/imx/secvio/imx-secvio-sc.c:615:1: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
     615 | const static struct file_operations imx_secvio_sc_fops = {
         | ^~~~~
--
>> drivers/soc/imx/secvio/imx-secvio-audit.c:23:5: warning: no previous prototype for 'report_to_audit_notify' [-Wmissing-prototypes]
      23 | int report_to_audit_notify(struct notifier_block *nb, unsigned long status,
         |     ^~~~~~~~~~~~~~~~~~~~~~

vim +/data +509 drivers/soc/imx/secvio/imx-secvio-sc.c

   496	
   497	/**
   498	 * int_imx_secvio_sc_disable_irq() - Disable secvio IRQ
   499	 *
   500	 * @dev: secvio device
   501	 *
   502	 * Return:
   503	 * 0 - OK
   504	 * < 0 - error.
   505	 */
   506	static int int_imx_secvio_sc_disable_irq(struct device *dev)
   507	{
   508		int ret = 0;
 > 509		struct imx_secvio_sc_data *data;
   510	
   511		data = dev_get_drvdata(dev);
   512	
   513		/* Disable the IRQ */
   514		ret = imx_scu_irq_group_enable(IMX_SC_IRQ_GROUP_WAKE, IMX_SC_IRQ_SECVIO,
   515					       false);
   516		if (ret) {
   517			dev_err(dev, "Cannot disable SCU IRQ: %d\n", ret);
   518			return ret;
   519		}
   520	
   521		return 0;
   522	}
   523	
   524	/**
   525	 * if_imx_secvio_sc_disable_irq() - Wrapper for int_imx_secvio_sc_disable_irq
   526	 *
   527	 * Can be used with devm
   528	 *
   529	 * @dev: secvio device
   530	 */
   531	static void if_imx_secvio_sc_disable_irq(void *dev)
   532	{
   533		int_imx_secvio_sc_disable_irq(dev);
   534	}
   535	
   536	/**
   537	 * imx_secvio_sc_open() - Store node info for ioctl
   538	 *
   539	 * @node: inode
   540	 * @file: file used to perform the ioctl
   541	 *
   542	 * Return:
   543	 * 0 - OK
   544	 * < 0 - error.
   545	 */
   546	static int imx_secvio_sc_open(struct inode *node, struct file *filp)
   547	{
   548		filp->private_data = node->i_private;
   549	
   550		return 0;
   551	}
   552	
   553	/**
   554	 * imx_secvio_sc_ioctl() - IOCTL handler for the driver
   555	 *
   556	 * @file: file used to perform the ioctl
   557	 * @cmd: command to perform
   558	 * @arg: Pointer on structure with info for the command
   559	 *
   560	 * Return:
   561	 * 0 - OK
   562	 * < 0 - error.
   563	 */
   564	static long imx_secvio_sc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
   565	{
   566		struct device *dev = file->private_data;
   567		struct secvio_sc_notifier_info info;
   568		int ret;
   569	
   570		switch (cmd) {
   571		case IMX_SECVIO_SC_GET_STATE:
   572			ret = int_imx_secvio_sc_get_state(dev, &info);
   573			if (ret) {
   574				dev_err(dev, "Fail to get state\n");
   575				goto exit;
   576			}
   577	
   578			ret = copy_to_user((void *)arg, &info, sizeof(info));
   579			if (ret) {
   580				dev_err(dev, "Fail to copy info to user\n");
   581				ret = -EFAULT;
   582				goto exit;
   583			}
   584			break;
   585		case IMX_SECVIO_SC_CHECK_STATE:
   586			ret = int_imx_secvio_sc_check_state(dev);
   587			if (ret) {
   588				dev_err(dev, "Fail to check state\n");
   589				goto exit;
   590			}
   591			break;
   592		case IMX_SECVIO_SC_CLEAR_STATE:
   593			ret = copy_from_user(&info, (void *)arg, sizeof(info));
   594			if (ret) {
   595				dev_err(dev, "Fail to copy info from user\n");
   596				ret = -EFAULT;
   597				goto exit;
   598			}
   599	
   600			ret = int_imx_secvio_sc_clear_state(dev, info.hpsvs, info.lps,
   601							    info.lptds);
   602			if (ret) {
   603				dev_err(dev, "Fail to clear state\n");
   604				goto exit;
   605			}
   606			break;
   607		default:
   608			ret = -ENOIOCTLCMD;
   609		}
   610	
   611	exit:
   612		return ret;
   613	}
   614	
 > 615	const static struct file_operations imx_secvio_sc_fops = {
   616		.owner = THIS_MODULE,
   617		.open = imx_secvio_sc_open,
   618		.unlocked_ioctl = imx_secvio_sc_ioctl,
   619	};
   620	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 69014 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20201111/51d79cf2/attachment-0001.gz>


More information about the linux-arm-kernel mailing list