| /* | 
 |  * Copyright (C) 2012 Thomas Petazzoni | 
 |  * | 
 |  * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 
 |  * | 
 |  * This file is licensed under the terms of the GNU General Public | 
 |  * License version 2.  This program is licensed "as is" without any | 
 |  * warranty of any kind, whether express or implied. | 
 |  */ | 
 |  | 
 | #ifndef _LINUX_IRQCHIP_H | 
 | #define _LINUX_IRQCHIP_H | 
 |  | 
 | #include <linux/acpi.h> | 
 | #include <linux/of.h> | 
 |  | 
 | /* | 
 |  * This macro must be used by the different irqchip drivers to declare | 
 |  * the association between their DT compatible string and their | 
 |  * initialization function. | 
 |  * | 
 |  * @name: name that must be unique accross all IRQCHIP_DECLARE of the | 
 |  * same file. | 
 |  * @compstr: compatible string of the irqchip driver | 
 |  * @fn: initialization function | 
 |  */ | 
 | #define IRQCHIP_DECLARE(name, compat, fn) OF_DECLARE_2(irqchip, name, compat, fn) | 
 |  | 
 | /* | 
 |  * This macro must be used by the different irqchip drivers to declare | 
 |  * the association between their version and their initialization function. | 
 |  * | 
 |  * @name: name that must be unique accross all IRQCHIP_ACPI_DECLARE of the | 
 |  * same file. | 
 |  * @subtable: Subtable to be identified in MADT | 
 |  * @validate: Function to be called on that subtable to check its validity. | 
 |  *            Can be NULL. | 
 |  * @data: data to be checked by the validate function. | 
 |  * @fn: initialization function | 
 |  */ | 
 | #define IRQCHIP_ACPI_DECLARE(name, subtable, validate, data, fn)	\ | 
 | 	ACPI_DECLARE_PROBE_ENTRY(irqchip, name, ACPI_SIG_MADT, 		\ | 
 | 				 subtable, validate, data, fn) | 
 |  | 
 | #ifdef CONFIG_IRQCHIP | 
 | void irqchip_init(void); | 
 | #else | 
 | static inline void irqchip_init(void) {} | 
 | #endif | 
 |  | 
 | #endif |