[PATCH v4] ARM: omap: edma: add suspend suspend/resume hooks
Grygorii Strashko
grygorii.strashko at ti.com
Thu Nov 7 11:27:56 EST 2013
On 11/07/2013 05:34 PM, Nishanth Menon wrote:
> On 10/30/2013 03:21 PM, Daniel Mack wrote:
> [...]
>> diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c
>> index 8e1a024..f15cdb9 100644
>> --- a/arch/arm/common/edma.c
>> +++ b/arch/arm/common/edma.c
>
> [...]
>
>> +static int edma_pm_suspend(struct device *dev)
>> +{
>> + int j;
>> +
>> + pm_runtime_get_sync(dev);
>> +
> error checks?
>> + for (j = 0; j < arch_num_cc; j++) {
>> + struct edma *ecc = edma_cc[j];
>> +
>> + disable_irq(ecc->irq_res_start);
>> + disable_irq(ecc->irq_res_end);
>> + }
>> +
>> + pm_runtime_put_sync(dev);
Also, it make no sense to call pm_runtime_putXXX() in suspend handlers
- it will not work because PM core calls pm_runtime_get_noresume()
from device_prepare().
Now, for OMAP the edma Device will be finally disabled by OMAP device
core at suspend_noirq stage (if it's connected to HW_mode).
But, in other cases it need to be handled somehow :)
>> +
>> + return 0;
>> +}
>> +
>> +static int edma_pm_resume(struct device *dev)
>> +{
>> + int i, j;
>> +
>> + pm_runtime_get_sync(dev);
> error checks?
>
> [...]
>
>
More information about the linux-arm-kernel
mailing list