Thomas Petazzoni | f6e916b | 2012-11-20 23:00:52 +0100 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2012 Thomas Petazzoni |
| 3 | * |
| 4 | * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| 5 | * |
| 6 | * This file is licensed under the terms of the GNU General Public |
| 7 | * License version 2. This program is licensed "as is" without any |
| 8 | * warranty of any kind, whether express or implied. |
| 9 | */ |
| 10 | |
| 11 | #ifndef _IRQCHIP_H |
| 12 | #define _IRQCHIP_H |
| 13 | |
| 14 | /* |
| 15 | * This macro must be used by the different irqchip drivers to declare |
| 16 | * the association between their DT compatible string and their |
| 17 | * initialization function. |
| 18 | * |
| 19 | * @name: name that must be unique accross all IRQCHIP_DECLARE of the |
| 20 | * same file. |
| 21 | * @compstr: compatible string of the irqchip driver |
| 22 | * @fn: initialization function |
| 23 | */ |
| 24 | #define IRQCHIP_DECLARE(name,compstr,fn) \ |
| 25 | static const struct of_device_id irqchip_of_match_##name \ |
| 26 | __used __section(__irqchip_of_table) \ |
| 27 | = { .compatible = compstr, .data = fn } |
| 28 | |
| 29 | #endif |