| /* |
| * 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 |