]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: hifn_795x - replace simple_strtoul with kstrtouint
authorThorsten Blum <thorsten.blum@linux.dev>
Tue, 23 Sep 2025 01:03:04 +0000 (03:03 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 17 Oct 2025 08:03:57 +0000 (16:03 +0800)
Replace simple_strtoul() with the recommended kstrtouint() for parsing
the 'hifn_pll_ref=' module parameter. Unlike simple_strtoul(), which
returns an unsigned long, kstrtouint() converts the string directly to
an unsigned integer and avoids implicit casting.

Check the return value of kstrtouint() and fall back to 66 MHz if
parsing fails. This adds error handling while preserving existing
behavior for valid values, and removes use of the deprecated
simple_strtoul() helper.

Add a space in the log message to correctly format "66 MHz" while we're
at it.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/hifn_795x.c

index 92599152674545b6fe4dedb8a24b87742c8c214f..edf36f6add527b51b7f7eafee96c55d38af7eefd 100644 (file)
@@ -913,11 +913,10 @@ static void hifn_init_pll(struct hifn_device *dev)
        else
                pllcfg |= HIFN_PLL_REF_CLK_HBI;
 
-       if (hifn_pll_ref[3] != '\0')
-               freq = simple_strtoul(hifn_pll_ref + 3, NULL, 10);
-       else {
+       if (hifn_pll_ref[3] == '\0' ||
+           kstrtouint(hifn_pll_ref + 3, 10, &freq)) {
                freq = 66;
-               dev_info(&dev->pdev->dev, "assuming %uMHz clock speed, override with hifn_pll_ref=%.3s<frequency>\n",
+               dev_info(&dev->pdev->dev, "assuming %u MHz clock speed, override with hifn_pll_ref=%.3s<frequency>\n",
                         freq, hifn_pll_ref);
        }