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 B0F22C433F5 for ; Thu, 17 Mar 2022 02:44:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0AA536B0071; Wed, 16 Mar 2022 22:44:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 05A176B0072; Wed, 16 Mar 2022 22:44:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E3CA68D0001; Wed, 16 Mar 2022 22:44:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0045.hostedemail.com [216.40.44.45]) by kanga.kvack.org (Postfix) with ESMTP id D24A66B0071 for ; Wed, 16 Mar 2022 22:44:36 -0400 (EDT) Received: from smtpin20.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 62D33A32DA for ; Thu, 17 Mar 2022 02:44:36 +0000 (UTC) X-FDA: 79252334952.20.64CBDB2 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by imf28.hostedemail.com (Postfix) with ESMTP id 08823C0002 for ; Thu, 17 Mar 2022 02:44:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1647485075; x=1679021075; h=date:from:cc:subject:message-id:mime-version; bh=UM0PcKKCtcPoCpdJyHbUhhc2Jsu5wIRfKVPRMiaSqfA=; b=lPCsA3dcdUo15gkFqfxZ1Bq46Ya9EmBFOro5e9mvWx0R3L3YO+4Ollz6 lRZTlyZKS0r7tsvspMtPQUYj+ZvgHLlEufrWKVQ+4jNr4sG6I3coHfu5N gnRPnWQ4ShmNBWsufS9T860rzJu3RbPV6KmO0gWyEYeSX/jM19Gz1uf1o 0fIWsofzJlrIMLehB+SpRgyZMeNVKFyvq6I8XgzXpbc4I0FPLCpBilhOp +OXUvLAZmx/g3w2hc4orBY4HN9Khc0pO2Cnw4OokKCJXGxGUILhwrc9ch msgCAtgULHgCI2GRQGo5eAXZVam33B1uyhd/EJ0xNEQZDG6USNCuH8cxy Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10288"; a="255596705" X-IronPort-AV: E=Sophos;i="5.90,188,1643702400"; d="scan'208";a="255596705" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2022 19:44:33 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,188,1643702400"; d="scan'208";a="714865479" Received: from lkp-server02.sh.intel.com (HELO 89b41b6ae01c) ([10.239.97.151]) by orsmga005.jf.intel.com with ESMTP; 16 Mar 2022 19:44:31 -0700 Received: from kbuild by 89b41b6ae01c with local (Exim 4.92) (envelope-from ) id 1nUg7r-000DDG-4a; Thu, 17 Mar 2022 02:44:31 +0000 Date: Thu, 17 Mar 2022 10:43:59 +0800 From: kernel test robot Cc: kbuild-all@lists.01.org, Linux Memory Management List , Yoshinori Sato Subject: [linux-next:master 54/13209] drivers/irqchip/irq-renesas-h8s.c:54:35: sparse: sparse: incorrect type in argument 1 (different address spaces) Message-ID: <202203171059.Kq93mGUL-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 08823C0002 X-Stat-Signature: cp8rf88jka44mn8c5kybqytgp49q6xjs X-Rspam-User: Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=lPCsA3dc; spf=none (imf28.hostedemail.com: domain of lkp@intel.com has no SPF policy when checking 192.55.52.120) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com X-HE-Tag: 1647485074-673259 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/next/linux-next.git master head: 8a11187eb62b8b910d2c5484e1f5d160e8b11eb4 commit: 6b9a5f88e90983c7725ee56437b5f6ae8974152d [54/13209] Merge remote-tracking branch 'origin/master' into h8300-next config: h8300-randconfig-s031-20220316 (https://download.01.org/0day-ci/archive/20220317/202203171059.Kq93mGUL-lkp@intel.com/config) compiler: h8300-linux-gcc (GCC) 11.2.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-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=6b9a5f88e90983c7725ee56437b5f6ae8974152d git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 6b9a5f88e90983c7725ee56437b5f6ae8974152d # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=h8300 SHELL=/bin/bash drivers/irqchip/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) drivers/irqchip/irq-renesas-h8s.c:48:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void * @@ drivers/irqchip/irq-renesas-h8s.c:48:14: sparse: expected void [noderef] __iomem *addr drivers/irqchip/irq-renesas-h8s.c:48:14: sparse: got void * >> drivers/irqchip/irq-renesas-h8s.c:54:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/irqchip/irq-renesas-h8s.c:54:35: sparse: expected void const volatile [noderef] __iomem *addr drivers/irqchip/irq-renesas-h8s.c:54:35: sparse: got void * drivers/irqchip/irq-renesas-h8s.c:56:35: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/irqchip/irq-renesas-h8s.c:56:35: sparse: expected void const volatile [noderef] __iomem *addr drivers/irqchip/irq-renesas-h8s.c:56:35: sparse: got void * drivers/irqchip/irq-renesas-h8s.c:71:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *addr @@ got void * @@ drivers/irqchip/irq-renesas-h8s.c:71:14: sparse: expected void [noderef] __iomem *addr drivers/irqchip/irq-renesas-h8s.c:71:14: sparse: got void * drivers/irqchip/irq-renesas-h8s.c:78:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/irqchip/irq-renesas-h8s.c:78:35: sparse: expected void const volatile [noderef] __iomem *addr drivers/irqchip/irq-renesas-h8s.c:78:35: sparse: got void * drivers/irqchip/irq-renesas-h8s.c:80:35: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/irqchip/irq-renesas-h8s.c:80:35: sparse: expected void const volatile [noderef] __iomem *addr drivers/irqchip/irq-renesas-h8s.c:80:35: sparse: got void * drivers/irqchip/irq-renesas-h8s.c:91:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/irqchip/irq-renesas-h8s.c:91:35: sparse: expected void const volatile [noderef] __iomem *addr drivers/irqchip/irq-renesas-h8s.c:91:35: sparse: got void * drivers/irqchip/irq-renesas-h8s.c:93:35: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/irqchip/irq-renesas-h8s.c:93:35: sparse: expected void const volatile [noderef] __iomem *addr drivers/irqchip/irq-renesas-h8s.c:93:35: sparse: got void * >> drivers/irqchip/irq-renesas-h8s.c:123:18: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *static [toplevel] ipr_base @@ got void [noderef] __iomem * @@ drivers/irqchip/irq-renesas-h8s.c:123:18: sparse: expected void *static [toplevel] ipr_base drivers/irqchip/irq-renesas-h8s.c:123:18: sparse: got void [noderef] __iomem * >> drivers/irqchip/irq-renesas-h8s.c:124:18: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *static [toplevel] icr_base @@ got void [noderef] __iomem * @@ drivers/irqchip/irq-renesas-h8s.c:124:18: sparse: expected void *static [toplevel] icr_base drivers/irqchip/irq-renesas-h8s.c:124:18: sparse: got void [noderef] __iomem * drivers/irqchip/irq-renesas-h8s.c:130:43: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/irqchip/irq-renesas-h8s.c:130:43: sparse: expected void const volatile [noderef] __iomem *addr drivers/irqchip/irq-renesas-h8s.c:130:43: sparse: got void * drivers/irqchip/irq-renesas-h8s.c:132:30: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/irqchip/irq-renesas-h8s.c:132:30: sparse: expected void const volatile [noderef] __iomem *addr drivers/irqchip/irq-renesas-h8s.c:132:30: sparse: got void * drivers/irqchip/irq-renesas-h8s.c: note: in included file (through include/linux/io.h, include/linux/irq.h): arch/h8300/include/asm/io.h:20:18: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:38:11: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:20:18: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:38:11: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:20:18: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:38:11: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:20:18: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:38:11: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:20:18: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:38:11: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:38:11: sparse: sparse: cast removes address space '__iomem' of expression arch/h8300/include/asm/io.h:38:11: sparse: sparse: cast removes address space '__iomem' of expression vim +54 drivers/irqchip/irq-renesas-h8s.c 8a7644821ae00b Yoshinori Sato 2015-05-10 36 8a7644821ae00b Yoshinori Sato 2015-05-10 37 static void h8s_disable_irq(struct irq_data *data) 8a7644821ae00b Yoshinori Sato 2015-05-10 38 { 8a7644821ae00b Yoshinori Sato 2015-05-10 39 int pos; 558e6694cd4da8 Yoshinori Sato 2018-08-13 40 void __iomem *addr; 8a7644821ae00b Yoshinori Sato 2015-05-10 41 unsigned short pri; beab3d5cb0e14e Yoshinori Sato 2020-04-15 42 int irq = data->irq - 16; beab3d5cb0e14e Yoshinori Sato 2020-04-15 43 unsigned short ier; beab3d5cb0e14e Yoshinori Sato 2020-04-15 44 beab3d5cb0e14e Yoshinori Sato 2020-04-15 45 if (irq < 0) beab3d5cb0e14e Yoshinori Sato 2020-04-15 46 return; 8a7644821ae00b Yoshinori Sato 2015-05-10 47 beab3d5cb0e14e Yoshinori Sato 2020-04-15 @48 addr = IPRA + ((ipr_table[irq] & 0xf0) >> 3); beab3d5cb0e14e Yoshinori Sato 2020-04-15 49 pos = (ipr_table[irq] & 0x0f) * 4; 8a7644821ae00b Yoshinori Sato 2015-05-10 50 pri = ~(0x000f << pos); 2c496a11304da8 Yoshinori Sato 2019-12-26 51 pri &= __raw_readw(addr); 2c496a11304da8 Yoshinori Sato 2019-12-26 52 __raw_writew(pri, addr); beab3d5cb0e14e Yoshinori Sato 2020-04-15 53 if (irq < 16) { beab3d5cb0e14e Yoshinori Sato 2020-04-15 @54 ier = __raw_readw(IER); beab3d5cb0e14e Yoshinori Sato 2020-04-15 55 ier &= ~(1 << irq); beab3d5cb0e14e Yoshinori Sato 2020-04-15 56 __raw_writew(ier, IER); beab3d5cb0e14e Yoshinori Sato 2020-04-15 57 } 8a7644821ae00b Yoshinori Sato 2015-05-10 58 } 8a7644821ae00b Yoshinori Sato 2015-05-10 59 8a7644821ae00b Yoshinori Sato 2015-05-10 60 static void h8s_enable_irq(struct irq_data *data) 8a7644821ae00b Yoshinori Sato 2015-05-10 61 { 8a7644821ae00b Yoshinori Sato 2015-05-10 62 int pos; 558e6694cd4da8 Yoshinori Sato 2018-08-13 63 void __iomem *addr; 8a7644821ae00b Yoshinori Sato 2015-05-10 64 unsigned short pri; beab3d5cb0e14e Yoshinori Sato 2020-04-15 65 int irq = data->irq - 16; beab3d5cb0e14e Yoshinori Sato 2020-04-15 66 unsigned short ier; beab3d5cb0e14e Yoshinori Sato 2020-04-15 67 beab3d5cb0e14e Yoshinori Sato 2020-04-15 68 if (irq < 0) beab3d5cb0e14e Yoshinori Sato 2020-04-15 69 return; 8a7644821ae00b Yoshinori Sato 2015-05-10 70 beab3d5cb0e14e Yoshinori Sato 2020-04-15 71 addr = IPRA + ((ipr_table[irq] & 0xf0) >> 3); beab3d5cb0e14e Yoshinori Sato 2020-04-15 72 pos = (ipr_table[irq] & 0x0f) * 4; 8a7644821ae00b Yoshinori Sato 2015-05-10 73 pri = ~(0x000f << pos); 2c496a11304da8 Yoshinori Sato 2019-12-26 74 pri &= __raw_readw(addr); 8a7644821ae00b Yoshinori Sato 2015-05-10 75 pri |= 1 << pos; 2c496a11304da8 Yoshinori Sato 2019-12-26 76 __raw_writew(pri, addr); beab3d5cb0e14e Yoshinori Sato 2020-04-15 77 if (irq < 16) { beab3d5cb0e14e Yoshinori Sato 2020-04-15 78 ier = __raw_readw(IER); beab3d5cb0e14e Yoshinori Sato 2020-04-15 79 ier &= ~(1 << irq); beab3d5cb0e14e Yoshinori Sato 2020-04-15 @80 __raw_writew(ier, IER); beab3d5cb0e14e Yoshinori Sato 2020-04-15 81 } 2c496a11304da8 Yoshinori Sato 2019-12-26 82 } 2c496a11304da8 Yoshinori Sato 2019-12-26 83 2c496a11304da8 Yoshinori Sato 2019-12-26 84 static void h8s_ack_irq(struct irq_data *data) 2c496a11304da8 Yoshinori Sato 2019-12-26 85 { 2c496a11304da8 Yoshinori Sato 2019-12-26 86 int irq = data->irq; 2c496a11304da8 Yoshinori Sato 2019-12-26 87 uint16_t isr; 2c496a11304da8 Yoshinori Sato 2019-12-26 88 2c496a11304da8 Yoshinori Sato 2019-12-26 89 if (irq >= 16 && irq < 32) { 2c496a11304da8 Yoshinori Sato 2019-12-26 90 irq -= 16; beab3d5cb0e14e Yoshinori Sato 2020-04-15 @91 isr = __raw_readw(ISR); 2c496a11304da8 Yoshinori Sato 2019-12-26 92 isr &= ~(1 << irq); beab3d5cb0e14e Yoshinori Sato 2020-04-15 93 __raw_writew(isr, ISR); 2c496a11304da8 Yoshinori Sato 2019-12-26 94 } 8a7644821ae00b Yoshinori Sato 2015-05-10 95 } 8a7644821ae00b Yoshinori Sato 2015-05-10 96 8a7644821ae00b Yoshinori Sato 2015-05-10 97 struct irq_chip h8s_irq_chip = { 8a7644821ae00b Yoshinori Sato 2015-05-10 98 .name = "H8S-INTC", 8a7644821ae00b Yoshinori Sato 2015-05-10 99 .irq_enable = h8s_enable_irq, 8a7644821ae00b Yoshinori Sato 2015-05-10 100 .irq_disable = h8s_disable_irq, 2c496a11304da8 Yoshinori Sato 2019-12-26 101 .irq_ack = h8s_ack_irq, 8a7644821ae00b Yoshinori Sato 2015-05-10 102 }; 8a7644821ae00b Yoshinori Sato 2015-05-10 103 8a7644821ae00b Yoshinori Sato 2015-05-10 104 static __init int irq_map(struct irq_domain *h, unsigned int virq, 8a7644821ae00b Yoshinori Sato 2015-05-10 105 irq_hw_number_t hw_irq_num) 8a7644821ae00b Yoshinori Sato 2015-05-10 106 { 8a7644821ae00b Yoshinori Sato 2015-05-10 107 irq_set_chip_and_handler(virq, &h8s_irq_chip, handle_simple_irq); 8a7644821ae00b Yoshinori Sato 2015-05-10 108 8a7644821ae00b Yoshinori Sato 2015-05-10 109 return 0; 8a7644821ae00b Yoshinori Sato 2015-05-10 110 } 8a7644821ae00b Yoshinori Sato 2015-05-10 111 c9262475fa592c Tobias Klauser 2017-06-02 112 static const struct irq_domain_ops irq_ops = { 8a7644821ae00b Yoshinori Sato 2015-05-10 113 .map = irq_map, 8a7644821ae00b Yoshinori Sato 2015-05-10 114 .xlate = irq_domain_xlate_onecell, 8a7644821ae00b Yoshinori Sato 2015-05-10 115 }; 8a7644821ae00b Yoshinori Sato 2015-05-10 116 8a7644821ae00b Yoshinori Sato 2015-05-10 117 static int __init h8s_intc_of_init(struct device_node *intc, 8a7644821ae00b Yoshinori Sato 2015-05-10 118 struct device_node *parent) 8a7644821ae00b Yoshinori Sato 2015-05-10 119 { 8a7644821ae00b Yoshinori Sato 2015-05-10 120 struct irq_domain *domain; 8a7644821ae00b Yoshinori Sato 2015-05-10 121 int n; 8a7644821ae00b Yoshinori Sato 2015-05-10 122 2c496a11304da8 Yoshinori Sato 2019-12-26 @123 ipr_base = of_iomap(intc, 0); 2c496a11304da8 Yoshinori Sato 2019-12-26 @124 icr_base = of_iomap(intc, 1); 2c496a11304da8 Yoshinori Sato 2019-12-26 125 BUG_ON(!ipr_base || !icr_base); 8a7644821ae00b Yoshinori Sato 2015-05-10 126 8a7644821ae00b Yoshinori Sato 2015-05-10 127 /* All interrupt priority is 0 (disable) */ 8a7644821ae00b Yoshinori Sato 2015-05-10 128 /* IPRA to IPRK */ 8a7644821ae00b Yoshinori Sato 2015-05-10 129 for (n = 0; n <= 'k' - 'a'; n++) 2c496a11304da8 Yoshinori Sato 2019-12-26 130 __raw_writew(0x0000, IPRA + (n * 2)); 8a7644821ae00b Yoshinori Sato 2015-05-10 131 beab3d5cb0e14e Yoshinori Sato 2020-04-15 132 __raw_writew(0xffff, IER); 8a7644821ae00b Yoshinori Sato 2015-05-10 133 domain = irq_domain_add_linear(intc, NR_IRQS, &irq_ops, NULL); 8a7644821ae00b Yoshinori Sato 2015-05-10 134 BUG_ON(!domain); 8a7644821ae00b Yoshinori Sato 2015-05-10 135 irq_set_default_host(domain); 8a7644821ae00b Yoshinori Sato 2015-05-10 136 return 0; 8a7644821ae00b Yoshinori Sato 2015-05-10 137 } 8a7644821ae00b Yoshinori Sato 2015-05-10 138 :::::: The code at line 54 was first introduced by commit :::::: beab3d5cb0e14e6397c4e596b3dbf1d36bf49d06 irq-renesas-h8s: Fix external interrupt control. :::::: TO: Yoshinori Sato :::::: CC: Yoshinori Sato --- 0-DAY CI Kernel Test Service https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org