Commit e08efef8 authored by Marek Szyprowski's avatar Marek Szyprowski Committed by Mauro Carvalho Chehab

media: s5p-mfc: Make additional clocks optional

Since the beginning the second clock ('special', 'sclk') was optional and
it is not available on some variants of Exynos SoCs (i.e. Exynos5420 with
v7 of MFC hardware).

However commit 1bce6fb3 ("[media] s5p-mfc: Rework clock handling")
made handling of all specified clocks mandatory. This patch restores
original behavior of the driver and fixes its operation on
Exynos5420 SoCs.

Fixes: 1bce6fb3 ("[media] s5p-mfc: Rework clock handling")
Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent fc47bf11
...@@ -34,6 +34,11 @@ int s5p_mfc_init_pm(struct s5p_mfc_dev *dev) ...@@ -34,6 +34,11 @@ int s5p_mfc_init_pm(struct s5p_mfc_dev *dev)
for (i = 0; i < pm->num_clocks; i++) { for (i = 0; i < pm->num_clocks; i++) {
pm->clocks[i] = devm_clk_get(pm->device, pm->clk_names[i]); pm->clocks[i] = devm_clk_get(pm->device, pm->clk_names[i]);
if (IS_ERR(pm->clocks[i])) { if (IS_ERR(pm->clocks[i])) {
/* additional clocks are optional */
if (i && PTR_ERR(pm->clocks[i]) == -ENOENT) {
pm->clocks[i] = NULL;
continue;
}
mfc_err("Failed to get clock: %s\n", mfc_err("Failed to get clock: %s\n",
pm->clk_names[i]); pm->clk_names[i]);
return PTR_ERR(pm->clocks[i]); return PTR_ERR(pm->clocks[i]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment