Merge back earlier 'pm-sleep' material for v4.4.
This commit is contained in:
@ -21,7 +21,7 @@ bool irq_pm_check_wakeup(struct irq_desc *desc)
|
||||
desc->istate |= IRQS_SUSPENDED | IRQS_PENDING;
|
||||
desc->depth++;
|
||||
irq_disable(desc);
|
||||
pm_system_wakeup();
|
||||
pm_system_irq_wakeup(irq_desc_get_irq(desc));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -272,6 +272,22 @@ static inline void pm_print_times_init(void)
|
||||
{
|
||||
pm_print_times_enabled = !!initcall_debug;
|
||||
}
|
||||
|
||||
static ssize_t pm_wakeup_irq_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
char *buf)
|
||||
{
|
||||
return pm_wakeup_irq ? sprintf(buf, "%u\n", pm_wakeup_irq) : -ENODATA;
|
||||
}
|
||||
|
||||
static ssize_t pm_wakeup_irq_store(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
const char *buf, size_t n)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
power_attr(pm_wakeup_irq);
|
||||
|
||||
#else /* !CONFIG_PM_SLEEP_DEBUG */
|
||||
static inline void pm_print_times_init(void) {}
|
||||
#endif /* CONFIG_PM_SLEEP_DEBUG */
|
||||
@ -604,6 +620,7 @@ static struct attribute * g[] = {
|
||||
#endif
|
||||
#ifdef CONFIG_PM_SLEEP_DEBUG
|
||||
&pm_print_times_attr.attr,
|
||||
&pm_wakeup_irq_attr.attr,
|
||||
#endif
|
||||
#endif
|
||||
#ifdef CONFIG_FREEZER
|
||||
|
Reference in New Issue
Block a user