blob: cc54187f3d383993e633306092061195469b1d88 [file] [log] [blame]
Michal Simekeedbdab2009-03-27 14:25:49 +01001/*
2 * Copyright (C) 2006 Atmark Techno, Inc.
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
6 * for more details.
7 */
8
9#ifndef _ASM_MICROBLAZE_IRQ_H
10#define _ASM_MICROBLAZE_IRQ_H
11
12#define NR_IRQS 32
Remis Lima Baima0a584582009-06-18 19:55:33 +020013#include <asm-generic/irq.h>
Michal Simekeedbdab2009-03-27 14:25:49 +010014
Michal Simekc6ba01a2010-01-14 15:16:31 +010015/* This type is the placeholder for a hardware interrupt number. It has to
16 * be big enough to enclose whatever representation is used by a given
17 * platform.
18 */
19typedef unsigned long irq_hw_number_t;
20
Michal Simekeedbdab2009-03-27 14:25:49 +010021extern unsigned int nr_irq;
22
23#define NO_IRQ (-1)
24
Michal Simekeedbdab2009-03-27 14:25:49 +010025struct pt_regs;
26extern void do_IRQ(struct pt_regs *regs);
27
Michal Simekeedbdab2009-03-27 14:25:49 +010028/** FIXME - not implement
29 * irq_dispose_mapping - Unmap an interrupt
30 * @virq: linux virq number of the interrupt to unmap
31 */
32static inline void irq_dispose_mapping(unsigned int virq)
33{
34 return;
35}
36
Michal Simekc6ba01a2010-01-14 15:16:31 +010037struct irq_host;
38
39/**
40 * irq_create_mapping - Map a hardware interrupt into linux virq space
41 * @host: host owning this hardware interrupt or NULL for default host
42 * @hwirq: hardware irq number in that host space
43 *
44 * Only one mapping per hardware interrupt is permitted. Returns a linux
45 * virq number.
46 * If the sense/trigger is to be specified, set_irq_type() should be called
47 * on the number returned from that call.
48 */
49extern unsigned int irq_create_mapping(struct irq_host *host,
50 irq_hw_number_t hwirq);
51
Michal Simekeedbdab2009-03-27 14:25:49 +010052#endif /* _ASM_MICROBLAZE_IRQ_H */