wirq               38 drivers/base/power/power.h extern void dev_pm_arm_wake_irq(struct wake_irq *wirq);
wirq               39 drivers/base/power/power.h extern void dev_pm_disarm_wake_irq(struct wake_irq *wirq);
wirq               22 drivers/base/power/wakeirq.c 				  struct wake_irq *wirq)
wirq               26 drivers/base/power/wakeirq.c 	if (!dev || !wirq)
wirq               36 drivers/base/power/wakeirq.c 	dev->power.wakeirq = wirq;
wirq               37 drivers/base/power/wakeirq.c 	device_wakeup_attach_irq(dev, wirq);
wirq               55 drivers/base/power/wakeirq.c 	struct wake_irq *wirq;
wirq               61 drivers/base/power/wakeirq.c 	wirq = kzalloc(sizeof(*wirq), GFP_KERNEL);
wirq               62 drivers/base/power/wakeirq.c 	if (!wirq)
wirq               65 drivers/base/power/wakeirq.c 	wirq->dev = dev;
wirq               66 drivers/base/power/wakeirq.c 	wirq->irq = irq;
wirq               68 drivers/base/power/wakeirq.c 	err = dev_pm_attach_wake_irq(dev, irq, wirq);
wirq               70 drivers/base/power/wakeirq.c 		kfree(wirq);
wirq               89 drivers/base/power/wakeirq.c 	struct wake_irq *wirq = dev->power.wakeirq;
wirq               92 drivers/base/power/wakeirq.c 	if (!wirq)
wirq              100 drivers/base/power/wakeirq.c 	if (wirq->status & WAKE_IRQ_DEDICATED_ALLOCATED) {
wirq              101 drivers/base/power/wakeirq.c 		free_irq(wirq->irq, wirq);
wirq              102 drivers/base/power/wakeirq.c 		wirq->status &= ~WAKE_IRQ_DEDICATED_MASK;
wirq              104 drivers/base/power/wakeirq.c 	kfree(wirq->name);
wirq              105 drivers/base/power/wakeirq.c 	kfree(wirq);
wirq              129 drivers/base/power/wakeirq.c 	struct wake_irq *wirq = _wirq;
wirq              134 drivers/base/power/wakeirq.c 		pm_wakeup_event(wirq->dev, 0);
wirq              140 drivers/base/power/wakeirq.c 	res = pm_runtime_resume(wirq->dev);
wirq              142 drivers/base/power/wakeirq.c 		dev_warn(wirq->dev,
wirq              167 drivers/base/power/wakeirq.c 	struct wake_irq *wirq;
wirq              173 drivers/base/power/wakeirq.c 	wirq = kzalloc(sizeof(*wirq), GFP_KERNEL);
wirq              174 drivers/base/power/wakeirq.c 	if (!wirq)
wirq              177 drivers/base/power/wakeirq.c 	wirq->name = kasprintf(GFP_KERNEL, "%s:wakeup", dev_name(dev));
wirq              178 drivers/base/power/wakeirq.c 	if (!wirq->name) {
wirq              183 drivers/base/power/wakeirq.c 	wirq->dev = dev;
wirq              184 drivers/base/power/wakeirq.c 	wirq->irq = irq;
wirq              195 drivers/base/power/wakeirq.c 				   IRQF_ONESHOT, wirq->name, wirq);
wirq              199 drivers/base/power/wakeirq.c 	err = dev_pm_attach_wake_irq(dev, irq, wirq);
wirq              203 drivers/base/power/wakeirq.c 	wirq->status = WAKE_IRQ_DEDICATED_ALLOCATED;
wirq              208 drivers/base/power/wakeirq.c 	free_irq(irq, wirq);
wirq              210 drivers/base/power/wakeirq.c 	kfree(wirq->name);
wirq              212 drivers/base/power/wakeirq.c 	kfree(wirq);
wirq              232 drivers/base/power/wakeirq.c 	struct wake_irq *wirq = dev->power.wakeirq;
wirq              234 drivers/base/power/wakeirq.c 	if (wirq && (wirq->status & WAKE_IRQ_DEDICATED_ALLOCATED))
wirq              235 drivers/base/power/wakeirq.c 		enable_irq(wirq->irq);
wirq              249 drivers/base/power/wakeirq.c 	struct wake_irq *wirq = dev->power.wakeirq;
wirq              251 drivers/base/power/wakeirq.c 	if (wirq && (wirq->status & WAKE_IRQ_DEDICATED_ALLOCATED))
wirq              252 drivers/base/power/wakeirq.c 		disable_irq_nosync(wirq->irq);
wirq              273 drivers/base/power/wakeirq.c 	struct wake_irq *wirq = dev->power.wakeirq;
wirq              275 drivers/base/power/wakeirq.c 	if (!wirq || !((wirq->status & WAKE_IRQ_DEDICATED_MASK)))
wirq              278 drivers/base/power/wakeirq.c 	if (likely(wirq->status & WAKE_IRQ_DEDICATED_MANAGED)) {
wirq              281 drivers/base/power/wakeirq.c 		wirq->status |= WAKE_IRQ_DEDICATED_MANAGED;
wirq              288 drivers/base/power/wakeirq.c 	enable_irq(wirq->irq);
wirq              300 drivers/base/power/wakeirq.c 	struct wake_irq *wirq = dev->power.wakeirq;
wirq              302 drivers/base/power/wakeirq.c 	if (!wirq || !((wirq->status & WAKE_IRQ_DEDICATED_MASK)))
wirq              305 drivers/base/power/wakeirq.c 	if (wirq->status & WAKE_IRQ_DEDICATED_MANAGED)
wirq              306 drivers/base/power/wakeirq.c 		disable_irq_nosync(wirq->irq);
wirq              316 drivers/base/power/wakeirq.c void dev_pm_arm_wake_irq(struct wake_irq *wirq)
wirq              318 drivers/base/power/wakeirq.c 	if (!wirq)
wirq              321 drivers/base/power/wakeirq.c 	if (device_may_wakeup(wirq->dev)) {
wirq              322 drivers/base/power/wakeirq.c 		if (wirq->status & WAKE_IRQ_DEDICATED_ALLOCATED &&
wirq              323 drivers/base/power/wakeirq.c 		    !pm_runtime_status_suspended(wirq->dev))
wirq              324 drivers/base/power/wakeirq.c 			enable_irq(wirq->irq);
wirq              326 drivers/base/power/wakeirq.c 		enable_irq_wake(wirq->irq);
wirq              337 drivers/base/power/wakeirq.c void dev_pm_disarm_wake_irq(struct wake_irq *wirq)
wirq              339 drivers/base/power/wakeirq.c 	if (!wirq)
wirq              342 drivers/base/power/wakeirq.c 	if (device_may_wakeup(wirq->dev)) {
wirq              343 drivers/base/power/wakeirq.c 		disable_irq_wake(wirq->irq);
wirq              345 drivers/base/power/wakeirq.c 		if (wirq->status & WAKE_IRQ_DEDICATED_ALLOCATED &&
wirq              346 drivers/base/power/wakeirq.c 		    !pm_runtime_status_suspended(wirq->dev))
wirq              347 drivers/base/power/wakeirq.c 			disable_irq_nosync(wirq->irq);