Hi Seshu, kernel test robot noticed the following build warnings: [auto build test WARNING on v6.11] [also build test WARNING on next-20240930] [cannot apply to linus/master] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Seshu-Madhavi-Puppala/qcom-ice-Remove-ice-probe/20240928-130818 base: v6.11 patch link: https://lore.kernel.org/r/20240928050456.27577-1-quic_spuppala%40quicinc.com patch subject: [PATCH] qcom: ice: Remove ice probe config: arc-randconfig-r122-20241001 (https://download.01.org/0day-ci/archive/20241001/202410011021.Lr5B1w7F-lkp@xxxxxxxxx/config) compiler: arc-elf-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20241001/202410011021.Lr5B1w7F-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202410011021.Lr5B1w7F-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) >> drivers/soc/qcom/ice.c:309:31: sparse: sparse: incorrect type in return expression (different base types) @@ expected struct qcom_ice * @@ got long @@ drivers/soc/qcom/ice.c:309:31: sparse: expected struct qcom_ice * drivers/soc/qcom/ice.c:309:31: sparse: got long drivers/soc/qcom/ice.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/xarray.h, ...): include/linux/page-flags.h:235:46: sparse: sparse: self-comparison always evaluates to false include/linux/page-flags.h:235:46: sparse: sparse: self-comparison always evaluates to false vim +309 drivers/soc/qcom/ice.c 250 251 /** 252 * of_qcom_ice_get() - get an ICE instance from a DT node 253 * @dev: device pointer for the consumer device 254 * 255 * This function will provide an ICE instance either by creating one for the 256 * consumer device if its DT node provides the 'ice' reg range and the 'ice' 257 * clock (for legacy DT style). On the other hand, if consumer provides a 258 * phandle via 'qcom,ice' property to an ICE DT, the ICE instance will already 259 * be created and so this function will return that instead. 260 * 261 * Return: ICE pointer on success, NULL if there is no ICE data provided by the 262 * consumer or ERR_PTR() on error. 263 */ 264 struct qcom_ice *of_qcom_ice_get(struct device *dev) 265 { 266 struct platform_device *pdev = to_platform_device(dev); 267 struct qcom_ice *ice; 268 struct device_node *node; 269 struct resource *res; 270 void __iomem *base; 271 272 if (!dev || !dev->of_node) 273 return ERR_PTR(-ENODEV); 274 275 /* 276 * In order to support legacy style devicetree bindings, we need 277 * to create the ICE instance using the consumer device and the reg 278 * range called 'ice' it provides. 279 */ 280 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ice"); 281 if (res) { 282 base = devm_ioremap_resource(&pdev->dev, res); 283 if (IS_ERR(base)) 284 return ERR_CAST(base); 285 286 /* create ICE instance using consumer dev */ 287 return qcom_ice_create(&pdev->dev, base); 288 } 289 290 /* 291 * If the consumer node does not provider an 'ice' reg range 292 * (legacy DT binding), then it must at least provide a phandle 293 * to the ICE devicetree node, otherwise ICE is not supported. 294 */ 295 node = of_parse_phandle(dev->of_node, "qcom,ice", 0); 296 if (!node) 297 return NULL; 298 299 pdev = of_find_device_by_node(node); 300 if (!pdev) { 301 dev_err(dev, "Cannot find device node %s\n", node->name); 302 ice = ERR_PTR(-EPROBE_DEFER); 303 goto out; 304 } 305 306 base = devm_platform_ioremap_resource(pdev, 0); 307 if (IS_ERR(base)) { 308 dev_warn(&pdev->dev, "ICE registers not found\n"); > 309 return PTR_ERR(base); 310 } 311 312 ice = qcom_ice_create(&pdev->dev, base); 313 if (!ice) { 314 dev_err(dev, "Cannot get ice instance from %s\n", 315 dev_name(&pdev->dev)); 316 platform_device_put(pdev); 317 ice = ERR_PTR(-EPROBE_DEFER); 318 goto out; 319 } 320 321 ice->link = device_link_add(dev, &pdev->dev, DL_FLAG_AUTOREMOVE_SUPPLIER); 322 if (!ice->link) { 323 dev_err(&pdev->dev, 324 "Failed to create device link to consumer %s\n", 325 dev_name(dev)); 326 platform_device_put(pdev); 327 ice = ERR_PTR(-EINVAL); 328 } 329 330 out: 331 of_node_put(node); 332 333 return ice; 334 } 335 EXPORT_SYMBOL_GPL(of_qcom_ice_get); 336 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki