mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
media: mali-c55: Power-off the peripheral in remove()
The Mali C55 driver doesn't depend on PM. For this reason, if pm_runtime
is not compiled in it is required to manually power-off the peripheral
during the driver's remove() handler.
Also pm_runtime_enable() is called during probe but mali_c55_remove()
never calls pm_runtime_disable(), leaving the device's runtime PM state
enabled after the driver is unbound.
Manually power-off the peripheral in remove() if the peripheral has not
been suspended using runtime_pm and disable runtime pm.
Cc: stable@vger.kernel.org
Fixes: d5f281f3dd ("media: mali-c55: Add Mali-C55 ISP driver")
Signed-off-by: David Carlier <devnexen@gmail.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
parent
38e3509dd9
commit
2c9b9bcc25
|
|
@ -858,6 +858,11 @@ static void mali_c55_remove(struct platform_device *pdev)
|
|||
struct mali_c55 *mali_c55 = platform_get_drvdata(pdev);
|
||||
|
||||
mali_c55_media_frameworks_deinit(mali_c55);
|
||||
if (!pm_runtime_suspended(&pdev->dev)) {
|
||||
__mali_c55_power_off(mali_c55);
|
||||
pm_runtime_set_suspended(&pdev->dev);
|
||||
}
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
kfree(mali_c55->context.registers);
|
||||
of_reserved_mem_device_release(&pdev->dev);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user