ACPI: LPSS: Fix the fractional clock divider flags
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 11 Dec 2023 11:14:29 +0000 (13:14 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 12 Dec 2023 19:40:37 +0000 (20:40 +0100)
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")
Reported-by: Alex Vinarskis <alex.vinarskis@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_lpss.c

index 875de44961bf4b47f0d37a43632b3fa1c2500405..d48407472dfb93fbe629948adc2b99a9d84e6402 100644 (file)
@@ -461,8 +461,9 @@ static int register_device_clock(struct acpi_device *adev,
                if (!clk_name)
                        return -ENOMEM;
                clk = clk_register_fractional_divider(NULL, clk_name, parent,
+                                                     0, prv_base, 1, 15, 16, 15,
                                                      CLK_FRAC_DIVIDER_POWER_OF_TWO_PS,
-                                                     prv_base, 1, 15, 16, 15, 0, NULL);
+                                                     NULL);
                parent = clk_name;
 
                clk_name = kasprintf(GFP_KERNEL, "%s-update", devname);