* drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
@ 2023-11-15 22:27 kernel test robot
0 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2023-11-15 22:27 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Jia Jie Ho <jiajie.ho@starfivetech.com>
CC: Herbert Xu <herbert@gondor.apana.org.au>
CC: Jenny Zhang <jenny.zhang@starfivetech.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
commit: c388f458bc34eb3a5728b67f6614f9375cd99087 hwrng: starfive - Add TRNG driver for StarFive SoC
date: 10 months ago
:::::: branch date: 17 hours ago
:::::: commit date: 10 months ago
config: riscv-randconfig-r071-20231112 (https://download.01.org/0day-ci/archive/20231116/202311160649.3GhKCfhd-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231116/202311160649.3GhKCfhd-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202311160649.3GhKCfhd-lkp@intel.com/
smatch warnings:
drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
vim +/dev_err_probe +303 drivers/char/hw_random/jh7110-trng.c
c388f458bc34eb Jia Jie Ho 2023-01-17 273
c388f458bc34eb Jia Jie Ho 2023-01-17 274 static int starfive_trng_probe(struct platform_device *pdev)
c388f458bc34eb Jia Jie Ho 2023-01-17 275 {
c388f458bc34eb Jia Jie Ho 2023-01-17 276 int ret;
c388f458bc34eb Jia Jie Ho 2023-01-17 277 int irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 278 struct starfive_trng *trng;
c388f458bc34eb Jia Jie Ho 2023-01-17 279
c388f458bc34eb Jia Jie Ho 2023-01-17 280 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL);
c388f458bc34eb Jia Jie Ho 2023-01-17 281 if (!trng)
c388f458bc34eb Jia Jie Ho 2023-01-17 282 return -ENOMEM;
c388f458bc34eb Jia Jie Ho 2023-01-17 283
c388f458bc34eb Jia Jie Ho 2023-01-17 284 platform_set_drvdata(pdev, trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 285 trng->dev = &pdev->dev;
c388f458bc34eb Jia Jie Ho 2023-01-17 286
c388f458bc34eb Jia Jie Ho 2023-01-17 287 trng->base = devm_platform_ioremap_resource(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 288 if (IS_ERR(trng->base))
c388f458bc34eb Jia Jie Ho 2023-01-17 289 return dev_err_probe(&pdev->dev, PTR_ERR(trng->base),
c388f458bc34eb Jia Jie Ho 2023-01-17 290 "Error remapping memory for platform device.\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 291
c388f458bc34eb Jia Jie Ho 2023-01-17 292 irq = platform_get_irq(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 293 if (irq < 0)
c388f458bc34eb Jia Jie Ho 2023-01-17 294 return irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 295
c388f458bc34eb Jia Jie Ho 2023-01-17 296 init_completion(&trng->random_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 297 init_completion(&trng->reseed_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 298 spin_lock_init(&trng->write_lock);
c388f458bc34eb Jia Jie Ho 2023-01-17 299
c388f458bc34eb Jia Jie Ho 2023-01-17 300 ret = devm_request_irq(&pdev->dev, irq, starfive_trng_irq, 0, pdev->name,
c388f458bc34eb Jia Jie Ho 2023-01-17 301 (void *)trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 302 if (ret)
c388f458bc34eb Jia Jie Ho 2023-01-17 @303 return dev_err_probe(&pdev->dev, irq,
c388f458bc34eb Jia Jie Ho 2023-01-17 304 "Failed to register interrupt handler\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 305
c388f458bc34eb Jia Jie Ho 2023-01-17 306 trng->hclk = devm_clk_get(&pdev->dev, "hclk");
c388f458bc34eb Jia Jie Ho 2023-01-17 307 if (IS_ERR(trng->hclk))
c388f458bc34eb Jia Jie Ho 2023-01-17 308 return dev_err_probe(&pdev->dev, PTR_ERR(trng->hclk),
c388f458bc34eb Jia Jie Ho 2023-01-17 309 "Error getting hardware reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 310
c388f458bc34eb Jia Jie Ho 2023-01-17 311 trng->ahb = devm_clk_get(&pdev->dev, "ahb");
c388f458bc34eb Jia Jie Ho 2023-01-17 312 if (IS_ERR(trng->ahb))
c388f458bc34eb Jia Jie Ho 2023-01-17 313 return dev_err_probe(&pdev->dev, PTR_ERR(trng->ahb),
c388f458bc34eb Jia Jie Ho 2023-01-17 314 "Error getting ahb reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 315
c388f458bc34eb Jia Jie Ho 2023-01-17 316 trng->rst = devm_reset_control_get_shared(&pdev->dev, NULL);
c388f458bc34eb Jia Jie Ho 2023-01-17 317 if (IS_ERR(trng->rst))
c388f458bc34eb Jia Jie Ho 2023-01-17 318 return dev_err_probe(&pdev->dev, PTR_ERR(trng->rst),
c388f458bc34eb Jia Jie Ho 2023-01-17 319 "Error getting hardware reset line\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 320
c388f458bc34eb Jia Jie Ho 2023-01-17 321 clk_prepare_enable(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 322 clk_prepare_enable(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 323 reset_control_deassert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 324
c388f458bc34eb Jia Jie Ho 2023-01-17 325 trng->rng.name = dev_driver_string(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 326 trng->rng.init = starfive_trng_init;
c388f458bc34eb Jia Jie Ho 2023-01-17 327 trng->rng.cleanup = starfive_trng_cleanup;
c388f458bc34eb Jia Jie Ho 2023-01-17 328 trng->rng.read = starfive_trng_read;
c388f458bc34eb Jia Jie Ho 2023-01-17 329
c388f458bc34eb Jia Jie Ho 2023-01-17 330 trng->mode = PRNG_256BIT;
c388f458bc34eb Jia Jie Ho 2023-01-17 331 trng->mission = 1;
c388f458bc34eb Jia Jie Ho 2023-01-17 332 trng->reseed = RANDOM_RESEED;
c388f458bc34eb Jia Jie Ho 2023-01-17 333
c388f458bc34eb Jia Jie Ho 2023-01-17 334 pm_runtime_use_autosuspend(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 335 pm_runtime_set_autosuspend_delay(&pdev->dev, 100);
c388f458bc34eb Jia Jie Ho 2023-01-17 336 pm_runtime_enable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 337
c388f458bc34eb Jia Jie Ho 2023-01-17 338 ret = devm_hwrng_register(&pdev->dev, &trng->rng);
c388f458bc34eb Jia Jie Ho 2023-01-17 339 if (ret) {
c388f458bc34eb Jia Jie Ho 2023-01-17 340 pm_runtime_disable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 341
c388f458bc34eb Jia Jie Ho 2023-01-17 342 reset_control_assert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 343 clk_disable_unprepare(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 344 clk_disable_unprepare(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 345
c388f458bc34eb Jia Jie Ho 2023-01-17 346 return dev_err_probe(&pdev->dev, ret, "Failed to register hwrng\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 347 }
c388f458bc34eb Jia Jie Ho 2023-01-17 348
c388f458bc34eb Jia Jie Ho 2023-01-17 349 return 0;
c388f458bc34eb Jia Jie Ho 2023-01-17 350 }
c388f458bc34eb Jia Jie Ho 2023-01-17 351
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread* drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
@ 2023-11-20 14:22 Dan Carpenter
2023-11-20 15:02 ` Jia Jie Ho
0 siblings, 1 reply; 9+ messages in thread
From: Dan Carpenter @ 2023-11-20 14:22 UTC (permalink / raw)
To: oe-kbuild, Jia Jie Ho
Cc: lkp, oe-kbuild-all, linux-kernel, Herbert Xu, Jenny Zhang
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
commit: c388f458bc34eb3a5728b67f6614f9375cd99087 hwrng: starfive - Add TRNG driver for StarFive SoC
config: riscv-randconfig-r071-20231112 (https://download.01.org/0day-ci/archive/20231116/202311160649.3GhKCfhd-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231116/202311160649.3GhKCfhd-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202311160649.3GhKCfhd-lkp@intel.com/
smatch warnings:
drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
vim +/dev_err_probe +303 drivers/char/hw_random/jh7110-trng.c
c388f458bc34eb Jia Jie Ho 2023-01-17 274 static int starfive_trng_probe(struct platform_device *pdev)
c388f458bc34eb Jia Jie Ho 2023-01-17 275 {
c388f458bc34eb Jia Jie Ho 2023-01-17 276 int ret;
c388f458bc34eb Jia Jie Ho 2023-01-17 277 int irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 278 struct starfive_trng *trng;
c388f458bc34eb Jia Jie Ho 2023-01-17 279
c388f458bc34eb Jia Jie Ho 2023-01-17 280 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL);
c388f458bc34eb Jia Jie Ho 2023-01-17 281 if (!trng)
c388f458bc34eb Jia Jie Ho 2023-01-17 282 return -ENOMEM;
c388f458bc34eb Jia Jie Ho 2023-01-17 283
c388f458bc34eb Jia Jie Ho 2023-01-17 284 platform_set_drvdata(pdev, trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 285 trng->dev = &pdev->dev;
c388f458bc34eb Jia Jie Ho 2023-01-17 286
c388f458bc34eb Jia Jie Ho 2023-01-17 287 trng->base = devm_platform_ioremap_resource(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 288 if (IS_ERR(trng->base))
c388f458bc34eb Jia Jie Ho 2023-01-17 289 return dev_err_probe(&pdev->dev, PTR_ERR(trng->base),
c388f458bc34eb Jia Jie Ho 2023-01-17 290 "Error remapping memory for platform device.\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 291
c388f458bc34eb Jia Jie Ho 2023-01-17 292 irq = platform_get_irq(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 293 if (irq < 0)
c388f458bc34eb Jia Jie Ho 2023-01-17 294 return irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 295
c388f458bc34eb Jia Jie Ho 2023-01-17 296 init_completion(&trng->random_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 297 init_completion(&trng->reseed_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 298 spin_lock_init(&trng->write_lock);
c388f458bc34eb Jia Jie Ho 2023-01-17 299
c388f458bc34eb Jia Jie Ho 2023-01-17 300 ret = devm_request_irq(&pdev->dev, irq, starfive_trng_irq, 0, pdev->name,
c388f458bc34eb Jia Jie Ho 2023-01-17 301 (void *)trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 302 if (ret)
c388f458bc34eb Jia Jie Ho 2023-01-17 @303 return dev_err_probe(&pdev->dev, irq,
^^^
Should be "ret". Weird how we're getting this warning in November when
the code is from Jan... Looks like the bug is still their in linux-next
though.
c388f458bc34eb Jia Jie Ho 2023-01-17 304 "Failed to register interrupt handler\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 305
c388f458bc34eb Jia Jie Ho 2023-01-17 306 trng->hclk = devm_clk_get(&pdev->dev, "hclk");
c388f458bc34eb Jia Jie Ho 2023-01-17 307 if (IS_ERR(trng->hclk))
c388f458bc34eb Jia Jie Ho 2023-01-17 308 return dev_err_probe(&pdev->dev, PTR_ERR(trng->hclk),
c388f458bc34eb Jia Jie Ho 2023-01-17 309 "Error getting hardware reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 310
c388f458bc34eb Jia Jie Ho 2023-01-17 311 trng->ahb = devm_clk_get(&pdev->dev, "ahb");
c388f458bc34eb Jia Jie Ho 2023-01-17 312 if (IS_ERR(trng->ahb))
c388f458bc34eb Jia Jie Ho 2023-01-17 313 return dev_err_probe(&pdev->dev, PTR_ERR(trng->ahb),
c388f458bc34eb Jia Jie Ho 2023-01-17 314 "Error getting ahb reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 315
c388f458bc34eb Jia Jie Ho 2023-01-17 316 trng->rst = devm_reset_control_get_shared(&pdev->dev, NULL);
c388f458bc34eb Jia Jie Ho 2023-01-17 317 if (IS_ERR(trng->rst))
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
2023-11-20 14:22 Dan Carpenter
@ 2023-11-20 15:02 ` Jia Jie Ho
0 siblings, 0 replies; 9+ messages in thread
From: Jia Jie Ho @ 2023-11-20 15:02 UTC (permalink / raw)
To: Dan Carpenter, oe-kbuild; +Cc: lkp, oe-kbuild-all, linux-kernel, Herbert Xu
On 20/11/2023 10:22 pm, Dan Carpenter wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
> commit: c388f458bc34eb3a5728b67f6614f9375cd99087 hwrng: starfive - Add TRNG driver for StarFive SoC
> config: riscv-randconfig-r071-20231112 (https://download.01.org/0day-ci/archive/20231116/202311160649.3GhKCfhd-lkp@intel.com/config)
> compiler: riscv64-linux-gcc (GCC) 13.2.0
> reproduce: (https://download.01.org/0day-ci/archive/20231116/202311160649.3GhKCfhd-lkp@intel.com/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@intel.com>
> | Reported-by: Dan Carpenter <error27@gmail.com>
> | Closes: https://lore.kernel.org/r/202311160649.3GhKCfhd-lkp@intel.com/
>
> smatch warnings:
> drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
>
> vim +/dev_err_probe +303 drivers/char/hw_random/jh7110-trng.c
>
> c388f458bc34eb Jia Jie Ho 2023-01-17 274 static int starfive_trng_probe(struct platform_device *pdev)
> c388f458bc34eb Jia Jie Ho 2023-01-17 275 {
> c388f458bc34eb Jia Jie Ho 2023-01-17 276 int ret;
> c388f458bc34eb Jia Jie Ho 2023-01-17 277 int irq;
> c388f458bc34eb Jia Jie Ho 2023-01-17 278 struct starfive_trng *trng;
> c388f458bc34eb Jia Jie Ho 2023-01-17 279
> c388f458bc34eb Jia Jie Ho 2023-01-17 280 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL);
> c388f458bc34eb Jia Jie Ho 2023-01-17 281 if (!trng)
> c388f458bc34eb Jia Jie Ho 2023-01-17 282 return -ENOMEM;
> c388f458bc34eb Jia Jie Ho 2023-01-17 283
> c388f458bc34eb Jia Jie Ho 2023-01-17 284 platform_set_drvdata(pdev, trng);
> c388f458bc34eb Jia Jie Ho 2023-01-17 285 trng->dev = &pdev->dev;
> c388f458bc34eb Jia Jie Ho 2023-01-17 286
> c388f458bc34eb Jia Jie Ho 2023-01-17 287 trng->base = devm_platform_ioremap_resource(pdev, 0);
> c388f458bc34eb Jia Jie Ho 2023-01-17 288 if (IS_ERR(trng->base))
> c388f458bc34eb Jia Jie Ho 2023-01-17 289 return dev_err_probe(&pdev->dev, PTR_ERR(trng->base),
> c388f458bc34eb Jia Jie Ho 2023-01-17 290 "Error remapping memory for platform device.\n");
> c388f458bc34eb Jia Jie Ho 2023-01-17 291
> c388f458bc34eb Jia Jie Ho 2023-01-17 292 irq = platform_get_irq(pdev, 0);
> c388f458bc34eb Jia Jie Ho 2023-01-17 293 if (irq < 0)
> c388f458bc34eb Jia Jie Ho 2023-01-17 294 return irq;
> c388f458bc34eb Jia Jie Ho 2023-01-17 295
> c388f458bc34eb Jia Jie Ho 2023-01-17 296 init_completion(&trng->random_done);
> c388f458bc34eb Jia Jie Ho 2023-01-17 297 init_completion(&trng->reseed_done);
> c388f458bc34eb Jia Jie Ho 2023-01-17 298 spin_lock_init(&trng->write_lock);
> c388f458bc34eb Jia Jie Ho 2023-01-17 299
> c388f458bc34eb Jia Jie Ho 2023-01-17 300 ret = devm_request_irq(&pdev->dev, irq, starfive_trng_irq, 0, pdev->name,
> c388f458bc34eb Jia Jie Ho 2023-01-17 301 (void *)trng);
> c388f458bc34eb Jia Jie Ho 2023-01-17 302 if (ret)
> c388f458bc34eb Jia Jie Ho 2023-01-17 @303 return dev_err_probe(&pdev->dev, irq,
> ^^^
> Should be "ret". Weird how we're getting this warning in November when
> the code is from Jan... Looks like the bug is still their in linux-next
> though.
>
I'll submit a patch for this.
Thanks,
Jia Jie
^ permalink raw reply [flat|nested] 9+ messages in thread
* drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
@ 2023-09-22 21:22 kernel test robot
0 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2023-09-22 21:22 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Herbert Xu <herbert@gondor.apana.org.au>
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Jia Jie Ho <jiajie.ho@starfivetech.com>
Hi Herbert,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dc912ba91b7e2fa74650a0fc22cccf0e0d50f371
commit: c7410b425de40e9b163eef781e1bdacf1bf2962e hwrng: starfive - Enable compile testing
date: 8 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 8 months ago
config: csky-randconfig-r071-20230917 (https://download.01.org/0day-ci/archive/20230923/202309230514.N7qjwM9P-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230923/202309230514.N7qjwM9P-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202309230514.N7qjwM9P-lkp@intel.com/
smatch warnings:
drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
vim +/dev_err_probe +303 drivers/char/hw_random/jh7110-trng.c
c388f458bc34eb Jia Jie Ho 2023-01-17 273
c388f458bc34eb Jia Jie Ho 2023-01-17 274 static int starfive_trng_probe(struct platform_device *pdev)
c388f458bc34eb Jia Jie Ho 2023-01-17 275 {
c388f458bc34eb Jia Jie Ho 2023-01-17 276 int ret;
c388f458bc34eb Jia Jie Ho 2023-01-17 277 int irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 278 struct starfive_trng *trng;
c388f458bc34eb Jia Jie Ho 2023-01-17 279
c388f458bc34eb Jia Jie Ho 2023-01-17 280 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL);
c388f458bc34eb Jia Jie Ho 2023-01-17 281 if (!trng)
c388f458bc34eb Jia Jie Ho 2023-01-17 282 return -ENOMEM;
c388f458bc34eb Jia Jie Ho 2023-01-17 283
c388f458bc34eb Jia Jie Ho 2023-01-17 284 platform_set_drvdata(pdev, trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 285 trng->dev = &pdev->dev;
c388f458bc34eb Jia Jie Ho 2023-01-17 286
c388f458bc34eb Jia Jie Ho 2023-01-17 287 trng->base = devm_platform_ioremap_resource(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 288 if (IS_ERR(trng->base))
c388f458bc34eb Jia Jie Ho 2023-01-17 289 return dev_err_probe(&pdev->dev, PTR_ERR(trng->base),
c388f458bc34eb Jia Jie Ho 2023-01-17 290 "Error remapping memory for platform device.\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 291
c388f458bc34eb Jia Jie Ho 2023-01-17 292 irq = platform_get_irq(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 293 if (irq < 0)
c388f458bc34eb Jia Jie Ho 2023-01-17 294 return irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 295
c388f458bc34eb Jia Jie Ho 2023-01-17 296 init_completion(&trng->random_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 297 init_completion(&trng->reseed_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 298 spin_lock_init(&trng->write_lock);
c388f458bc34eb Jia Jie Ho 2023-01-17 299
c388f458bc34eb Jia Jie Ho 2023-01-17 300 ret = devm_request_irq(&pdev->dev, irq, starfive_trng_irq, 0, pdev->name,
c388f458bc34eb Jia Jie Ho 2023-01-17 301 (void *)trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 302 if (ret)
c388f458bc34eb Jia Jie Ho 2023-01-17 @303 return dev_err_probe(&pdev->dev, irq,
c388f458bc34eb Jia Jie Ho 2023-01-17 304 "Failed to register interrupt handler\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 305
c388f458bc34eb Jia Jie Ho 2023-01-17 306 trng->hclk = devm_clk_get(&pdev->dev, "hclk");
c388f458bc34eb Jia Jie Ho 2023-01-17 307 if (IS_ERR(trng->hclk))
c388f458bc34eb Jia Jie Ho 2023-01-17 308 return dev_err_probe(&pdev->dev, PTR_ERR(trng->hclk),
c388f458bc34eb Jia Jie Ho 2023-01-17 309 "Error getting hardware reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 310
c388f458bc34eb Jia Jie Ho 2023-01-17 311 trng->ahb = devm_clk_get(&pdev->dev, "ahb");
c388f458bc34eb Jia Jie Ho 2023-01-17 312 if (IS_ERR(trng->ahb))
c388f458bc34eb Jia Jie Ho 2023-01-17 313 return dev_err_probe(&pdev->dev, PTR_ERR(trng->ahb),
c388f458bc34eb Jia Jie Ho 2023-01-17 314 "Error getting ahb reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 315
c388f458bc34eb Jia Jie Ho 2023-01-17 316 trng->rst = devm_reset_control_get_shared(&pdev->dev, NULL);
c388f458bc34eb Jia Jie Ho 2023-01-17 317 if (IS_ERR(trng->rst))
c388f458bc34eb Jia Jie Ho 2023-01-17 318 return dev_err_probe(&pdev->dev, PTR_ERR(trng->rst),
c388f458bc34eb Jia Jie Ho 2023-01-17 319 "Error getting hardware reset line\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 320
c388f458bc34eb Jia Jie Ho 2023-01-17 321 clk_prepare_enable(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 322 clk_prepare_enable(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 323 reset_control_deassert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 324
c388f458bc34eb Jia Jie Ho 2023-01-17 325 trng->rng.name = dev_driver_string(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 326 trng->rng.init = starfive_trng_init;
c388f458bc34eb Jia Jie Ho 2023-01-17 327 trng->rng.cleanup = starfive_trng_cleanup;
c388f458bc34eb Jia Jie Ho 2023-01-17 328 trng->rng.read = starfive_trng_read;
c388f458bc34eb Jia Jie Ho 2023-01-17 329
c388f458bc34eb Jia Jie Ho 2023-01-17 330 trng->mode = PRNG_256BIT;
c388f458bc34eb Jia Jie Ho 2023-01-17 331 trng->mission = 1;
c388f458bc34eb Jia Jie Ho 2023-01-17 332 trng->reseed = RANDOM_RESEED;
c388f458bc34eb Jia Jie Ho 2023-01-17 333
c388f458bc34eb Jia Jie Ho 2023-01-17 334 pm_runtime_use_autosuspend(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 335 pm_runtime_set_autosuspend_delay(&pdev->dev, 100);
c388f458bc34eb Jia Jie Ho 2023-01-17 336 pm_runtime_enable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 337
c388f458bc34eb Jia Jie Ho 2023-01-17 338 ret = devm_hwrng_register(&pdev->dev, &trng->rng);
c388f458bc34eb Jia Jie Ho 2023-01-17 339 if (ret) {
c388f458bc34eb Jia Jie Ho 2023-01-17 340 pm_runtime_disable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 341
c388f458bc34eb Jia Jie Ho 2023-01-17 342 reset_control_assert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 343 clk_disable_unprepare(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 344 clk_disable_unprepare(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 345
c388f458bc34eb Jia Jie Ho 2023-01-17 346 return dev_err_probe(&pdev->dev, ret, "Failed to register hwrng\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 347 }
c388f458bc34eb Jia Jie Ho 2023-01-17 348
c388f458bc34eb Jia Jie Ho 2023-01-17 349 return 0;
c388f458bc34eb Jia Jie Ho 2023-01-17 350 }
c388f458bc34eb Jia Jie Ho 2023-01-17 351
:::::: The code at line 303 was first introduced by commit
:::::: c388f458bc34eb3a5728b67f6614f9375cd99087 hwrng: starfive - Add TRNG driver for StarFive SoC
:::::: TO: Jia Jie Ho <jiajie.ho@starfivetech.com>
:::::: CC: Herbert Xu <herbert@gondor.apana.org.au>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread* drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
@ 2023-09-22 13:47 kernel test robot
0 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2023-09-22 13:47 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Herbert Xu <herbert@gondor.apana.org.au>
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Jia Jie Ho <jiajie.ho@starfivetech.com>
Hi Herbert,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 27bbf45eae9ca98877a2d52a92a188147cd61b07
commit: c7410b425de40e9b163eef781e1bdacf1bf2962e hwrng: starfive - Enable compile testing
date: 8 months ago
:::::: branch date: 19 hours ago
:::::: commit date: 8 months ago
config: csky-randconfig-r071-20230917 (https://download.01.org/0day-ci/archive/20230922/202309222117.3FNLbVwj-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230922/202309222117.3FNLbVwj-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202309222117.3FNLbVwj-lkp@intel.com/
smatch warnings:
drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
vim +/dev_err_probe +303 drivers/char/hw_random/jh7110-trng.c
c388f458bc34eb Jia Jie Ho 2023-01-17 273
c388f458bc34eb Jia Jie Ho 2023-01-17 274 static int starfive_trng_probe(struct platform_device *pdev)
c388f458bc34eb Jia Jie Ho 2023-01-17 275 {
c388f458bc34eb Jia Jie Ho 2023-01-17 276 int ret;
c388f458bc34eb Jia Jie Ho 2023-01-17 277 int irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 278 struct starfive_trng *trng;
c388f458bc34eb Jia Jie Ho 2023-01-17 279
c388f458bc34eb Jia Jie Ho 2023-01-17 280 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL);
c388f458bc34eb Jia Jie Ho 2023-01-17 281 if (!trng)
c388f458bc34eb Jia Jie Ho 2023-01-17 282 return -ENOMEM;
c388f458bc34eb Jia Jie Ho 2023-01-17 283
c388f458bc34eb Jia Jie Ho 2023-01-17 284 platform_set_drvdata(pdev, trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 285 trng->dev = &pdev->dev;
c388f458bc34eb Jia Jie Ho 2023-01-17 286
c388f458bc34eb Jia Jie Ho 2023-01-17 287 trng->base = devm_platform_ioremap_resource(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 288 if (IS_ERR(trng->base))
c388f458bc34eb Jia Jie Ho 2023-01-17 289 return dev_err_probe(&pdev->dev, PTR_ERR(trng->base),
c388f458bc34eb Jia Jie Ho 2023-01-17 290 "Error remapping memory for platform device.\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 291
c388f458bc34eb Jia Jie Ho 2023-01-17 292 irq = platform_get_irq(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 293 if (irq < 0)
c388f458bc34eb Jia Jie Ho 2023-01-17 294 return irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 295
c388f458bc34eb Jia Jie Ho 2023-01-17 296 init_completion(&trng->random_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 297 init_completion(&trng->reseed_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 298 spin_lock_init(&trng->write_lock);
c388f458bc34eb Jia Jie Ho 2023-01-17 299
c388f458bc34eb Jia Jie Ho 2023-01-17 300 ret = devm_request_irq(&pdev->dev, irq, starfive_trng_irq, 0, pdev->name,
c388f458bc34eb Jia Jie Ho 2023-01-17 301 (void *)trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 302 if (ret)
c388f458bc34eb Jia Jie Ho 2023-01-17 @303 return dev_err_probe(&pdev->dev, irq,
c388f458bc34eb Jia Jie Ho 2023-01-17 304 "Failed to register interrupt handler\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 305
c388f458bc34eb Jia Jie Ho 2023-01-17 306 trng->hclk = devm_clk_get(&pdev->dev, "hclk");
c388f458bc34eb Jia Jie Ho 2023-01-17 307 if (IS_ERR(trng->hclk))
c388f458bc34eb Jia Jie Ho 2023-01-17 308 return dev_err_probe(&pdev->dev, PTR_ERR(trng->hclk),
c388f458bc34eb Jia Jie Ho 2023-01-17 309 "Error getting hardware reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 310
c388f458bc34eb Jia Jie Ho 2023-01-17 311 trng->ahb = devm_clk_get(&pdev->dev, "ahb");
c388f458bc34eb Jia Jie Ho 2023-01-17 312 if (IS_ERR(trng->ahb))
c388f458bc34eb Jia Jie Ho 2023-01-17 313 return dev_err_probe(&pdev->dev, PTR_ERR(trng->ahb),
c388f458bc34eb Jia Jie Ho 2023-01-17 314 "Error getting ahb reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 315
c388f458bc34eb Jia Jie Ho 2023-01-17 316 trng->rst = devm_reset_control_get_shared(&pdev->dev, NULL);
c388f458bc34eb Jia Jie Ho 2023-01-17 317 if (IS_ERR(trng->rst))
c388f458bc34eb Jia Jie Ho 2023-01-17 318 return dev_err_probe(&pdev->dev, PTR_ERR(trng->rst),
c388f458bc34eb Jia Jie Ho 2023-01-17 319 "Error getting hardware reset line\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 320
c388f458bc34eb Jia Jie Ho 2023-01-17 321 clk_prepare_enable(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 322 clk_prepare_enable(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 323 reset_control_deassert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 324
c388f458bc34eb Jia Jie Ho 2023-01-17 325 trng->rng.name = dev_driver_string(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 326 trng->rng.init = starfive_trng_init;
c388f458bc34eb Jia Jie Ho 2023-01-17 327 trng->rng.cleanup = starfive_trng_cleanup;
c388f458bc34eb Jia Jie Ho 2023-01-17 328 trng->rng.read = starfive_trng_read;
c388f458bc34eb Jia Jie Ho 2023-01-17 329
c388f458bc34eb Jia Jie Ho 2023-01-17 330 trng->mode = PRNG_256BIT;
c388f458bc34eb Jia Jie Ho 2023-01-17 331 trng->mission = 1;
c388f458bc34eb Jia Jie Ho 2023-01-17 332 trng->reseed = RANDOM_RESEED;
c388f458bc34eb Jia Jie Ho 2023-01-17 333
c388f458bc34eb Jia Jie Ho 2023-01-17 334 pm_runtime_use_autosuspend(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 335 pm_runtime_set_autosuspend_delay(&pdev->dev, 100);
c388f458bc34eb Jia Jie Ho 2023-01-17 336 pm_runtime_enable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 337
c388f458bc34eb Jia Jie Ho 2023-01-17 338 ret = devm_hwrng_register(&pdev->dev, &trng->rng);
c388f458bc34eb Jia Jie Ho 2023-01-17 339 if (ret) {
c388f458bc34eb Jia Jie Ho 2023-01-17 340 pm_runtime_disable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 341
c388f458bc34eb Jia Jie Ho 2023-01-17 342 reset_control_assert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 343 clk_disable_unprepare(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 344 clk_disable_unprepare(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 345
c388f458bc34eb Jia Jie Ho 2023-01-17 346 return dev_err_probe(&pdev->dev, ret, "Failed to register hwrng\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 347 }
c388f458bc34eb Jia Jie Ho 2023-01-17 348
c388f458bc34eb Jia Jie Ho 2023-01-17 349 return 0;
c388f458bc34eb Jia Jie Ho 2023-01-17 350 }
c388f458bc34eb Jia Jie Ho 2023-01-17 351
:::::: The code at line 303 was first introduced by commit
:::::: c388f458bc34eb3a5728b67f6614f9375cd99087 hwrng: starfive - Add TRNG driver for StarFive SoC
:::::: TO: Jia Jie Ho <jiajie.ho@starfivetech.com>
:::::: CC: Herbert Xu <herbert@gondor.apana.org.au>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread* drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
@ 2023-09-20 21:23 kernel test robot
0 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2023-09-20 21:23 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Herbert Xu <herbert@gondor.apana.org.au>
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Jia Jie Ho <jiajie.ho@starfivetech.com>
Hi Herbert,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 42dc814987c1feb6410904e58cfd4c36c4146150
commit: c7410b425de40e9b163eef781e1bdacf1bf2962e hwrng: starfive - Enable compile testing
date: 8 months ago
:::::: branch date: 2 hours ago
:::::: commit date: 8 months ago
config: csky-randconfig-r071-20230917 (https://download.01.org/0day-ci/archive/20230921/202309210546.ZdNmYENN-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230921/202309210546.ZdNmYENN-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202309210546.ZdNmYENN-lkp@intel.com/
smatch warnings:
drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
vim +/dev_err_probe +303 drivers/char/hw_random/jh7110-trng.c
c388f458bc34eb3 Jia Jie Ho 2023-01-17 273
c388f458bc34eb3 Jia Jie Ho 2023-01-17 274 static int starfive_trng_probe(struct platform_device *pdev)
c388f458bc34eb3 Jia Jie Ho 2023-01-17 275 {
c388f458bc34eb3 Jia Jie Ho 2023-01-17 276 int ret;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 277 int irq;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 278 struct starfive_trng *trng;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 279
c388f458bc34eb3 Jia Jie Ho 2023-01-17 280 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 281 if (!trng)
c388f458bc34eb3 Jia Jie Ho 2023-01-17 282 return -ENOMEM;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 283
c388f458bc34eb3 Jia Jie Ho 2023-01-17 284 platform_set_drvdata(pdev, trng);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 285 trng->dev = &pdev->dev;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 286
c388f458bc34eb3 Jia Jie Ho 2023-01-17 287 trng->base = devm_platform_ioremap_resource(pdev, 0);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 288 if (IS_ERR(trng->base))
c388f458bc34eb3 Jia Jie Ho 2023-01-17 289 return dev_err_probe(&pdev->dev, PTR_ERR(trng->base),
c388f458bc34eb3 Jia Jie Ho 2023-01-17 290 "Error remapping memory for platform device.\n");
c388f458bc34eb3 Jia Jie Ho 2023-01-17 291
c388f458bc34eb3 Jia Jie Ho 2023-01-17 292 irq = platform_get_irq(pdev, 0);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 293 if (irq < 0)
c388f458bc34eb3 Jia Jie Ho 2023-01-17 294 return irq;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 295
c388f458bc34eb3 Jia Jie Ho 2023-01-17 296 init_completion(&trng->random_done);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 297 init_completion(&trng->reseed_done);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 298 spin_lock_init(&trng->write_lock);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 299
c388f458bc34eb3 Jia Jie Ho 2023-01-17 300 ret = devm_request_irq(&pdev->dev, irq, starfive_trng_irq, 0, pdev->name,
c388f458bc34eb3 Jia Jie Ho 2023-01-17 301 (void *)trng);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 302 if (ret)
c388f458bc34eb3 Jia Jie Ho 2023-01-17 @303 return dev_err_probe(&pdev->dev, irq,
c388f458bc34eb3 Jia Jie Ho 2023-01-17 304 "Failed to register interrupt handler\n");
c388f458bc34eb3 Jia Jie Ho 2023-01-17 305
c388f458bc34eb3 Jia Jie Ho 2023-01-17 306 trng->hclk = devm_clk_get(&pdev->dev, "hclk");
c388f458bc34eb3 Jia Jie Ho 2023-01-17 307 if (IS_ERR(trng->hclk))
c388f458bc34eb3 Jia Jie Ho 2023-01-17 308 return dev_err_probe(&pdev->dev, PTR_ERR(trng->hclk),
c388f458bc34eb3 Jia Jie Ho 2023-01-17 309 "Error getting hardware reference clock\n");
c388f458bc34eb3 Jia Jie Ho 2023-01-17 310
c388f458bc34eb3 Jia Jie Ho 2023-01-17 311 trng->ahb = devm_clk_get(&pdev->dev, "ahb");
c388f458bc34eb3 Jia Jie Ho 2023-01-17 312 if (IS_ERR(trng->ahb))
c388f458bc34eb3 Jia Jie Ho 2023-01-17 313 return dev_err_probe(&pdev->dev, PTR_ERR(trng->ahb),
c388f458bc34eb3 Jia Jie Ho 2023-01-17 314 "Error getting ahb reference clock\n");
c388f458bc34eb3 Jia Jie Ho 2023-01-17 315
c388f458bc34eb3 Jia Jie Ho 2023-01-17 316 trng->rst = devm_reset_control_get_shared(&pdev->dev, NULL);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 317 if (IS_ERR(trng->rst))
c388f458bc34eb3 Jia Jie Ho 2023-01-17 318 return dev_err_probe(&pdev->dev, PTR_ERR(trng->rst),
c388f458bc34eb3 Jia Jie Ho 2023-01-17 319 "Error getting hardware reset line\n");
c388f458bc34eb3 Jia Jie Ho 2023-01-17 320
c388f458bc34eb3 Jia Jie Ho 2023-01-17 321 clk_prepare_enable(trng->hclk);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 322 clk_prepare_enable(trng->ahb);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 323 reset_control_deassert(trng->rst);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 324
c388f458bc34eb3 Jia Jie Ho 2023-01-17 325 trng->rng.name = dev_driver_string(&pdev->dev);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 326 trng->rng.init = starfive_trng_init;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 327 trng->rng.cleanup = starfive_trng_cleanup;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 328 trng->rng.read = starfive_trng_read;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 329
c388f458bc34eb3 Jia Jie Ho 2023-01-17 330 trng->mode = PRNG_256BIT;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 331 trng->mission = 1;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 332 trng->reseed = RANDOM_RESEED;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 333
c388f458bc34eb3 Jia Jie Ho 2023-01-17 334 pm_runtime_use_autosuspend(&pdev->dev);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 335 pm_runtime_set_autosuspend_delay(&pdev->dev, 100);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 336 pm_runtime_enable(&pdev->dev);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 337
c388f458bc34eb3 Jia Jie Ho 2023-01-17 338 ret = devm_hwrng_register(&pdev->dev, &trng->rng);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 339 if (ret) {
c388f458bc34eb3 Jia Jie Ho 2023-01-17 340 pm_runtime_disable(&pdev->dev);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 341
c388f458bc34eb3 Jia Jie Ho 2023-01-17 342 reset_control_assert(trng->rst);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 343 clk_disable_unprepare(trng->ahb);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 344 clk_disable_unprepare(trng->hclk);
c388f458bc34eb3 Jia Jie Ho 2023-01-17 345
c388f458bc34eb3 Jia Jie Ho 2023-01-17 346 return dev_err_probe(&pdev->dev, ret, "Failed to register hwrng\n");
c388f458bc34eb3 Jia Jie Ho 2023-01-17 347 }
c388f458bc34eb3 Jia Jie Ho 2023-01-17 348
c388f458bc34eb3 Jia Jie Ho 2023-01-17 349 return 0;
c388f458bc34eb3 Jia Jie Ho 2023-01-17 350 }
c388f458bc34eb3 Jia Jie Ho 2023-01-17 351
:::::: The code at line 303 was first introduced by commit
:::::: c388f458bc34eb3a5728b67f6614f9375cd99087 hwrng: starfive - Add TRNG driver for StarFive SoC
:::::: TO: Jia Jie Ho <jiajie.ho@starfivetech.com>
:::::: CC: Herbert Xu <herbert@gondor.apana.org.au>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread* drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
@ 2023-09-19 16:23 kernel test robot
0 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2023-09-19 16:23 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Herbert Xu <herbert@gondor.apana.org.au>
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Jia Jie Ho <jiajie.ho@starfivetech.com>
Hi Herbert,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2cf0f715623872823a72e451243bbf555d10d032
commit: c7410b425de40e9b163eef781e1bdacf1bf2962e hwrng: starfive - Enable compile testing
date: 8 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 8 months ago
config: csky-randconfig-r071-20230917 (https://download.01.org/0day-ci/archive/20230920/202309200053.gvLx6cmp-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230920/202309200053.gvLx6cmp-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202309200053.gvLx6cmp-lkp@intel.com/
smatch warnings:
drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
vim +/dev_err_probe +303 drivers/char/hw_random/jh7110-trng.c
c388f458bc34eb Jia Jie Ho 2023-01-17 273
c388f458bc34eb Jia Jie Ho 2023-01-17 274 static int starfive_trng_probe(struct platform_device *pdev)
c388f458bc34eb Jia Jie Ho 2023-01-17 275 {
c388f458bc34eb Jia Jie Ho 2023-01-17 276 int ret;
c388f458bc34eb Jia Jie Ho 2023-01-17 277 int irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 278 struct starfive_trng *trng;
c388f458bc34eb Jia Jie Ho 2023-01-17 279
c388f458bc34eb Jia Jie Ho 2023-01-17 280 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL);
c388f458bc34eb Jia Jie Ho 2023-01-17 281 if (!trng)
c388f458bc34eb Jia Jie Ho 2023-01-17 282 return -ENOMEM;
c388f458bc34eb Jia Jie Ho 2023-01-17 283
c388f458bc34eb Jia Jie Ho 2023-01-17 284 platform_set_drvdata(pdev, trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 285 trng->dev = &pdev->dev;
c388f458bc34eb Jia Jie Ho 2023-01-17 286
c388f458bc34eb Jia Jie Ho 2023-01-17 287 trng->base = devm_platform_ioremap_resource(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 288 if (IS_ERR(trng->base))
c388f458bc34eb Jia Jie Ho 2023-01-17 289 return dev_err_probe(&pdev->dev, PTR_ERR(trng->base),
c388f458bc34eb Jia Jie Ho 2023-01-17 290 "Error remapping memory for platform device.\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 291
c388f458bc34eb Jia Jie Ho 2023-01-17 292 irq = platform_get_irq(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 293 if (irq < 0)
c388f458bc34eb Jia Jie Ho 2023-01-17 294 return irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 295
c388f458bc34eb Jia Jie Ho 2023-01-17 296 init_completion(&trng->random_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 297 init_completion(&trng->reseed_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 298 spin_lock_init(&trng->write_lock);
c388f458bc34eb Jia Jie Ho 2023-01-17 299
c388f458bc34eb Jia Jie Ho 2023-01-17 300 ret = devm_request_irq(&pdev->dev, irq, starfive_trng_irq, 0, pdev->name,
c388f458bc34eb Jia Jie Ho 2023-01-17 301 (void *)trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 302 if (ret)
c388f458bc34eb Jia Jie Ho 2023-01-17 @303 return dev_err_probe(&pdev->dev, irq,
c388f458bc34eb Jia Jie Ho 2023-01-17 304 "Failed to register interrupt handler\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 305
c388f458bc34eb Jia Jie Ho 2023-01-17 306 trng->hclk = devm_clk_get(&pdev->dev, "hclk");
c388f458bc34eb Jia Jie Ho 2023-01-17 307 if (IS_ERR(trng->hclk))
c388f458bc34eb Jia Jie Ho 2023-01-17 308 return dev_err_probe(&pdev->dev, PTR_ERR(trng->hclk),
c388f458bc34eb Jia Jie Ho 2023-01-17 309 "Error getting hardware reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 310
c388f458bc34eb Jia Jie Ho 2023-01-17 311 trng->ahb = devm_clk_get(&pdev->dev, "ahb");
c388f458bc34eb Jia Jie Ho 2023-01-17 312 if (IS_ERR(trng->ahb))
c388f458bc34eb Jia Jie Ho 2023-01-17 313 return dev_err_probe(&pdev->dev, PTR_ERR(trng->ahb),
c388f458bc34eb Jia Jie Ho 2023-01-17 314 "Error getting ahb reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 315
c388f458bc34eb Jia Jie Ho 2023-01-17 316 trng->rst = devm_reset_control_get_shared(&pdev->dev, NULL);
c388f458bc34eb Jia Jie Ho 2023-01-17 317 if (IS_ERR(trng->rst))
c388f458bc34eb Jia Jie Ho 2023-01-17 318 return dev_err_probe(&pdev->dev, PTR_ERR(trng->rst),
c388f458bc34eb Jia Jie Ho 2023-01-17 319 "Error getting hardware reset line\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 320
c388f458bc34eb Jia Jie Ho 2023-01-17 321 clk_prepare_enable(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 322 clk_prepare_enable(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 323 reset_control_deassert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 324
c388f458bc34eb Jia Jie Ho 2023-01-17 325 trng->rng.name = dev_driver_string(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 326 trng->rng.init = starfive_trng_init;
c388f458bc34eb Jia Jie Ho 2023-01-17 327 trng->rng.cleanup = starfive_trng_cleanup;
c388f458bc34eb Jia Jie Ho 2023-01-17 328 trng->rng.read = starfive_trng_read;
c388f458bc34eb Jia Jie Ho 2023-01-17 329
c388f458bc34eb Jia Jie Ho 2023-01-17 330 trng->mode = PRNG_256BIT;
c388f458bc34eb Jia Jie Ho 2023-01-17 331 trng->mission = 1;
c388f458bc34eb Jia Jie Ho 2023-01-17 332 trng->reseed = RANDOM_RESEED;
c388f458bc34eb Jia Jie Ho 2023-01-17 333
c388f458bc34eb Jia Jie Ho 2023-01-17 334 pm_runtime_use_autosuspend(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 335 pm_runtime_set_autosuspend_delay(&pdev->dev, 100);
c388f458bc34eb Jia Jie Ho 2023-01-17 336 pm_runtime_enable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 337
c388f458bc34eb Jia Jie Ho 2023-01-17 338 ret = devm_hwrng_register(&pdev->dev, &trng->rng);
c388f458bc34eb Jia Jie Ho 2023-01-17 339 if (ret) {
c388f458bc34eb Jia Jie Ho 2023-01-17 340 pm_runtime_disable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 341
c388f458bc34eb Jia Jie Ho 2023-01-17 342 reset_control_assert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 343 clk_disable_unprepare(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 344 clk_disable_unprepare(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 345
c388f458bc34eb Jia Jie Ho 2023-01-17 346 return dev_err_probe(&pdev->dev, ret, "Failed to register hwrng\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 347 }
c388f458bc34eb Jia Jie Ho 2023-01-17 348
c388f458bc34eb Jia Jie Ho 2023-01-17 349 return 0;
c388f458bc34eb Jia Jie Ho 2023-01-17 350 }
c388f458bc34eb Jia Jie Ho 2023-01-17 351
:::::: The code at line 303 was first introduced by commit
:::::: c388f458bc34eb3a5728b67f6614f9375cd99087 hwrng: starfive - Add TRNG driver for StarFive SoC
:::::: TO: Jia Jie Ho <jiajie.ho@starfivetech.com>
:::::: CC: Herbert Xu <herbert@gondor.apana.org.au>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread* drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
@ 2023-09-18 22:51 kernel test robot
0 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2023-09-18 22:51 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Herbert Xu <herbert@gondor.apana.org.au>
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Jia Jie Ho <jiajie.ho@starfivetech.com>
Hi Herbert,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2cf0f715623872823a72e451243bbf555d10d032
commit: c7410b425de40e9b163eef781e1bdacf1bf2962e hwrng: starfive - Enable compile testing
date: 8 months ago
:::::: branch date: 3 hours ago
:::::: commit date: 8 months ago
config: csky-randconfig-r071-20230917 (https://download.01.org/0day-ci/archive/20230919/202309190603.3VtRfc4z-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230919/202309190603.3VtRfc4z-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202309190603.3VtRfc4z-lkp@intel.com/
smatch warnings:
drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
vim +/dev_err_probe +303 drivers/char/hw_random/jh7110-trng.c
c388f458bc34eb Jia Jie Ho 2023-01-17 273
c388f458bc34eb Jia Jie Ho 2023-01-17 274 static int starfive_trng_probe(struct platform_device *pdev)
c388f458bc34eb Jia Jie Ho 2023-01-17 275 {
c388f458bc34eb Jia Jie Ho 2023-01-17 276 int ret;
c388f458bc34eb Jia Jie Ho 2023-01-17 277 int irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 278 struct starfive_trng *trng;
c388f458bc34eb Jia Jie Ho 2023-01-17 279
c388f458bc34eb Jia Jie Ho 2023-01-17 280 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL);
c388f458bc34eb Jia Jie Ho 2023-01-17 281 if (!trng)
c388f458bc34eb Jia Jie Ho 2023-01-17 282 return -ENOMEM;
c388f458bc34eb Jia Jie Ho 2023-01-17 283
c388f458bc34eb Jia Jie Ho 2023-01-17 284 platform_set_drvdata(pdev, trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 285 trng->dev = &pdev->dev;
c388f458bc34eb Jia Jie Ho 2023-01-17 286
c388f458bc34eb Jia Jie Ho 2023-01-17 287 trng->base = devm_platform_ioremap_resource(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 288 if (IS_ERR(trng->base))
c388f458bc34eb Jia Jie Ho 2023-01-17 289 return dev_err_probe(&pdev->dev, PTR_ERR(trng->base),
c388f458bc34eb Jia Jie Ho 2023-01-17 290 "Error remapping memory for platform device.\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 291
c388f458bc34eb Jia Jie Ho 2023-01-17 292 irq = platform_get_irq(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 293 if (irq < 0)
c388f458bc34eb Jia Jie Ho 2023-01-17 294 return irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 295
c388f458bc34eb Jia Jie Ho 2023-01-17 296 init_completion(&trng->random_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 297 init_completion(&trng->reseed_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 298 spin_lock_init(&trng->write_lock);
c388f458bc34eb Jia Jie Ho 2023-01-17 299
c388f458bc34eb Jia Jie Ho 2023-01-17 300 ret = devm_request_irq(&pdev->dev, irq, starfive_trng_irq, 0, pdev->name,
c388f458bc34eb Jia Jie Ho 2023-01-17 301 (void *)trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 302 if (ret)
c388f458bc34eb Jia Jie Ho 2023-01-17 @303 return dev_err_probe(&pdev->dev, irq,
c388f458bc34eb Jia Jie Ho 2023-01-17 304 "Failed to register interrupt handler\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 305
c388f458bc34eb Jia Jie Ho 2023-01-17 306 trng->hclk = devm_clk_get(&pdev->dev, "hclk");
c388f458bc34eb Jia Jie Ho 2023-01-17 307 if (IS_ERR(trng->hclk))
c388f458bc34eb Jia Jie Ho 2023-01-17 308 return dev_err_probe(&pdev->dev, PTR_ERR(trng->hclk),
c388f458bc34eb Jia Jie Ho 2023-01-17 309 "Error getting hardware reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 310
c388f458bc34eb Jia Jie Ho 2023-01-17 311 trng->ahb = devm_clk_get(&pdev->dev, "ahb");
c388f458bc34eb Jia Jie Ho 2023-01-17 312 if (IS_ERR(trng->ahb))
c388f458bc34eb Jia Jie Ho 2023-01-17 313 return dev_err_probe(&pdev->dev, PTR_ERR(trng->ahb),
c388f458bc34eb Jia Jie Ho 2023-01-17 314 "Error getting ahb reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 315
c388f458bc34eb Jia Jie Ho 2023-01-17 316 trng->rst = devm_reset_control_get_shared(&pdev->dev, NULL);
c388f458bc34eb Jia Jie Ho 2023-01-17 317 if (IS_ERR(trng->rst))
c388f458bc34eb Jia Jie Ho 2023-01-17 318 return dev_err_probe(&pdev->dev, PTR_ERR(trng->rst),
c388f458bc34eb Jia Jie Ho 2023-01-17 319 "Error getting hardware reset line\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 320
c388f458bc34eb Jia Jie Ho 2023-01-17 321 clk_prepare_enable(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 322 clk_prepare_enable(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 323 reset_control_deassert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 324
c388f458bc34eb Jia Jie Ho 2023-01-17 325 trng->rng.name = dev_driver_string(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 326 trng->rng.init = starfive_trng_init;
c388f458bc34eb Jia Jie Ho 2023-01-17 327 trng->rng.cleanup = starfive_trng_cleanup;
c388f458bc34eb Jia Jie Ho 2023-01-17 328 trng->rng.read = starfive_trng_read;
c388f458bc34eb Jia Jie Ho 2023-01-17 329
c388f458bc34eb Jia Jie Ho 2023-01-17 330 trng->mode = PRNG_256BIT;
c388f458bc34eb Jia Jie Ho 2023-01-17 331 trng->mission = 1;
c388f458bc34eb Jia Jie Ho 2023-01-17 332 trng->reseed = RANDOM_RESEED;
c388f458bc34eb Jia Jie Ho 2023-01-17 333
c388f458bc34eb Jia Jie Ho 2023-01-17 334 pm_runtime_use_autosuspend(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 335 pm_runtime_set_autosuspend_delay(&pdev->dev, 100);
c388f458bc34eb Jia Jie Ho 2023-01-17 336 pm_runtime_enable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 337
c388f458bc34eb Jia Jie Ho 2023-01-17 338 ret = devm_hwrng_register(&pdev->dev, &trng->rng);
c388f458bc34eb Jia Jie Ho 2023-01-17 339 if (ret) {
c388f458bc34eb Jia Jie Ho 2023-01-17 340 pm_runtime_disable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 341
c388f458bc34eb Jia Jie Ho 2023-01-17 342 reset_control_assert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 343 clk_disable_unprepare(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 344 clk_disable_unprepare(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 345
c388f458bc34eb Jia Jie Ho 2023-01-17 346 return dev_err_probe(&pdev->dev, ret, "Failed to register hwrng\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 347 }
c388f458bc34eb Jia Jie Ho 2023-01-17 348
c388f458bc34eb Jia Jie Ho 2023-01-17 349 return 0;
c388f458bc34eb Jia Jie Ho 2023-01-17 350 }
c388f458bc34eb Jia Jie Ho 2023-01-17 351
:::::: The code at line 303 was first introduced by commit
:::::: c388f458bc34eb3a5728b67f6614f9375cd99087 hwrng: starfive - Add TRNG driver for StarFive SoC
:::::: TO: Jia Jie Ho <jiajie.ho@starfivetech.com>
:::::: CC: Herbert Xu <herbert@gondor.apana.org.au>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread* drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
@ 2023-09-17 4:43 kernel test robot
0 siblings, 0 replies; 9+ messages in thread
From: kernel test robot @ 2023-09-17 4:43 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Herbert Xu <herbert@gondor.apana.org.au>
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Jia Jie Ho <jiajie.ho@starfivetech.com>
Hi Herbert,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f0b0d403eabbe135d8dbb40ad5e41018947d336c
commit: c7410b425de40e9b163eef781e1bdacf1bf2962e hwrng: starfive - Enable compile testing
date: 8 months ago
:::::: branch date: 6 hours ago
:::::: commit date: 8 months ago
config: csky-randconfig-r071-20230917 (https://download.01.org/0day-ci/archive/20230917/202309171225.K7aaWSu6-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230917/202309171225.K7aaWSu6-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202309171225.K7aaWSu6-lkp@intel.com/
smatch warnings:
drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe'
vim +/dev_err_probe +303 drivers/char/hw_random/jh7110-trng.c
c388f458bc34eb Jia Jie Ho 2023-01-17 273
c388f458bc34eb Jia Jie Ho 2023-01-17 274 static int starfive_trng_probe(struct platform_device *pdev)
c388f458bc34eb Jia Jie Ho 2023-01-17 275 {
c388f458bc34eb Jia Jie Ho 2023-01-17 276 int ret;
c388f458bc34eb Jia Jie Ho 2023-01-17 277 int irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 278 struct starfive_trng *trng;
c388f458bc34eb Jia Jie Ho 2023-01-17 279
c388f458bc34eb Jia Jie Ho 2023-01-17 280 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL);
c388f458bc34eb Jia Jie Ho 2023-01-17 281 if (!trng)
c388f458bc34eb Jia Jie Ho 2023-01-17 282 return -ENOMEM;
c388f458bc34eb Jia Jie Ho 2023-01-17 283
c388f458bc34eb Jia Jie Ho 2023-01-17 284 platform_set_drvdata(pdev, trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 285 trng->dev = &pdev->dev;
c388f458bc34eb Jia Jie Ho 2023-01-17 286
c388f458bc34eb Jia Jie Ho 2023-01-17 287 trng->base = devm_platform_ioremap_resource(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 288 if (IS_ERR(trng->base))
c388f458bc34eb Jia Jie Ho 2023-01-17 289 return dev_err_probe(&pdev->dev, PTR_ERR(trng->base),
c388f458bc34eb Jia Jie Ho 2023-01-17 290 "Error remapping memory for platform device.\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 291
c388f458bc34eb Jia Jie Ho 2023-01-17 292 irq = platform_get_irq(pdev, 0);
c388f458bc34eb Jia Jie Ho 2023-01-17 293 if (irq < 0)
c388f458bc34eb Jia Jie Ho 2023-01-17 294 return irq;
c388f458bc34eb Jia Jie Ho 2023-01-17 295
c388f458bc34eb Jia Jie Ho 2023-01-17 296 init_completion(&trng->random_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 297 init_completion(&trng->reseed_done);
c388f458bc34eb Jia Jie Ho 2023-01-17 298 spin_lock_init(&trng->write_lock);
c388f458bc34eb Jia Jie Ho 2023-01-17 299
c388f458bc34eb Jia Jie Ho 2023-01-17 300 ret = devm_request_irq(&pdev->dev, irq, starfive_trng_irq, 0, pdev->name,
c388f458bc34eb Jia Jie Ho 2023-01-17 301 (void *)trng);
c388f458bc34eb Jia Jie Ho 2023-01-17 302 if (ret)
c388f458bc34eb Jia Jie Ho 2023-01-17 @303 return dev_err_probe(&pdev->dev, irq,
c388f458bc34eb Jia Jie Ho 2023-01-17 304 "Failed to register interrupt handler\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 305
c388f458bc34eb Jia Jie Ho 2023-01-17 306 trng->hclk = devm_clk_get(&pdev->dev, "hclk");
c388f458bc34eb Jia Jie Ho 2023-01-17 307 if (IS_ERR(trng->hclk))
c388f458bc34eb Jia Jie Ho 2023-01-17 308 return dev_err_probe(&pdev->dev, PTR_ERR(trng->hclk),
c388f458bc34eb Jia Jie Ho 2023-01-17 309 "Error getting hardware reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 310
c388f458bc34eb Jia Jie Ho 2023-01-17 311 trng->ahb = devm_clk_get(&pdev->dev, "ahb");
c388f458bc34eb Jia Jie Ho 2023-01-17 312 if (IS_ERR(trng->ahb))
c388f458bc34eb Jia Jie Ho 2023-01-17 313 return dev_err_probe(&pdev->dev, PTR_ERR(trng->ahb),
c388f458bc34eb Jia Jie Ho 2023-01-17 314 "Error getting ahb reference clock\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 315
c388f458bc34eb Jia Jie Ho 2023-01-17 316 trng->rst = devm_reset_control_get_shared(&pdev->dev, NULL);
c388f458bc34eb Jia Jie Ho 2023-01-17 317 if (IS_ERR(trng->rst))
c388f458bc34eb Jia Jie Ho 2023-01-17 318 return dev_err_probe(&pdev->dev, PTR_ERR(trng->rst),
c388f458bc34eb Jia Jie Ho 2023-01-17 319 "Error getting hardware reset line\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 320
c388f458bc34eb Jia Jie Ho 2023-01-17 321 clk_prepare_enable(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 322 clk_prepare_enable(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 323 reset_control_deassert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 324
c388f458bc34eb Jia Jie Ho 2023-01-17 325 trng->rng.name = dev_driver_string(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 326 trng->rng.init = starfive_trng_init;
c388f458bc34eb Jia Jie Ho 2023-01-17 327 trng->rng.cleanup = starfive_trng_cleanup;
c388f458bc34eb Jia Jie Ho 2023-01-17 328 trng->rng.read = starfive_trng_read;
c388f458bc34eb Jia Jie Ho 2023-01-17 329
c388f458bc34eb Jia Jie Ho 2023-01-17 330 trng->mode = PRNG_256BIT;
c388f458bc34eb Jia Jie Ho 2023-01-17 331 trng->mission = 1;
c388f458bc34eb Jia Jie Ho 2023-01-17 332 trng->reseed = RANDOM_RESEED;
c388f458bc34eb Jia Jie Ho 2023-01-17 333
c388f458bc34eb Jia Jie Ho 2023-01-17 334 pm_runtime_use_autosuspend(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 335 pm_runtime_set_autosuspend_delay(&pdev->dev, 100);
c388f458bc34eb Jia Jie Ho 2023-01-17 336 pm_runtime_enable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 337
c388f458bc34eb Jia Jie Ho 2023-01-17 338 ret = devm_hwrng_register(&pdev->dev, &trng->rng);
c388f458bc34eb Jia Jie Ho 2023-01-17 339 if (ret) {
c388f458bc34eb Jia Jie Ho 2023-01-17 340 pm_runtime_disable(&pdev->dev);
c388f458bc34eb Jia Jie Ho 2023-01-17 341
c388f458bc34eb Jia Jie Ho 2023-01-17 342 reset_control_assert(trng->rst);
c388f458bc34eb Jia Jie Ho 2023-01-17 343 clk_disable_unprepare(trng->ahb);
c388f458bc34eb Jia Jie Ho 2023-01-17 344 clk_disable_unprepare(trng->hclk);
c388f458bc34eb Jia Jie Ho 2023-01-17 345
c388f458bc34eb Jia Jie Ho 2023-01-17 346 return dev_err_probe(&pdev->dev, ret, "Failed to register hwrng\n");
c388f458bc34eb Jia Jie Ho 2023-01-17 347 }
c388f458bc34eb Jia Jie Ho 2023-01-17 348
c388f458bc34eb Jia Jie Ho 2023-01-17 349 return 0;
c388f458bc34eb Jia Jie Ho 2023-01-17 350 }
c388f458bc34eb Jia Jie Ho 2023-01-17 351
:::::: The code at line 303 was first introduced by commit
:::::: c388f458bc34eb3a5728b67f6614f9375cd99087 hwrng: starfive - Add TRNG driver for StarFive SoC
:::::: TO: Jia Jie Ho <jiajie.ho@starfivetech.com>
:::::: CC: Herbert Xu <herbert@gondor.apana.org.au>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-11-20 15:04 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-15 22:27 drivers/char/hw_random/jh7110-trng.c:303 starfive_trng_probe() warn: passing zero to 'dev_err_probe' kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2023-11-20 14:22 Dan Carpenter
2023-11-20 15:02 ` Jia Jie Ho
2023-09-22 21:22 kernel test robot
2023-09-22 13:47 kernel test robot
2023-09-20 21:23 kernel test robot
2023-09-19 16:23 kernel test robot
2023-09-18 22:51 kernel test robot
2023-09-17 4:43 kernel test robot
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.