From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B608718AEA for ; Sun, 1 Dec 2024 15:51:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.10 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733068312; cv=none; b=TCUpiwksBpSb43efiekBPq0l2IxaIX5hJBoKDUnmqza86Qf1TaZm6d2srEWo1hDAJAMBezw97YL62Dv7eAiffWhNb7ho8wNop+hnjkIUONfEONn5kBBR+hrtp9Z+GsX9l9ykfnBsWXoJmgcCW2fitx52gOWnr/WqJNN/EbxQSjY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733068312; c=relaxed/simple; bh=OB+2aFYJWOkdavzkG+ZIUF9Bh9sFVf/VD3f6XFfpdf8=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=SvcSC3iGeBUb1HP2rWJkKnPW3glleWZN0TUrJuzCOt3KkBFha2B1OuWDwEnO+bwiQWIdRPfiTrBDszmTVfze244zuyAKLAxdJsriaGj9CJigAGodyPvVWCfOP5QdqTpjZFNoef5UCKeOqVwnjN+6kROqEIoq+scnPq0uzZNgrNQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=dWtgvo8Q; arc=none smtp.client-ip=198.175.65.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="dWtgvo8Q" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1733068310; x=1764604310; h=date:from:to:cc:subject:message-id:mime-version; bh=OB+2aFYJWOkdavzkG+ZIUF9Bh9sFVf/VD3f6XFfpdf8=; b=dWtgvo8Qx6mG92plN32eFrVlWKEQaQ01VAd6qfRREjhEFEcicPhC9ORG wFB010pzMyJqixw8DBbm+0pt5aAWiPhGbf/x8WJTz+XjvRW1GEHTLeItV loiH8z2tRMqMQUJCB1rm5LqPv03WMj68NqAkeiiyKZC/JOs5AAPmbBc5j zXDEO0VUSnbFmXqtjVLfQ5V5NrzlH0AnhQnzgDSgIjC5r0HKKXLgY6smP lLlztKa6PuWRbnEf3fXj3Zv/CC5m4TtpYw8YmJ5i4LLPOttLrLYQL6bTb mlQWoaWff1V56fWqPzeMaz6ZjcTi+EmvKs9ROSEukW2B38O8/7QgMSRSG Q==; X-CSE-ConnectionGUID: 9+3AN6K0THSsDHvzJbYmxA== X-CSE-MsgGUID: /Xb660NqS3mSUM2VQaYk4g== X-IronPort-AV: E=McAfee;i="6700,10204,11273"; a="50647276" X-IronPort-AV: E=Sophos;i="6.12,200,1728975600"; d="scan'208";a="50647276" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Dec 2024 07:51:49 -0800 X-CSE-ConnectionGUID: zaJ4YBf+RGiWoUeLtH0UTA== X-CSE-MsgGUID: 9ZextApgQ2m0nM1b1wwJtg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,200,1728975600"; d="scan'208";a="116156193" Received: from lkp-server02.sh.intel.com (HELO 36a1563c48ff) ([10.239.97.151]) by fmviesa002.fm.intel.com with ESMTP; 01 Dec 2024 07:51:47 -0800 Received: from kbuild by 36a1563c48ff with local (Exim 4.96) (envelope-from ) id 1tHmEa-0001dj-2K; Sun, 01 Dec 2024 15:51:44 +0000 Date: Sun, 1 Dec 2024 23:51:19 +0800 From: kernel test robot To: Herve Codina Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org, Mark Brown , Christophe Leroy Subject: drivers/soc/fsl/qe/qmc.c:1331:23: sparse: sparse: incorrect type in assignment (different address spaces) Message-ID: <202412012332.79FnLwRk-lkp@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: bcc8eda6d34934d80b96adb8dc4ff5dfc632a53a commit: 3178d58e0b9772d690456c0bdf8c9f5e191d45f1 soc: fsl: cpm1: Add support for QMC date: 1 year, 9 months ago config: powerpc-randconfig-r123-20241114 (https://download.01.org/0day-ci/archive/20241201/202412012332.79FnLwRk-lkp@intel.com/config) compiler: powerpc-linux-gcc (GCC) 14.2.0 reproduce: (https://download.01.org/0day-ci/archive/20241201/202412012332.79FnLwRk-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202412012332.79FnLwRk-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/soc/fsl/qe/qmc.c:334:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd @@ got struct cpm_buf_desc [noderef] [usertype] __iomem *txbd_free @@ drivers/soc/fsl/qe/qmc.c:334:12: sparse: expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd drivers/soc/fsl/qe/qmc.c:334:12: sparse: got struct cpm_buf_desc [noderef] [usertype] __iomem *txbd_free drivers/soc/fsl/qe/qmc.c:346:39: sparse: sparse: subtraction of different types can't work (different address spaces) drivers/soc/fsl/qe/qmc.c:389:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd @@ got struct cpm_buf_desc [noderef] [usertype] __iomem *txbd_done @@ drivers/soc/fsl/qe/qmc.c:389:12: sparse: expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd drivers/soc/fsl/qe/qmc.c:389:12: sparse: got struct cpm_buf_desc [noderef] [usertype] __iomem *txbd_done drivers/soc/fsl/qe/qmc.c:396:47: sparse: sparse: subtraction of different types can't work (different address spaces) drivers/soc/fsl/qe/qmc.c:441:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd @@ got struct cpm_buf_desc [noderef] [usertype] __iomem *rxbd_free @@ drivers/soc/fsl/qe/qmc.c:453:39: sparse: sparse: subtraction of different types can't work (different address spaces) drivers/soc/fsl/qe/qmc.c:505:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd @@ got struct cpm_buf_desc [noderef] [usertype] __iomem *rxbd_done @@ drivers/soc/fsl/qe/qmc.c:505:12: sparse: expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd drivers/soc/fsl/qe/qmc.c:505:12: sparse: got struct cpm_buf_desc [noderef] [usertype] __iomem *rxbd_done drivers/soc/fsl/qe/qmc.c:512:47: sparse: sparse: subtraction of different types can't work (different address spaces) drivers/soc/fsl/qe/qmc.c:670:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd @@ got struct cpm_buf_desc [noderef] [usertype] __iomem *rxbds @@ drivers/soc/fsl/qe/qmc.c:675:47: sparse: sparse: subtraction of different types can't work (different address spaces) drivers/soc/fsl/qe/qmc.c:705:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd @@ got struct cpm_buf_desc [noderef] [usertype] __iomem *txbds @@ drivers/soc/fsl/qe/qmc.c:705:12: sparse: expected struct cpm_buf_desc [usertype] *[noderef] __iomem bd drivers/soc/fsl/qe/qmc.c:705:12: sparse: got struct cpm_buf_desc [noderef] [usertype] __iomem *txbds drivers/soc/fsl/qe/qmc.c:710:47: sparse: sparse: subtraction of different types can't work (different address spaces) drivers/soc/fsl/qe/qmc.c:1104:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *[noderef] __iomem addr @@ got unsigned short [noderef] __iomem * @@ drivers/soc/fsl/qe/qmc.c:1104:30: sparse: expected void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:1104:30: sparse: got unsigned short [noderef] __iomem * drivers/soc/fsl/qe/qmc.c:1107:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *[noderef] __iomem addr @@ got unsigned short [noderef] __iomem * @@ drivers/soc/fsl/qe/qmc.c:1107:22: sparse: expected void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:1107:22: sparse: got unsigned short [noderef] __iomem * drivers/soc/fsl/qe/qmc.c:1116:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *[noderef] __iomem addr @@ got unsigned short [noderef] __iomem * @@ drivers/soc/fsl/qe/qmc.c:1116:30: sparse: expected void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:1116:30: sparse: got unsigned short [noderef] __iomem * drivers/soc/fsl/qe/qmc.c:1119:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *[noderef] __iomem addr @@ got unsigned short [noderef] __iomem * @@ drivers/soc/fsl/qe/qmc.c:1119:22: sparse: expected void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:1119:22: sparse: got unsigned short [noderef] __iomem * drivers/soc/fsl/qe/qmc.c:1172:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *[noderef] __iomem addr @@ got unsigned short [noderef] [usertype] __iomem * @@ drivers/soc/fsl/qe/qmc.c:1172:44: sparse: expected void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:1172:44: sparse: got unsigned short [noderef] [usertype] __iomem * drivers/soc/fsl/qe/qmc.c:1177:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *[noderef] __iomem addr @@ got unsigned short [noderef] [usertype] __iomem *[assigned] last @@ drivers/soc/fsl/qe/qmc.c:1177:29: sparse: expected void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:1177:29: sparse: got unsigned short [noderef] [usertype] __iomem *[assigned] last drivers/soc/fsl/qe/qmc.c:1190:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *[noderef] __iomem addr @@ got unsigned short [noderef] [usertype] __iomem *int_curr @@ drivers/soc/fsl/qe/qmc.c:1190:35: sparse: expected void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:1190:35: sparse: got unsigned short [noderef] [usertype] __iomem *int_curr drivers/soc/fsl/qe/qmc.c:1193:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *[noderef] __iomem addr @@ got unsigned short [noderef] [usertype] __iomem *int_curr @@ drivers/soc/fsl/qe/qmc.c:1193:32: sparse: expected void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:1193:32: sparse: got unsigned short [noderef] [usertype] __iomem *int_curr drivers/soc/fsl/qe/qmc.c:1238:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *[noderef] __iomem addr @@ got unsigned short [noderef] [usertype] __iomem *int_curr @@ drivers/soc/fsl/qe/qmc.c:1238:43: sparse: expected void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:1238:43: sparse: got unsigned short [noderef] [usertype] __iomem *int_curr drivers/soc/fsl/qe/qmc.c:1282:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[noderef] scc_regs @@ got void [noderef] __iomem * @@ drivers/soc/fsl/qe/qmc.c:1282:23: sparse: expected void *[noderef] scc_regs drivers/soc/fsl/qe/qmc.c:1282:23: sparse: got void [noderef] __iomem * drivers/soc/fsl/qe/qmc.c:1291:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[noderef] scc_pram @@ got void [noderef] __iomem * @@ drivers/soc/fsl/qe/qmc.c:1291:23: sparse: expected void *[noderef] scc_pram drivers/soc/fsl/qe/qmc.c:1291:23: sparse: got void [noderef] __iomem * drivers/soc/fsl/qe/qmc.c:1295:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[noderef] dpram @@ got void [noderef] __iomem * @@ drivers/soc/fsl/qe/qmc.c:1295:21: sparse: expected void *[noderef] dpram drivers/soc/fsl/qe/qmc.c:1295:21: sparse: got void [noderef] __iomem * >> drivers/soc/fsl/qe/qmc.c:1331:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct cpm_buf_desc [noderef] [usertype] __iomem *bd_table @@ got void * @@ drivers/soc/fsl/qe/qmc.c:1331:23: sparse: expected struct cpm_buf_desc [noderef] [usertype] __iomem *bd_table drivers/soc/fsl/qe/qmc.c:1331:23: sparse: got void * >> drivers/soc/fsl/qe/qmc.c:1338:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got struct cpm_buf_desc [noderef] [usertype] __iomem *bd_table @@ drivers/soc/fsl/qe/qmc.c:1338:9: sparse: expected void const * drivers/soc/fsl/qe/qmc.c:1338:9: sparse: got struct cpm_buf_desc [noderef] [usertype] __iomem *bd_table >> drivers/soc/fsl/qe/qmc.c:1338:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got struct cpm_buf_desc [noderef] [usertype] __iomem *bd_table @@ drivers/soc/fsl/qe/qmc.c:1338:9: sparse: expected void const * drivers/soc/fsl/qe/qmc.c:1338:9: sparse: got struct cpm_buf_desc [noderef] [usertype] __iomem *bd_table >> drivers/soc/fsl/qe/qmc.c:1338:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void * @@ got struct cpm_buf_desc [noderef] [usertype] __iomem *bd_table @@ drivers/soc/fsl/qe/qmc.c:1338:9: sparse: expected void * drivers/soc/fsl/qe/qmc.c:1338:9: sparse: got struct cpm_buf_desc [noderef] [usertype] __iomem *bd_table >> drivers/soc/fsl/qe/qmc.c:1344:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned short [noderef] [usertype] __iomem *int_table @@ got void * @@ drivers/soc/fsl/qe/qmc.c:1344:24: sparse: expected unsigned short [noderef] [usertype] __iomem *int_table drivers/soc/fsl/qe/qmc.c:1344:24: sparse: got void * >> drivers/soc/fsl/qe/qmc.c:1351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got unsigned short [noderef] [usertype] __iomem *int_table @@ drivers/soc/fsl/qe/qmc.c:1351:9: sparse: expected void const * drivers/soc/fsl/qe/qmc.c:1351:9: sparse: got unsigned short [noderef] [usertype] __iomem *int_table >> drivers/soc/fsl/qe/qmc.c:1351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got unsigned short [noderef] [usertype] __iomem *int_table @@ drivers/soc/fsl/qe/qmc.c:1351:9: sparse: expected void const * drivers/soc/fsl/qe/qmc.c:1351:9: sparse: got unsigned short [noderef] [usertype] __iomem *int_table >> drivers/soc/fsl/qe/qmc.c:1351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void * @@ got unsigned short [noderef] [usertype] __iomem *int_table @@ drivers/soc/fsl/qe/qmc.c:1351:9: sparse: expected void * drivers/soc/fsl/qe/qmc.c:1351:9: sparse: got unsigned short [noderef] [usertype] __iomem *int_table drivers/soc/fsl/qe/qmc.c:290:33: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:223:26: sparse: expected void [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:223:26: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:290:33: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:292:29: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:223:26: sparse: expected void [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:223:26: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:292:29: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:295:39: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:295:39: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:233:21: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:233:38: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:228:27: sparse: expected void const [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:228:27: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:233:38: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:223:26: sparse: expected void [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:223:26: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:233:21: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:233:38: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:298:39: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:298:39: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:238:21: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:238:38: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:228:27: sparse: expected void const [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:228:27: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:238:38: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:223:26: sparse: expected void [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:223:26: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:238:21: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:238:38: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:304:29: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:223:26: sparse: expected void [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:223:26: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:304:29: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:336:28: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:228:27: sparse: expected void const [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:228:27: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:336:28: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:343:22: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:223:26: sparse: expected void [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:223:26: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:343:22: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:344:22: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:243:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:243:26: sparse: expected void [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:243:26: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:344:22: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:243:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:243:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:346:36: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:353:22: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:223:26: sparse: expected void [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:223:26: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:353:22: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:356:31: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:356:31: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:233:21: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:233:38: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:228:27: sparse: expected void const [noderef] __iomem *addr drivers/soc/fsl/qe/qmc.c:228:27: sparse: got void *[noderef] __iomem addr drivers/soc/fsl/qe/qmc.c:233:38: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:228:27: sparse: sparse: dereference of noderef expression drivers/soc/fsl/qe/qmc.c:223:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void *[noderef] __iomem addr @@ drivers/soc/fsl/qe/qmc.c:223:26: sparse: expected void [noderef] __iomem *addr vim +1331 drivers/soc/fsl/qe/qmc.c 1265 1266 static int qmc_probe(struct platform_device *pdev) 1267 { 1268 struct device_node *np = pdev->dev.of_node; 1269 unsigned int nb_chans; 1270 struct resource *res; 1271 struct qmc *qmc; 1272 int irq; 1273 int ret; 1274 1275 qmc = devm_kzalloc(&pdev->dev, sizeof(*qmc), GFP_KERNEL); 1276 if (!qmc) 1277 return -ENOMEM; 1278 1279 qmc->dev = &pdev->dev; 1280 INIT_LIST_HEAD(&qmc->chan_head); 1281 1282 qmc->scc_regs = devm_platform_ioremap_resource_byname(pdev, "scc_regs"); 1283 if (IS_ERR(qmc->scc_regs)) 1284 return PTR_ERR(qmc->scc_regs); 1285 1286 1287 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "scc_pram"); 1288 if (!res) 1289 return -EINVAL; 1290 qmc->scc_pram_offset = res->start - get_immrbase(); 1291 qmc->scc_pram = devm_ioremap_resource(qmc->dev, res); 1292 if (IS_ERR(qmc->scc_pram)) 1293 return PTR_ERR(qmc->scc_pram); 1294 1295 qmc->dpram = devm_platform_ioremap_resource_byname(pdev, "dpram"); 1296 if (IS_ERR(qmc->dpram)) 1297 return PTR_ERR(qmc->dpram); 1298 1299 qmc->tsa_serial = devm_tsa_serial_get_byphandle(qmc->dev, np, "fsl,tsa-serial"); 1300 if (IS_ERR(qmc->tsa_serial)) { 1301 return dev_err_probe(qmc->dev, PTR_ERR(qmc->tsa_serial), 1302 "Failed to get TSA serial\n"); 1303 } 1304 1305 /* Connect the serial (SCC) to TSA */ 1306 ret = tsa_serial_connect(qmc->tsa_serial); 1307 if (ret) { 1308 dev_err(qmc->dev, "Failed to connect TSA serial\n"); 1309 return ret; 1310 } 1311 1312 /* Parse channels informationss */ 1313 ret = qmc_of_parse_chans(qmc, np); 1314 if (ret) 1315 goto err_tsa_serial_disconnect; 1316 1317 nb_chans = qmc_nb_chans(qmc); 1318 1319 /* Init GMSR_H and GMSR_L registers */ 1320 qmc_write32(qmc->scc_regs + SCC_GSMRH, 1321 SCC_GSMRH_CDS | SCC_GSMRH_CTSS | SCC_GSMRH_CDP | SCC_GSMRH_CTSP); 1322 1323 /* enable QMC mode */ 1324 qmc_write32(qmc->scc_regs + SCC_GSMRL, SCC_GSMRL_MODE_QMC); 1325 1326 /* 1327 * Allocate the buffer descriptor table 1328 * 8 rx and 8 tx descriptors per channel 1329 */ 1330 qmc->bd_size = (nb_chans * (QMC_NB_TXBDS + QMC_NB_RXBDS)) * sizeof(cbd_t); > 1331 qmc->bd_table = dmam_alloc_coherent(qmc->dev, qmc->bd_size, 1332 &qmc->bd_dma_addr, GFP_KERNEL); 1333 if (!qmc->bd_table) { 1334 dev_err(qmc->dev, "Failed to allocate bd table\n"); 1335 ret = -ENOMEM; 1336 goto err_tsa_serial_disconnect; 1337 } > 1338 memset(qmc->bd_table, 0, qmc->bd_size); 1339 1340 qmc_write32(qmc->scc_pram + QMC_GBL_MCBASE, qmc->bd_dma_addr); 1341 1342 /* Allocate the interrupt table */ 1343 qmc->int_size = QMC_NB_INTS * sizeof(u16); > 1344 qmc->int_table = dmam_alloc_coherent(qmc->dev, qmc->int_size, 1345 &qmc->int_dma_addr, GFP_KERNEL); 1346 if (!qmc->int_table) { 1347 dev_err(qmc->dev, "Failed to allocate interrupt table\n"); 1348 ret = -ENOMEM; 1349 goto err_tsa_serial_disconnect; 1350 } > 1351 memset(qmc->int_table, 0, qmc->int_size); 1352 1353 qmc->int_curr = qmc->int_table; 1354 qmc_write32(qmc->scc_pram + QMC_GBL_INTBASE, qmc->int_dma_addr); 1355 qmc_write32(qmc->scc_pram + QMC_GBL_INTPTR, qmc->int_dma_addr); 1356 1357 /* Set MRBLR (valid for HDLC only) max MRU + max CRC */ 1358 qmc_write16(qmc->scc_pram + QMC_GBL_MRBLR, HDLC_MAX_MRU + 4); 1359 1360 qmc_write16(qmc->scc_pram + QMC_GBL_GRFTHR, 1); 1361 qmc_write16(qmc->scc_pram + QMC_GBL_GRFCNT, 1); 1362 1363 qmc_write32(qmc->scc_pram + QMC_GBL_C_MASK32, 0xDEBB20E3); 1364 qmc_write16(qmc->scc_pram + QMC_GBL_C_MASK16, 0xF0B8); 1365 1366 ret = qmc_setup_tsa(qmc); 1367 if (ret) 1368 goto err_tsa_serial_disconnect; 1369 1370 qmc_write16(qmc->scc_pram + QMC_GBL_QMCSTATE, 0x8000); 1371 1372 ret = qmc_setup_chans(qmc); 1373 if (ret) 1374 goto err_tsa_serial_disconnect; 1375 1376 /* Init interrupts table */ 1377 ret = qmc_setup_ints(qmc); 1378 if (ret) 1379 goto err_tsa_serial_disconnect; 1380 1381 /* Disable and clear interrupts, set the irq handler */ 1382 qmc_write16(qmc->scc_regs + SCC_SCCM, 0x0000); 1383 qmc_write16(qmc->scc_regs + SCC_SCCE, 0x000F); 1384 irq = platform_get_irq(pdev, 0); 1385 if (irq < 0) 1386 goto err_tsa_serial_disconnect; 1387 ret = devm_request_irq(qmc->dev, irq, qmc_irq_handler, 0, "qmc", qmc); 1388 if (ret < 0) 1389 goto err_tsa_serial_disconnect; 1390 1391 /* Enable interrupts */ 1392 qmc_write16(qmc->scc_regs + SCC_SCCM, 1393 SCC_SCCE_IQOV | SCC_SCCE_GINT | SCC_SCCE_GUN | SCC_SCCE_GOV); 1394 1395 ret = qmc_finalize_chans(qmc); 1396 if (ret < 0) 1397 goto err_disable_intr; 1398 1399 /* Enable transmiter and receiver */ 1400 qmc_setbits32(qmc->scc_regs + SCC_GSMRL, SCC_GSMRL_ENR | SCC_GSMRL_ENT); 1401 1402 platform_set_drvdata(pdev, qmc); 1403 1404 return 0; 1405 1406 err_disable_intr: 1407 qmc_write16(qmc->scc_regs + SCC_SCCM, 0); 1408 1409 err_tsa_serial_disconnect: 1410 tsa_serial_disconnect(qmc->tsa_serial); 1411 return ret; 1412 } 1413 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki