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 | |
Tomasz Nowicki | d60fc38 | 2015-03-24 14:02:49 +0000 | [diff] [blame] | 11 | #include <linux/acpi_irq.h> |
Thomas Petazzoni | f6e916b | 2012-11-20 23:00:52 +0100 | [diff] [blame] | 12 | #include <linux/init.h> |
| 13 | #include <linux/of_irq.h> |
Stephen Boyd | 559ba4b | 2014-03-04 17:01:21 -0800 | [diff] [blame] | 14 | #include <linux/irqchip.h> |
Thomas Petazzoni | f6e916b | 2012-11-20 23:00:52 +0100 | [diff] [blame] | 15 | |
Thomas Petazzoni | f6e916b | 2012-11-20 23:00:52 +0100 | [diff] [blame] | 16 | /* |
| 17 | * This special of_device_id is the sentinel at the end of the |
| 18 | * of_device_id[] array of all irqchips. It is automatically placed at |
| 19 | * the end of the array by the linker, thanks to being part of a |
| 20 | * special section. |
| 21 | */ |
| 22 | static const struct of_device_id |
Rob Herring | 735e0da | 2014-03-24 16:06:42 -0500 | [diff] [blame] | 23 | irqchip_of_match_end __used __section(__irqchip_of_table_end); |
Thomas Petazzoni | f6e916b | 2012-11-20 23:00:52 +0100 | [diff] [blame] | 24 | |
Rob Herring | 735e0da | 2014-03-24 16:06:42 -0500 | [diff] [blame] | 25 | extern struct of_device_id __irqchip_of_table[]; |
Thomas Petazzoni | f6e916b | 2012-11-20 23:00:52 +0100 | [diff] [blame] | 26 | |
| 27 | void __init irqchip_init(void) |
| 28 | { |
Rob Herring | 735e0da | 2014-03-24 16:06:42 -0500 | [diff] [blame] | 29 | of_irq_init(__irqchip_of_table); |
Tomasz Nowicki | d60fc38 | 2015-03-24 14:02:49 +0000 | [diff] [blame] | 30 | |
| 31 | acpi_irq_init(); |
Thomas Petazzoni | f6e916b | 2012-11-20 23:00:52 +0100 | [diff] [blame] | 32 | } |