]> git.dujemihanovic.xyz Git - linux.git/commit
clk: samsung: Revert "clk: Use device_get_match_data()"
authorMarek Szyprowski <m.szyprowski@samsung.com>
Tue, 30 Apr 2024 18:46:56 +0000 (20:46 +0200)
committerStephen Boyd <sboyd@kernel.org>
Tue, 30 Apr 2024 21:24:27 +0000 (14:24 -0700)
commitaacb99de1099346244d488bdf7df489a44278574
tree7561644b8e522b93bf23b3ecf86b4e3bc57830c8
parenta22549304372086420d0d5dc99661090e5c388b9
clk: samsung: Revert "clk: Use device_get_match_data()"

device_get_match_data() function should not be used on the device other
than the one matched to the given driver, because it always returns the
match_data of the matched driver. In case of exynos-clkout driver, the
original code matches the OF IDs on the PARENT device, so replacing it
with of_device_get_match_data() broke the driver.

This has been already pointed once in commit 2bc5febd05ab ("clk: samsung:
Revert "clk: samsung: exynos-clkout: Use of_device_get_match_data()"").
To avoid further confusion, add a comment about this special case, which
requires direct of_match_device() call to pass custom IDs array.

This partially reverts commit 409c39ec92a35e3708f5b5798c78eae78512cd71.

Cc: <stable@vger.kernel.org>
Fixes: 409c39ec92a3 ("clk: Use device_get_match_data()")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20240425075628.838497-1-m.szyprowski@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240430184656.357805-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/samsung/clk-exynos-clkout.c