Commit 6af9914f authored by Thorsten Blum's avatar Thorsten Blum Committed by Herbert Xu
Browse files

crypto: hifn_795x - replace simple_strtoul with kstrtouint



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: default avatarThorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 33eea63f
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -913,9 +913,8 @@ 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 %u MHz clock speed, override with hifn_pll_ref=%.3s<frequency>\n",
			 freq, hifn_pll_ref);