blob: 2b35e68bea825c3a5d132d42a2a52b2740ec1353 [file] [log] [blame]
Thomas Petazzonif6e916b2012-11-20 23:00:52 +01001/*
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
Marc Zyngier46e589a2015-09-28 15:49:13 +010011#include <linux/acpi.h>
Thomas Petazzonif6e916b2012-11-20 23:00:52 +010012#include <linux/init.h>
13#include <linux/of_irq.h>
Stephen Boyd559ba4b2014-03-04 17:01:21 -080014#include <linux/irqchip.h>
Thomas Petazzonif6e916b2012-11-20 23:00:52 +010015
Thomas Petazzonif6e916b2012-11-20 23:00:52 +010016/*
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 */
22static const struct of_device_id
Rob Herring735e0da2014-03-24 16:06:42 -050023irqchip_of_match_end __used __section(__irqchip_of_table_end);
Thomas Petazzonif6e916b2012-11-20 23:00:52 +010024
Rob Herring735e0da2014-03-24 16:06:42 -050025extern struct of_device_id __irqchip_of_table[];
Thomas Petazzonif6e916b2012-11-20 23:00:52 +010026
27void __init irqchip_init(void)
28{
Rob Herring735e0da2014-03-24 16:06:42 -050029 of_irq_init(__irqchip_of_table);
Marc Zyngier46e589a2015-09-28 15:49:13 +010030 acpi_probe_device_table(irqchip);
Thomas Petazzonif6e916b2012-11-20 23:00:52 +010031}