
On 8/5/20 5:06 PM, Heinrich Schuchardt wrote:
On 8/5/20 9:14 PM, Sean Anderson wrote:
log_2_n_round_up is only found in arm. fls performs the same job and is generic.
Signed-off-by: Sean Anderson seanga2@gmail.com
drivers/watchdog/designware_wdt.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/watchdog/designware_wdt.c b/drivers/watchdog/designware_wdt.c index 12f09a7a39..5684acefd2 100644 --- a/drivers/watchdog/designware_wdt.c +++ b/drivers/watchdog/designware_wdt.c @@ -9,7 +9,6 @@ #include <reset.h> #include <wdt.h> #include <asm/io.h> -#include <asm/utils.h> #include <linux/bitops.h>
#define DW_WDT_CR 0x00 @@ -35,7 +34,7 @@ static int designware_wdt_settimeout(void __iomem *base, unsigned int clk_khz, signed int i;
/* calculate the timeout range value */
- i = log_2_n_round_up(timeout * clk_khz) - 16;
- i = fls(timeout * clk_khz) - 16;
The two functions create different results:
generic_fls(15) = 4, log_2_n_round_up(15) = 4 generic_fls(16) = 5, log_2_n_round_up(16) = 4 generic_fls(17) = 5, log_2_n_round_up(17) = 5
Please, describe the effect of your change in the commit message.
Hm, then perhaps this should be
i = fls(timeout * clk_khz - 1) - 16;
--Sean