Messages in this thread | | | Subject | Re: [PATCH 2/2] clk: samsung: exynos-clkout: convert to module driver | From | Sylwester Nawrocki <> | Date | Fri, 23 Oct 2020 13:42:25 +0200 |
| |
On 10/1/20 18:56, Krzysztof Kozlowski wrote: > The Exynos clkout driver depends on board input clock (typically XXTI or > XUSBXTI), however on Exynos4 boards these clocks were modeled as part of > SoC clocks (Exynos4 clocks driver). Obviously this is not proper, but > correcting it would break DT backward compatibility. > > Both drivers - clkout and Exynos4 clocks - register the clock providers > with CLK_OF_DECLARE/OF_DECLARE_1 so their order is fragile (in the > Makefile clkout is behind Exynos4 clock). It will work only if the > Exynos4 clock driver comes up before clkout. > > A change in DTS adding input clock reference to Exynos4 clocks input > PLL, see reverted commit eaf2d2f6895d ("ARM: dts: exynos: add input > clock to CMU in Exynos4412 Odroid"), caused probe reorder: the clkout > appeared before Exynos4 clock provider. Since clkout depends on Exynos4 > clocks and does not support deferred probe, this did not work and caused > later failure of usb3503 USB hub probe which needs clkout: > > [ 5.007442] usb3503 0-0008: unable to request refclk (-517) > > The Exynos clkout driver is not a critical/core clock so there is > actually no problem in instantiating it later, as a regular module. > This removes specific probe ordering and adds support for probe > deferral.
The patch looks good to me, I have tested it on Trats2, where CLKOUT provides master clock for the audio codec.
Tested-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
With the debug print removed feel free to apply it through your tree. Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
-- Regards, Sylwester
| |