blob: bd4c066ad39b3bf419df923c19f27b5964130f96 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Jan Beulich908dcec2006-06-23 02:06:00 -07002#ifndef _LINUX_IRQRETURN_H
3#define _LINUX_IRQRETURN_H
4
Thomas Gleixnerbedd30d2008-09-30 23:14:27 +02005/**
6 * enum irqreturn
David Woodhoused9e4ad52015-10-28 16:14:31 +09007 * @IRQ_NONE interrupt was not from this device or was not handled
Thomas Gleixnerbedd30d2008-09-30 23:14:27 +02008 * @IRQ_HANDLED interrupt was handled by this device
Thomas Gleixner3aa551c2009-03-23 18:28:15 +01009 * @IRQ_WAKE_THREAD handler requests to wake the handler thread
Jan Beulich908dcec2006-06-23 02:06:00 -070010 */
Thomas Gleixnerbedd30d2008-09-30 23:14:27 +020011enum irqreturn {
Sebastian Andrzej Siewior3a43e052011-05-31 08:56:11 +020012 IRQ_NONE = (0 << 0),
13 IRQ_HANDLED = (1 << 0),
14 IRQ_WAKE_THREAD = (1 << 1),
Thomas Gleixnerbedd30d2008-09-30 23:14:27 +020015};
Jan Beulich908dcec2006-06-23 02:06:00 -070016
Thomas Gleixnerbedd30d2008-09-30 23:14:27 +020017typedef enum irqreturn irqreturn_t;
Geert Uytterhoeven6bab2c62013-11-15 14:15:07 -080018#define IRQ_RETVAL(x) ((x) ? IRQ_HANDLED : IRQ_NONE)
Jan Beulich908dcec2006-06-23 02:06:00 -070019
20#endif