diff options
Diffstat (limited to 'drivers/remoteproc')
-rw-r--r-- | drivers/remoteproc/rpres_dev.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/remoteproc/rpres_dev.c b/drivers/remoteproc/rpres_dev.c index bf6dddc..d37200a 100644 --- a/drivers/remoteproc/rpres_dev.c +++ b/drivers/remoteproc/rpres_dev.c @@ -65,6 +65,8 @@ static int rpres_iss_shutdown(struct platform_device *pdev) int ret; struct rpres_platform_data *pdata = pdev->dev.platform_data; + omap_hwmod_reset(pdata->oh); + ret = omap_device_idle(pdev); if (!ret) _disable_optional_clocks(pdata->oh); @@ -72,6 +74,15 @@ static int rpres_iss_shutdown(struct platform_device *pdev) return ret; } +static int rpres_fdif_shutdown(struct platform_device *pdev) +{ + struct rpres_platform_data *pdata = pdev->dev.platform_data; + + omap_hwmod_reset(pdata->oh); + + return omap_device_idle(pdev); +} + static int rpres_scale_dev(struct platform_device *pdev, long val) { return omap_device_scale(&pdev->dev, &pdev->dev, val); @@ -104,7 +115,7 @@ static struct rpres_ops ivahd_ops = { static struct rpres_ops fdif_ops = { .start = omap_device_enable, - .stop = omap_device_idle, + .stop = rpres_fdif_shutdown, .set_lat = rpres_set_dev_lat, .set_bw = rpres_set_l3_bw, .scale_dev = rpres_scale_dev, |