blob: ce3eee9fe26cbb055cbea6ab0d5567af4964b29a [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Russell King4baa9922008-08-02 10:55:55 +01002 * arch/arm/include/asm/mach/irq.h
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 *
4 * Copyright (C) 1995-2000 Russell King.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10#ifndef __ASM_ARM_MACH_IRQ_H
11#define __ASM_ARM_MACH_IRQ_H
12
Thomas Gleixner4a2581a2006-07-01 22:30:09 +010013#include <linux/irq.h>
14
Linus Torvalds1da177e2005-04-16 15:20:36 -070015struct seq_file;
16
Russell King664399e2005-09-04 19:45:00 +010017/*
Linus Torvalds1da177e2005-04-16 15:20:36 -070018 * This is internal. Do not use it.
19 */
eric miao354e6f72010-06-25 09:46:09 +010020extern unsigned int arch_nr_irqs;
Linus Torvalds1da177e2005-04-16 15:20:36 -070021extern void (*init_arch_irq)(void);
22extern void init_FIQ(void);
23extern int show_fiq_list(struct seq_file *, void *);
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
25/*
Thomas Gleixner4a2581a2006-07-01 22:30:09 +010026 * This is for easy migration, but should be changed in the source
Linus Torvalds1da177e2005-04-16 15:20:36 -070027 */
Linus Torvalds0cd61b62006-10-06 10:53:39 -070028#define do_bad_IRQ(irq,desc) \
Thomas Gleixner4a2581a2006-07-01 22:30:09 +010029do { \
Thomas Gleixner239007b2009-11-17 16:46:45 +010030 raw_spin_lock(&desc->lock); \
Linus Torvalds0cd61b62006-10-06 10:53:39 -070031 handle_bad_irq(irq, desc); \
Thomas Gleixner239007b2009-11-17 16:46:45 +010032 raw_spin_unlock(&desc->lock); \
Thomas Gleixner4a2581a2006-07-01 22:30:09 +010033} while(0)
34
Linus Torvalds1da177e2005-04-16 15:20:36 -070035#endif