From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E527C25B08 for ; Sun, 7 Aug 2022 00:25:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9DDC08E0002; Sat, 6 Aug 2022 20:25:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 98D238E0001; Sat, 6 Aug 2022 20:25:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 82F1A8E0002; Sat, 6 Aug 2022 20:25:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 7378F8E0001 for ; Sat, 6 Aug 2022 20:25:28 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 38A02C06FA for ; Sun, 7 Aug 2022 00:25:28 +0000 (UTC) X-FDA: 79770902736.29.1F23EA9 Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by imf14.hostedemail.com (Postfix) with ESMTP id DCC3E100151 for ; Sun, 7 Aug 2022 00:25:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1659831927; x=1691367927; h=date:from:to:cc:subject:message-id:mime-version; bh=bCRxceCT1GPjBIM+KOuiyEmlVrNCV7RonyvHn8IUZx8=; b=TcJPsQ5BvdljRwvSh83ME6oQ5B2F7RzZyxoOrGZ8FLNW3xkxS9EqVsVC Vmqw/u9BExV7pOXXl5nC3EGTCEtDxT2eZfqeCsbKOZ/67UeBelS/YtME2 rt00RwFhOsFWku+c2Z5qR13rTm4QXRE9OL2MsKQ0S30NgEDwG7WlnQYeR eQdUAXjaeZeEIJVvTZ8MwH966K1WTAqY6ctQxWl01bIpmU6RV/q65mCCJ 58vy6g2DAELnTS0IRUXh1zhqtK3YB3nzHVhDiegWB2uqHXZF4r1tqMq/j Vl7Qf5pDiPhRTiCt/PR9iVOHp6QVDhVWD9TqaYfZzlqh8yb1h9Yi8erHV g==; X-IronPort-AV: E=McAfee;i="6400,9594,10431"; a="352124136" X-IronPort-AV: E=Sophos;i="5.93,219,1654585200"; d="scan'208";a="352124136" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Aug 2022 17:25:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,219,1654585200"; d="scan'208";a="636883798" Received: from lkp-server01.sh.intel.com (HELO e0eace57cfef) ([10.239.97.150]) by orsmga001.jf.intel.com with ESMTP; 06 Aug 2022 17:25:14 -0700 Received: from kbuild by e0eace57cfef with local (Exim 4.96) (envelope-from ) id 1oKU6T-000KnZ-2k; Sun, 07 Aug 2022 00:25:13 +0000 Date: Sun, 7 Aug 2022 08:24:55 +0800 From: kernel test robot To: Krzysztof Kozlowski Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org, Andrew Morton , Linux Memory Management List , Geert Uytterhoeven , Arnd Bergmann Subject: drivers/spi/spi-lp8841-rtc.c:63:28: sparse: sparse: incorrect type in argument 1 (different address spaces) Message-ID: <202208070805.j8BM5XMV-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1659831927; a=rsa-sha256; cv=none; b=nViPtZDdEKLwE6q6jOiJPCBVyTqNvDX31ozyRxPBWbMPdED6gz7prXo0M8Fl79GDdsefXA 8nrg1bk37vF6axehiDHe5T7+zDio6dNElXF1Cno278PKrhH25QdB3WWF+/lhafPb9ctmIS lnZ3VRk5aj2CZYamoXPiNa/d0z+/ozI= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=TcJPsQ5B; spf=pass (imf14.hostedemail.com: domain of lkp@intel.com designates 134.134.136.31 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1659831927; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=EOy5khd8fWwTR6kTHsPDPJD4klpwE7hGmIn0LWG8zMw=; b=Rn9X79MJ+TmnCnbLmR52yIQktMkKO93wHcZJ00Z9tbwMFXpmaAf3rbjT9QU8cIPAvg7H6E G5mwEQ2GQkRys0k6Jlav4cr32XcHT2LU/MonyYTucbnU2trlerEEWPQwbX1QkQt2IFXN9x f1hRVHzVrowESH0Z/TnyYI3u0SNnqk4= X-Rspamd-Server: rspam06 X-Rspam-User: X-Stat-Signature: 8569hgggha17phzmfpgspodjhqx4tofn X-Rspamd-Queue-Id: DCC3E100151 Authentication-Results: imf14.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=TcJPsQ5B; spf=pass (imf14.hostedemail.com: domain of lkp@intel.com designates 134.134.136.31 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com X-HE-Tag: 1659831926-129594 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 4d1044fcb996e8de9b9ab392f4a767890e45202d commit: 8f28ca6bd8211214faf717677bbffe375c2a6072 iomap: constify ioreadX() iomem argument (as in generic implementation) date: 2 years ago config: alpha-randconfig-s041-20220806 (https://download.01.org/0day-ci/archive/20220807/202208070805.j8BM5XMV-lkp@intel.com/config) compiler: alpha-linux-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8f28ca6bd8211214faf717677bbffe375c2a6072 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 8f28ca6bd8211214faf717677bbffe375c2a6072 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha SHELL=/bin/bash drivers/spi/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) drivers/spi/spi-lp8841-rtc.c:112:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:112:41: sparse: expected void volatile [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:112:41: sparse: got void *iomem drivers/spi/spi-lp8841-rtc.c:121:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:121:41: sparse: expected void volatile [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:121:41: sparse: got void *iomem drivers/spi/spi-lp8841-rtc.c:143:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:143:33: sparse: expected void volatile [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:143:33: sparse: got void *iomem drivers/spi/spi-lp8841-rtc.c:147:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:147:41: sparse: expected void volatile [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:147:41: sparse: got void *iomem drivers/spi/spi-lp8841-rtc.c:209:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *iomem @@ got void [noderef] __iomem * @@ drivers/spi/spi-lp8841-rtc.c:209:21: sparse: expected void *iomem drivers/spi/spi-lp8841-rtc.c:209:21: sparse: got void [noderef] __iomem * drivers/spi/spi-lp8841-rtc.c:57:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:57:33: sparse: expected void volatile [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:57:33: sparse: got void *iomem >> drivers/spi/spi-lp8841-rtc.c:63:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:63:28: sparse: expected void const [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:63:28: sparse: got void *iomem drivers/spi/spi-lp8841-rtc.c:47:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:47:33: sparse: expected void volatile [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:47:33: sparse: got void *iomem drivers/spi/spi-lp8841-rtc.c:47:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:47:33: sparse: expected void volatile [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:47:33: sparse: got void *iomem drivers/spi/spi-lp8841-rtc.c:57:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:57:33: sparse: expected void volatile [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:57:33: sparse: got void *iomem >> drivers/spi/spi-lp8841-rtc.c:63:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:63:28: sparse: expected void const [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:63:28: sparse: got void *iomem drivers/spi/spi-lp8841-rtc.c:47:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:47:33: sparse: expected void volatile [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:47:33: sparse: got void *iomem drivers/spi/spi-lp8841-rtc.c:47:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *iomem @@ drivers/spi/spi-lp8841-rtc.c:47:33: sparse: expected void volatile [noderef] __iomem *addr drivers/spi/spi-lp8841-rtc.c:47:33: sparse: got void *iomem vim +63 drivers/spi/spi-lp8841-rtc.c 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 59 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 60 static inline int 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 61 getmiso(struct spi_lp8841_rtc *data) 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 62 { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 @63 return ioread8(data->iomem) & SPI_LP8841_RTC_MISO; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 64 } 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 65 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 66 static inline u32 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 67 bitbang_txrx_be_cpha0_lsb(struct spi_lp8841_rtc *data, 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 68 unsigned usecs, unsigned cpol, unsigned flags, 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 69 u32 word, u8 bits) 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 70 { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 71 /* if (cpol == 0) this is SPI_MODE_0; else this is SPI_MODE_2 */ 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 72 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 73 u32 shift = 32 - bits; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 74 /* clock starts at inactive polarity */ 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 75 for (; likely(bits); bits--) { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 76 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 77 /* setup LSB (to slave) on leading edge */ 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 78 if ((flags & SPI_MASTER_NO_TX) == 0) 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 79 setmosi(data, (word & 1)); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 80 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 81 usleep_range(usecs, usecs + 1); /* T(setup) */ 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 82 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 83 /* sample LSB (from slave) on trailing edge */ 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 84 word >>= 1; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 85 if ((flags & SPI_MASTER_NO_RX) == 0) 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 86 word |= (getmiso(data) << 31); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 87 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 88 setsck(data, !cpol); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 89 usleep_range(usecs, usecs + 1); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 90 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 91 setsck(data, cpol); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 92 } 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 93 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 94 word >>= shift; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 95 return word; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 96 } 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 97 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 98 static int 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 99 spi_lp8841_rtc_transfer_one(struct spi_master *master, 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 100 struct spi_device *spi, 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 101 struct spi_transfer *t) 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 102 { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 103 struct spi_lp8841_rtc *data = spi_master_get_devdata(master); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 104 unsigned count = t->len; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 105 const u8 *tx = t->tx_buf; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 106 u8 *rx = t->rx_buf; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 107 u8 word = 0; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 108 int ret = 0; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 109 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 110 if (tx) { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 111 data->state &= ~SPI_LP8841_RTC_nWE; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 112 writeb(data->state, data->iomem); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 113 while (likely(count > 0)) { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 114 word = *tx++; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 115 bitbang_txrx_be_cpha0_lsb(data, 1, 0, 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 116 SPI_MASTER_NO_RX, word, 8); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 117 count--; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 118 } 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 119 } else if (rx) { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 120 data->state |= SPI_LP8841_RTC_nWE; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 121 writeb(data->state, data->iomem); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 122 while (likely(count > 0)) { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 123 word = bitbang_txrx_be_cpha0_lsb(data, 1, 0, 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 124 SPI_MASTER_NO_TX, word, 8); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 125 *rx++ = word; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 126 count--; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 127 } 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 128 } else { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 129 ret = -EINVAL; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 130 } 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 131 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 132 spi_finalize_current_transfer(master); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 133 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 134 return ret; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 135 } 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 136 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 137 static void 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 138 spi_lp8841_rtc_set_cs(struct spi_device *spi, bool enable) 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 139 { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 140 struct spi_lp8841_rtc *data = spi_master_get_devdata(spi->master); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 141 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 142 data->state = 0; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 143 writeb(data->state, data->iomem); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 144 if (enable) { 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 145 usleep_range(4, 5); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 146 data->state |= SPI_LP8841_RTC_CE; 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 @147 writeb(data->state, data->iomem); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 148 usleep_range(4, 5); 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 149 } 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 150 } 7ecbfff6711fb3 Sergei Ianovich 2016-02-23 151 :::::: The code at line 63 was first introduced by commit :::::: 7ecbfff6711fb331591003ac32c002ce55a0758f spi: master driver to enable RTC on ICPDAS LP-8841 :::::: TO: Sergei Ianovich :::::: CC: Mark Brown -- 0-DAY CI Kernel Test Service https://01.org/lkp