mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-28 04:17:47 +00:00
[media] exynos4-is: Activate mipi-csis in probe() if runtime PM is disabled
Devices should also operate normally when runtime PM is not enabled. In case runtime PM is disabled activate the device already in probe(). Any related power domain needs to be then left permanently in active state by the platform. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
ea3f1a3db3
commit
ced197bdde
@ -790,6 +790,7 @@ static int s5pcsis_parse_dt(struct platform_device *pdev,
|
||||
#define s5pcsis_parse_dt(pdev, state) (-ENOSYS)
|
||||
#endif
|
||||
|
||||
static int s5pcsis_pm_resume(struct device *dev, bool runtime);
|
||||
static const struct of_device_id s5pcsis_of_match[];
|
||||
|
||||
static int s5pcsis_probe(struct platform_device *pdev)
|
||||
@ -902,13 +903,21 @@ static int s5pcsis_probe(struct platform_device *pdev)
|
||||
/* .. and a pointer to the subdev. */
|
||||
platform_set_drvdata(pdev, &state->sd);
|
||||
memcpy(state->events, s5pcsis_events, sizeof(state->events));
|
||||
|
||||
pm_runtime_enable(dev);
|
||||
if (!pm_runtime_enabled(dev)) {
|
||||
ret = s5pcsis_pm_resume(dev, true);
|
||||
if (ret < 0)
|
||||
goto e_m_ent;
|
||||
}
|
||||
|
||||
dev_info(&pdev->dev, "lanes: %d, hs_settle: %d, wclk: %d, freq: %u\n",
|
||||
state->num_lanes, state->hs_settle, state->wclk_ext,
|
||||
state->clk_frequency);
|
||||
return 0;
|
||||
|
||||
e_m_ent:
|
||||
media_entity_cleanup(&state->sd.entity);
|
||||
e_clkdis:
|
||||
clk_disable(state->clock[CSIS_CLK_MUX]);
|
||||
e_clkput:
|
||||
@ -1014,7 +1023,7 @@ static int s5pcsis_remove(struct platform_device *pdev)
|
||||
struct csis_state *state = sd_to_csis_state(sd);
|
||||
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
s5pcsis_pm_suspend(&pdev->dev, false);
|
||||
s5pcsis_pm_suspend(&pdev->dev, true);
|
||||
clk_disable(state->clock[CSIS_CLK_MUX]);
|
||||
pm_runtime_set_suspended(&pdev->dev);
|
||||
s5pcsis_clk_put(state);
|
||||
|
Loading…
Reference in New Issue
Block a user