CC: [email protected] TO: Srinivas Pandruvada <[email protected]> CC: "Dutta, Ranjan" <[email protected]>
tree: https://github.com/intel/linux-intel-lts.git 5.10/yocto head: 1295e3a3b1ca09035005acb32a98dedf96ca3a80 commit: 81915272ac5c5c670876e773a3febc7ec67268e1 [15/21] thermal/drivers/int340x/processor_thermal: Add PCI MMIO based thermal driver :::::: branch date: 3 months ago :::::: commit date: 3 months ago config: x86_64-randconfig-m001-20211216 (https://download.01.org/0day-ci/archive/20211218/[email protected]/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c:258 proc_thermal_pci_probe() warn: missing error code 'ret' vim +/ret +258 drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.c 81915272ac5c5c Srinivas Pandruvada 2021-05-25 214 81915272ac5c5c Srinivas Pandruvada 2021-05-25 215 static int proc_thermal_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) 81915272ac5c5c Srinivas Pandruvada 2021-05-25 216 { 81915272ac5c5c Srinivas Pandruvada 2021-05-25 217 struct proc_thermal_device *proc_priv; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 218 struct proc_thermal_pci *pci_info; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 219 int irq_flag = 0, irq, ret; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 220 81915272ac5c5c Srinivas Pandruvada 2021-05-25 221 proc_priv = devm_kzalloc(&pdev->dev, sizeof(*proc_priv), GFP_KERNEL); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 222 if (!proc_priv) 81915272ac5c5c Srinivas Pandruvada 2021-05-25 223 return -ENOMEM; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 224 81915272ac5c5c Srinivas Pandruvada 2021-05-25 225 pci_info = devm_kzalloc(&pdev->dev, sizeof(*pci_info), GFP_KERNEL); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 226 if (!pci_info) 81915272ac5c5c Srinivas Pandruvada 2021-05-25 227 return -ENOMEM; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 228 81915272ac5c5c Srinivas Pandruvada 2021-05-25 229 pci_info->pdev = pdev; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 230 ret = pcim_enable_device(pdev); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 231 if (ret < 0) { 81915272ac5c5c Srinivas Pandruvada 2021-05-25 232 dev_err(&pdev->dev, "error: could not enable device\n"); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 233 return ret; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 234 } 81915272ac5c5c Srinivas Pandruvada 2021-05-25 235 81915272ac5c5c Srinivas Pandruvada 2021-05-25 236 pci_set_master(pdev); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 237 81915272ac5c5c Srinivas Pandruvada 2021-05-25 238 INIT_DELAYED_WORK(&pci_info->work, proc_thermal_threshold_work_fn); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 239 81915272ac5c5c Srinivas Pandruvada 2021-05-25 240 ret = proc_thermal_add(&pdev->dev, proc_priv); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 241 if (ret) { 81915272ac5c5c Srinivas Pandruvada 2021-05-25 242 dev_err(&pdev->dev, "error: proc_thermal_add, will continue\n"); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 243 pci_info->no_legacy = 1; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 244 } 81915272ac5c5c Srinivas Pandruvada 2021-05-25 245 81915272ac5c5c Srinivas Pandruvada 2021-05-25 246 proc_priv->priv_data = pci_info; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 247 pci_info->proc_priv = proc_priv; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 248 pci_set_drvdata(pdev, proc_priv); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 249 81915272ac5c5c Srinivas Pandruvada 2021-05-25 250 ret = proc_thermal_mmio_add(pdev, proc_priv, id->driver_data); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 251 if (ret) 81915272ac5c5c Srinivas Pandruvada 2021-05-25 252 goto err_ret_thermal; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 253 81915272ac5c5c Srinivas Pandruvada 2021-05-25 254 pci_info->tzone = thermal_zone_device_register("TCPU_PCI", 1, 1, pci_info, 81915272ac5c5c Srinivas Pandruvada 2021-05-25 255 &tzone_ops, 81915272ac5c5c Srinivas Pandruvada 2021-05-25 256 &tzone_params, 0, 0); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 257 if (IS_ERR(pci_info->tzone)) 81915272ac5c5c Srinivas Pandruvada 2021-05-25 @258 goto err_ret_mmio; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 259 81915272ac5c5c Srinivas Pandruvada 2021-05-25 260 /* request and enable interrupt */ 81915272ac5c5c Srinivas Pandruvada 2021-05-25 261 ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 262 if (ret < 0) { 81915272ac5c5c Srinivas Pandruvada 2021-05-25 263 dev_err(&pdev->dev, "Failed to allocate vectors!\n"); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 264 goto err_ret_tzone; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 265 } 81915272ac5c5c Srinivas Pandruvada 2021-05-25 266 if (!pdev->msi_enabled && !pdev->msix_enabled) 81915272ac5c5c Srinivas Pandruvada 2021-05-25 267 irq_flag = IRQF_SHARED; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 268 81915272ac5c5c Srinivas Pandruvada 2021-05-25 269 irq = pci_irq_vector(pdev, 0); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 270 ret = devm_request_threaded_irq(&pdev->dev, irq, 81915272ac5c5c Srinivas Pandruvada 2021-05-25 271 proc_thermal_irq_handler, NULL, 81915272ac5c5c Srinivas Pandruvada 2021-05-25 272 irq_flag, KBUILD_MODNAME, pci_info); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 273 if (ret) { 81915272ac5c5c Srinivas Pandruvada 2021-05-25 274 dev_err(&pdev->dev, "Request IRQ %d failed\n", pdev->irq); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 275 goto err_free_vectors; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 276 } 81915272ac5c5c Srinivas Pandruvada 2021-05-25 277 81915272ac5c5c Srinivas Pandruvada 2021-05-25 278 return 0; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 279 81915272ac5c5c Srinivas Pandruvada 2021-05-25 280 err_free_vectors: 81915272ac5c5c Srinivas Pandruvada 2021-05-25 281 pci_free_irq_vectors(pdev); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 282 err_ret_tzone: 81915272ac5c5c Srinivas Pandruvada 2021-05-25 283 thermal_zone_device_unregister(pci_info->tzone); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 284 err_ret_mmio: 81915272ac5c5c Srinivas Pandruvada 2021-05-25 285 proc_thermal_mmio_remove(pdev, proc_priv); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 286 err_ret_thermal: 81915272ac5c5c Srinivas Pandruvada 2021-05-25 287 if (!pci_info->no_legacy) 81915272ac5c5c Srinivas Pandruvada 2021-05-25 288 proc_thermal_remove(proc_priv); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 289 pci_disable_device(pdev); 81915272ac5c5c Srinivas Pandruvada 2021-05-25 290 81915272ac5c5c Srinivas Pandruvada 2021-05-25 291 return ret; 81915272ac5c5c Srinivas Pandruvada 2021-05-25 292 } 81915272ac5c5c Srinivas Pandruvada 2021-05-25 293 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
