mfd: intel-lpss: Fix the fractional clock divider flags
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 11 Dec 2023 11:14:41 +0000 (13:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:49 +0000 (15:35 -0800)
[ Upstream commit 03d790f04fb2507173913cad9c213272ac983a60 ]

The conversion to CLK_FRAC_DIVIDER_POWER_OF_TWO_PS uses wrong flags
in the parameters and hence miscalculates the values in the clock
divider. Fix this by applying the flag to the proper parameter.

Fixes: 82f53f9ee577 ("clk: fractional-divider: Introduce POWER_OF_TWO_PS flag")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reported-by: Alex Vinarskis <alex.vinarskis@gmail.com>
Link: https://lore.kernel.org/r/20231211111441.3910083-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mfd/intel-lpss.c

index 9591b35..00e7b57 100644 (file)
@@ -301,8 +301,8 @@ static int intel_lpss_register_clock_divider(struct intel_lpss *lpss,
 
        snprintf(name, sizeof(name), "%s-div", devname);
        tmp = clk_register_fractional_divider(NULL, name, __clk_get_name(tmp),
+                                             0, lpss->priv, 1, 15, 16, 15,
                                              CLK_FRAC_DIVIDER_POWER_OF_TWO_PS,
-                                             lpss->priv, 1, 15, 16, 15, 0,
                                              NULL);
        if (IS_ERR(tmp))
                return PTR_ERR(tmp);