Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / arch / arm / plat-mxc / irq-common.c
1 /*
2  * Copyright (C) BitBox Ltd 2010
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
16  * MA  02110-1301, USA.
17  */
18
19 #include <linux/module.h>
20 #include <linux/irq.h>
21
22 #include "irq-common.h"
23
24 int imx_irq_set_priority(unsigned char irq, unsigned char prio)
25 {
26         struct mxc_irq_chip *chip;
27         struct irq_chip *base;
28         int ret;
29
30         ret = -ENOSYS;
31
32         base = get_irq_chip(irq);
33         if (base) {
34                 chip = container_of(base, struct mxc_irq_chip, base);
35                 if (chip->set_priority)
36                         ret = chip->set_priority(irq, prio);
37         }
38
39         return ret;
40 }
41 EXPORT_SYMBOL(imx_irq_set_priority);
42
43 int mxc_set_irq_fiq(unsigned int irq, unsigned int type)
44 {
45         struct mxc_irq_chip *chip;
46         struct irq_chip *base;
47         int ret;
48
49         ret = -ENOSYS;
50
51         base = get_irq_chip(irq);
52         if (base) {
53                 chip = container_of(base, struct mxc_irq_chip, base);
54                 if (chip->set_irq_fiq)
55                         ret = chip->set_irq_fiq(irq, type);
56         }
57
58         return ret;
59 }
60 EXPORT_SYMBOL(mxc_set_irq_fiq);