diff options
Diffstat (limited to 'drivers/dma/txx9dmac.c')
-rw-r--r-- | drivers/dma/txx9dmac.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/dma/txx9dmac.c b/drivers/dma/txx9dmac.c index 197c7bc37895..fb6bb64e8861 100644 --- a/drivers/dma/txx9dmac.c +++ b/drivers/dma/txx9dmac.c | |||
@@ -1289,17 +1289,18 @@ static void txx9dmac_shutdown(struct platform_device *pdev) | |||
1289 | txx9dmac_off(ddev); | 1289 | txx9dmac_off(ddev); |
1290 | } | 1290 | } |
1291 | 1291 | ||
1292 | static int txx9dmac_suspend_late(struct platform_device *pdev, | 1292 | static int txx9dmac_suspend_noirq(struct device *dev) |
1293 | pm_message_t mesg) | ||
1294 | { | 1293 | { |
1294 | struct platform_device *pdev = to_platform_device(dev); | ||
1295 | struct txx9dmac_dev *ddev = platform_get_drvdata(pdev); | 1295 | struct txx9dmac_dev *ddev = platform_get_drvdata(pdev); |
1296 | 1296 | ||
1297 | txx9dmac_off(ddev); | 1297 | txx9dmac_off(ddev); |
1298 | return 0; | 1298 | return 0; |
1299 | } | 1299 | } |
1300 | 1300 | ||
1301 | static int txx9dmac_resume_early(struct platform_device *pdev) | 1301 | static int txx9dmac_resume_noirq(struct device *dev) |
1302 | { | 1302 | { |
1303 | struct platform_device *pdev = to_platform_device(dev); | ||
1303 | struct txx9dmac_dev *ddev = platform_get_drvdata(pdev); | 1304 | struct txx9dmac_dev *ddev = platform_get_drvdata(pdev); |
1304 | struct txx9dmac_platform_data *pdata = pdev->dev.platform_data; | 1305 | struct txx9dmac_platform_data *pdata = pdev->dev.platform_data; |
1305 | u32 mcr; | 1306 | u32 mcr; |
@@ -1312,6 +1313,11 @@ static int txx9dmac_resume_early(struct platform_device *pdev) | |||
1312 | 1313 | ||
1313 | } | 1314 | } |
1314 | 1315 | ||
1316 | static struct dev_pm_ops txx9dmac_dev_pm_ops = { | ||
1317 | .suspend_noirq = txx9dmac_suspend_noirq, | ||
1318 | .resume_noirq = txx9dmac_resume_noirq, | ||
1319 | }; | ||
1320 | |||
1315 | static struct platform_driver txx9dmac_chan_driver = { | 1321 | static struct platform_driver txx9dmac_chan_driver = { |
1316 | .remove = __exit_p(txx9dmac_chan_remove), | 1322 | .remove = __exit_p(txx9dmac_chan_remove), |
1317 | .driver = { | 1323 | .driver = { |
@@ -1322,10 +1328,9 @@ static struct platform_driver txx9dmac_chan_driver = { | |||
1322 | static struct platform_driver txx9dmac_driver = { | 1328 | static struct platform_driver txx9dmac_driver = { |
1323 | .remove = __exit_p(txx9dmac_remove), | 1329 | .remove = __exit_p(txx9dmac_remove), |
1324 | .shutdown = txx9dmac_shutdown, | 1330 | .shutdown = txx9dmac_shutdown, |
1325 | .suspend_late = txx9dmac_suspend_late, | ||
1326 | .resume_early = txx9dmac_resume_early, | ||
1327 | .driver = { | 1331 | .driver = { |
1328 | .name = "txx9dmac", | 1332 | .name = "txx9dmac", |
1333 | .pm = &txx9dmac_dev_pm_ops, | ||
1329 | }, | 1334 | }, |
1330 | }; | 1335 | }; |
1331 | 1336 | ||