From: kernel test robot <lkp@intel.com> To: Fabio Estevam <festevam@gmail.com> Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com, Linux Memory Management List <linux-mm@kvack.org>, Vinod Koul <vkoul@kernel.org> Subject: [linux-next:master 6953/13205] drivers/dma/imx-dma.c:1048:20: warning: cast to smaller integer type 'enum imx_dma_type' from 'const void Date: Fri, 11 Dec 2020 21:46:55 +0800 [thread overview] Message-ID: <202012112150.CCpStiwY-lkp@intel.com> (raw) [-- Attachment #1: Type: text/plain, Size: 7678 bytes --] tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 3cc2bd440f2171f093b3a8480a4b54d8c270ed38 commit: 0ab785c894e618587e83bb67e8a8e96649868ad1 [6953/13205] dmaengine: imx-dma: Remove unused .id_table config: arm64-randconfig-r012-20201211 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 5ff35356f1af2bb92785b38c657463924d9ec386) 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 # install arm64 cross compiling tool for clang build # apt-get install binutils-aarch64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=0ab785c894e618587e83bb67e8a8e96649868ad1 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 0ab785c894e618587e83bb67e8a8e96649868ad1 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): >> drivers/dma/imx-dma.c:1048:20: warning: cast to smaller integer type 'enum imx_dma_type' from 'const void *' [-Wvoid-pointer-to-enum-cast] imxdma->devtype = (enum imx_dma_type)of_device_get_match_data(&pdev->dev); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. vim +1048 drivers/dma/imx-dma.c 1035 1036 static int __init imxdma_probe(struct platform_device *pdev) 1037 { 1038 struct imxdma_engine *imxdma; 1039 struct resource *res; 1040 int ret, i; 1041 int irq, irq_err; 1042 1043 imxdma = devm_kzalloc(&pdev->dev, sizeof(*imxdma), GFP_KERNEL); 1044 if (!imxdma) 1045 return -ENOMEM; 1046 1047 imxdma->dev = &pdev->dev; > 1048 imxdma->devtype = (enum imx_dma_type)of_device_get_match_data(&pdev->dev); 1049 1050 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1051 imxdma->base = devm_ioremap_resource(&pdev->dev, res); 1052 if (IS_ERR(imxdma->base)) 1053 return PTR_ERR(imxdma->base); 1054 1055 irq = platform_get_irq(pdev, 0); 1056 if (irq < 0) 1057 return irq; 1058 1059 imxdma->dma_ipg = devm_clk_get(&pdev->dev, "ipg"); 1060 if (IS_ERR(imxdma->dma_ipg)) 1061 return PTR_ERR(imxdma->dma_ipg); 1062 1063 imxdma->dma_ahb = devm_clk_get(&pdev->dev, "ahb"); 1064 if (IS_ERR(imxdma->dma_ahb)) 1065 return PTR_ERR(imxdma->dma_ahb); 1066 1067 ret = clk_prepare_enable(imxdma->dma_ipg); 1068 if (ret) 1069 return ret; 1070 ret = clk_prepare_enable(imxdma->dma_ahb); 1071 if (ret) 1072 goto disable_dma_ipg_clk; 1073 1074 /* reset DMA module */ 1075 imx_dmav1_writel(imxdma, DCR_DRST, DMA_DCR); 1076 1077 if (is_imx1_dma(imxdma)) { 1078 ret = devm_request_irq(&pdev->dev, irq, 1079 dma_irq_handler, 0, "DMA", imxdma); 1080 if (ret) { 1081 dev_warn(imxdma->dev, "Can't register IRQ for DMA\n"); 1082 goto disable_dma_ahb_clk; 1083 } 1084 imxdma->irq = irq; 1085 1086 irq_err = platform_get_irq(pdev, 1); 1087 if (irq_err < 0) { 1088 ret = irq_err; 1089 goto disable_dma_ahb_clk; 1090 } 1091 1092 ret = devm_request_irq(&pdev->dev, irq_err, 1093 imxdma_err_handler, 0, "DMA", imxdma); 1094 if (ret) { 1095 dev_warn(imxdma->dev, "Can't register ERRIRQ for DMA\n"); 1096 goto disable_dma_ahb_clk; 1097 } 1098 imxdma->irq_err = irq_err; 1099 } 1100 1101 /* enable DMA module */ 1102 imx_dmav1_writel(imxdma, DCR_DEN, DMA_DCR); 1103 1104 /* clear all interrupts */ 1105 imx_dmav1_writel(imxdma, (1 << IMX_DMA_CHANNELS) - 1, DMA_DISR); 1106 1107 /* disable interrupts */ 1108 imx_dmav1_writel(imxdma, (1 << IMX_DMA_CHANNELS) - 1, DMA_DIMR); 1109 1110 INIT_LIST_HEAD(&imxdma->dma_device.channels); 1111 1112 dma_cap_set(DMA_SLAVE, imxdma->dma_device.cap_mask); 1113 dma_cap_set(DMA_CYCLIC, imxdma->dma_device.cap_mask); 1114 dma_cap_set(DMA_MEMCPY, imxdma->dma_device.cap_mask); 1115 dma_cap_set(DMA_INTERLEAVE, imxdma->dma_device.cap_mask); 1116 1117 /* Initialize 2D global parameters */ 1118 for (i = 0; i < IMX_DMA_2D_SLOTS; i++) 1119 imxdma->slots_2d[i].count = 0; 1120 1121 spin_lock_init(&imxdma->lock); 1122 1123 /* Initialize channel parameters */ 1124 for (i = 0; i < IMX_DMA_CHANNELS; i++) { 1125 struct imxdma_channel *imxdmac = &imxdma->channel[i]; 1126 1127 if (!is_imx1_dma(imxdma)) { 1128 ret = devm_request_irq(&pdev->dev, irq + i, 1129 dma_irq_handler, 0, "DMA", imxdma); 1130 if (ret) { 1131 dev_warn(imxdma->dev, "Can't register IRQ %d " 1132 "for DMA channel %d\n", 1133 irq + i, i); 1134 goto disable_dma_ahb_clk; 1135 } 1136 1137 imxdmac->irq = irq + i; 1138 timer_setup(&imxdmac->watchdog, imxdma_watchdog, 0); 1139 } 1140 1141 imxdmac->imxdma = imxdma; 1142 1143 INIT_LIST_HEAD(&imxdmac->ld_queue); 1144 INIT_LIST_HEAD(&imxdmac->ld_free); 1145 INIT_LIST_HEAD(&imxdmac->ld_active); 1146 1147 tasklet_setup(&imxdmac->dma_tasklet, imxdma_tasklet); 1148 imxdmac->chan.device = &imxdma->dma_device; 1149 dma_cookie_init(&imxdmac->chan); 1150 imxdmac->channel = i; 1151 1152 /* Add the channel to the DMAC list */ 1153 list_add_tail(&imxdmac->chan.device_node, 1154 &imxdma->dma_device.channels); 1155 } 1156 1157 imxdma->dma_device.dev = &pdev->dev; 1158 1159 imxdma->dma_device.device_alloc_chan_resources = imxdma_alloc_chan_resources; 1160 imxdma->dma_device.device_free_chan_resources = imxdma_free_chan_resources; 1161 imxdma->dma_device.device_tx_status = imxdma_tx_status; 1162 imxdma->dma_device.device_prep_slave_sg = imxdma_prep_slave_sg; 1163 imxdma->dma_device.device_prep_dma_cyclic = imxdma_prep_dma_cyclic; 1164 imxdma->dma_device.device_prep_dma_memcpy = imxdma_prep_dma_memcpy; 1165 imxdma->dma_device.device_prep_interleaved_dma = imxdma_prep_dma_interleaved; 1166 imxdma->dma_device.device_config = imxdma_config; 1167 imxdma->dma_device.device_terminate_all = imxdma_terminate_all; 1168 imxdma->dma_device.device_issue_pending = imxdma_issue_pending; 1169 1170 platform_set_drvdata(pdev, imxdma); 1171 1172 imxdma->dma_device.copy_align = DMAENGINE_ALIGN_4_BYTES; 1173 dma_set_max_seg_size(imxdma->dma_device.dev, 0xffffff); 1174 1175 ret = dma_async_device_register(&imxdma->dma_device); 1176 if (ret) { 1177 dev_err(&pdev->dev, "unable to register\n"); 1178 goto disable_dma_ahb_clk; 1179 } 1180 1181 if (pdev->dev.of_node) { 1182 ret = of_dma_controller_register(pdev->dev.of_node, 1183 imxdma_xlate, imxdma); 1184 if (ret) { 1185 dev_err(&pdev->dev, "unable to register of_dma_controller\n"); 1186 goto err_of_dma_controller; 1187 } 1188 } 1189 1190 return 0; 1191 1192 err_of_dma_controller: 1193 dma_async_device_unregister(&imxdma->dma_device); 1194 disable_dma_ahb_clk: 1195 clk_disable_unprepare(imxdma->dma_ahb); 1196 disable_dma_ipg_clk: 1197 clk_disable_unprepare(imxdma->dma_ipg); 1198 return ret; 1199 } 1200 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 34676 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: kbuild-all@lists.01.org Subject: [linux-next:master 6953/13205] drivers/dma/imx-dma.c:1048:20: warning: cast to smaller integer type 'enum imx_dma_type' from 'const void Date: Fri, 11 Dec 2020 21:46:55 +0800 [thread overview] Message-ID: <202012112150.CCpStiwY-lkp@intel.com> (raw) [-- Attachment #1: Type: text/plain, Size: 7879 bytes --] tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 3cc2bd440f2171f093b3a8480a4b54d8c270ed38 commit: 0ab785c894e618587e83bb67e8a8e96649868ad1 [6953/13205] dmaengine: imx-dma: Remove unused .id_table config: arm64-randconfig-r012-20201211 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 5ff35356f1af2bb92785b38c657463924d9ec386) 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 # install arm64 cross compiling tool for clang build # apt-get install binutils-aarch64-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=0ab785c894e618587e83bb67e8a8e96649868ad1 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 0ab785c894e618587e83bb67e8a8e96649868ad1 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): >> drivers/dma/imx-dma.c:1048:20: warning: cast to smaller integer type 'enum imx_dma_type' from 'const void *' [-Wvoid-pointer-to-enum-cast] imxdma->devtype = (enum imx_dma_type)of_device_get_match_data(&pdev->dev); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. vim +1048 drivers/dma/imx-dma.c 1035 1036 static int __init imxdma_probe(struct platform_device *pdev) 1037 { 1038 struct imxdma_engine *imxdma; 1039 struct resource *res; 1040 int ret, i; 1041 int irq, irq_err; 1042 1043 imxdma = devm_kzalloc(&pdev->dev, sizeof(*imxdma), GFP_KERNEL); 1044 if (!imxdma) 1045 return -ENOMEM; 1046 1047 imxdma->dev = &pdev->dev; > 1048 imxdma->devtype = (enum imx_dma_type)of_device_get_match_data(&pdev->dev); 1049 1050 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 1051 imxdma->base = devm_ioremap_resource(&pdev->dev, res); 1052 if (IS_ERR(imxdma->base)) 1053 return PTR_ERR(imxdma->base); 1054 1055 irq = platform_get_irq(pdev, 0); 1056 if (irq < 0) 1057 return irq; 1058 1059 imxdma->dma_ipg = devm_clk_get(&pdev->dev, "ipg"); 1060 if (IS_ERR(imxdma->dma_ipg)) 1061 return PTR_ERR(imxdma->dma_ipg); 1062 1063 imxdma->dma_ahb = devm_clk_get(&pdev->dev, "ahb"); 1064 if (IS_ERR(imxdma->dma_ahb)) 1065 return PTR_ERR(imxdma->dma_ahb); 1066 1067 ret = clk_prepare_enable(imxdma->dma_ipg); 1068 if (ret) 1069 return ret; 1070 ret = clk_prepare_enable(imxdma->dma_ahb); 1071 if (ret) 1072 goto disable_dma_ipg_clk; 1073 1074 /* reset DMA module */ 1075 imx_dmav1_writel(imxdma, DCR_DRST, DMA_DCR); 1076 1077 if (is_imx1_dma(imxdma)) { 1078 ret = devm_request_irq(&pdev->dev, irq, 1079 dma_irq_handler, 0, "DMA", imxdma); 1080 if (ret) { 1081 dev_warn(imxdma->dev, "Can't register IRQ for DMA\n"); 1082 goto disable_dma_ahb_clk; 1083 } 1084 imxdma->irq = irq; 1085 1086 irq_err = platform_get_irq(pdev, 1); 1087 if (irq_err < 0) { 1088 ret = irq_err; 1089 goto disable_dma_ahb_clk; 1090 } 1091 1092 ret = devm_request_irq(&pdev->dev, irq_err, 1093 imxdma_err_handler, 0, "DMA", imxdma); 1094 if (ret) { 1095 dev_warn(imxdma->dev, "Can't register ERRIRQ for DMA\n"); 1096 goto disable_dma_ahb_clk; 1097 } 1098 imxdma->irq_err = irq_err; 1099 } 1100 1101 /* enable DMA module */ 1102 imx_dmav1_writel(imxdma, DCR_DEN, DMA_DCR); 1103 1104 /* clear all interrupts */ 1105 imx_dmav1_writel(imxdma, (1 << IMX_DMA_CHANNELS) - 1, DMA_DISR); 1106 1107 /* disable interrupts */ 1108 imx_dmav1_writel(imxdma, (1 << IMX_DMA_CHANNELS) - 1, DMA_DIMR); 1109 1110 INIT_LIST_HEAD(&imxdma->dma_device.channels); 1111 1112 dma_cap_set(DMA_SLAVE, imxdma->dma_device.cap_mask); 1113 dma_cap_set(DMA_CYCLIC, imxdma->dma_device.cap_mask); 1114 dma_cap_set(DMA_MEMCPY, imxdma->dma_device.cap_mask); 1115 dma_cap_set(DMA_INTERLEAVE, imxdma->dma_device.cap_mask); 1116 1117 /* Initialize 2D global parameters */ 1118 for (i = 0; i < IMX_DMA_2D_SLOTS; i++) 1119 imxdma->slots_2d[i].count = 0; 1120 1121 spin_lock_init(&imxdma->lock); 1122 1123 /* Initialize channel parameters */ 1124 for (i = 0; i < IMX_DMA_CHANNELS; i++) { 1125 struct imxdma_channel *imxdmac = &imxdma->channel[i]; 1126 1127 if (!is_imx1_dma(imxdma)) { 1128 ret = devm_request_irq(&pdev->dev, irq + i, 1129 dma_irq_handler, 0, "DMA", imxdma); 1130 if (ret) { 1131 dev_warn(imxdma->dev, "Can't register IRQ %d " 1132 "for DMA channel %d\n", 1133 irq + i, i); 1134 goto disable_dma_ahb_clk; 1135 } 1136 1137 imxdmac->irq = irq + i; 1138 timer_setup(&imxdmac->watchdog, imxdma_watchdog, 0); 1139 } 1140 1141 imxdmac->imxdma = imxdma; 1142 1143 INIT_LIST_HEAD(&imxdmac->ld_queue); 1144 INIT_LIST_HEAD(&imxdmac->ld_free); 1145 INIT_LIST_HEAD(&imxdmac->ld_active); 1146 1147 tasklet_setup(&imxdmac->dma_tasklet, imxdma_tasklet); 1148 imxdmac->chan.device = &imxdma->dma_device; 1149 dma_cookie_init(&imxdmac->chan); 1150 imxdmac->channel = i; 1151 1152 /* Add the channel to the DMAC list */ 1153 list_add_tail(&imxdmac->chan.device_node, 1154 &imxdma->dma_device.channels); 1155 } 1156 1157 imxdma->dma_device.dev = &pdev->dev; 1158 1159 imxdma->dma_device.device_alloc_chan_resources = imxdma_alloc_chan_resources; 1160 imxdma->dma_device.device_free_chan_resources = imxdma_free_chan_resources; 1161 imxdma->dma_device.device_tx_status = imxdma_tx_status; 1162 imxdma->dma_device.device_prep_slave_sg = imxdma_prep_slave_sg; 1163 imxdma->dma_device.device_prep_dma_cyclic = imxdma_prep_dma_cyclic; 1164 imxdma->dma_device.device_prep_dma_memcpy = imxdma_prep_dma_memcpy; 1165 imxdma->dma_device.device_prep_interleaved_dma = imxdma_prep_dma_interleaved; 1166 imxdma->dma_device.device_config = imxdma_config; 1167 imxdma->dma_device.device_terminate_all = imxdma_terminate_all; 1168 imxdma->dma_device.device_issue_pending = imxdma_issue_pending; 1169 1170 platform_set_drvdata(pdev, imxdma); 1171 1172 imxdma->dma_device.copy_align = DMAENGINE_ALIGN_4_BYTES; 1173 dma_set_max_seg_size(imxdma->dma_device.dev, 0xffffff); 1174 1175 ret = dma_async_device_register(&imxdma->dma_device); 1176 if (ret) { 1177 dev_err(&pdev->dev, "unable to register\n"); 1178 goto disable_dma_ahb_clk; 1179 } 1180 1181 if (pdev->dev.of_node) { 1182 ret = of_dma_controller_register(pdev->dev.of_node, 1183 imxdma_xlate, imxdma); 1184 if (ret) { 1185 dev_err(&pdev->dev, "unable to register of_dma_controller\n"); 1186 goto err_of_dma_controller; 1187 } 1188 } 1189 1190 return 0; 1191 1192 err_of_dma_controller: 1193 dma_async_device_unregister(&imxdma->dma_device); 1194 disable_dma_ahb_clk: 1195 clk_disable_unprepare(imxdma->dma_ahb); 1196 disable_dma_ipg_clk: 1197 clk_disable_unprepare(imxdma->dma_ipg); 1198 return ret; 1199 } 1200 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 34676 bytes --]
next reply other threads:[~2020-12-11 13:47 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-12-11 13:46 kernel test robot [this message] 2020-12-11 13:46 ` [linux-next:master 6953/13205] drivers/dma/imx-dma.c:1048:20: warning: cast to smaller integer type 'enum imx_dma_type' from 'const void kernel test robot 2020-12-11 14:54 ` Souptick Joarder 2020-12-11 14:54 ` Souptick Joarder 2020-12-12 15:40 ` Fabio Estevam 2020-12-12 15:40 ` Fabio Estevam 2020-12-12 20:03 ` Nathan Chancellor 2020-12-12 20:03 ` Nathan Chancellor 2020-12-12 21:44 ` Fabio Estevam 2020-12-12 21:44 ` Fabio Estevam
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202012112150.CCpStiwY-lkp@intel.com \ --to=lkp@intel.com \ --cc=clang-built-linux@googlegroups.com \ --cc=festevam@gmail.com \ --cc=kbuild-all@lists.01.org \ --cc=linux-mm@kvack.org \ --cc=vkoul@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.