Skip to content

Commit

Permalink
[PATCH] m68knommu: move some platform irq support out of irq.h
Browse files Browse the repository at this point in the history
Move some of the m68knommu platform specific irq core support
to its own header, irqnode.h. Having it in asm-m68knommu/irq.h
causes some build pain, since it is included in a number of
common code places (and not all the required definitions will
be included at these places).

Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Greg Ungerer authored and Linus Torvalds committed Nov 7, 2005
1 parent 562d2f8 commit 2ed5e6d
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 31 deletions.
1 change: 1 addition & 0 deletions arch/m68knommu/kernel/asm-offsets.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include <linux/hardirq.h>
#include <asm/bootinfo.h>
#include <asm/irq.h>
#include <asm/irqnode.h>
#include <asm/thread_info.h>

#define DEFINE(sym, val) \
Expand Down
1 change: 1 addition & 0 deletions arch/m68knommu/platform/5307/ints.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

#include <asm/system.h>
#include <asm/irq.h>
#include <asm/irqnode.h>
#include <asm/traps.h>
#include <asm/page.h>
#include <asm/machdep.h>
Expand Down
31 changes: 0 additions & 31 deletions include/asm-m68knommu/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#define _M68K_IRQ_H_

#include <linux/config.h>
#include <linux/interrupt.h>
#include <asm/ptrace.h>

#ifdef CONFIG_COLDFIRE
Expand Down Expand Up @@ -82,36 +81,6 @@ extern void (*mach_disable_irq)(unsigned int);

#endif /* CONFIG_M68360 */

/*
* This structure is used to chain together the ISRs for a particular
* interrupt source (if it supports chaining).
*/
typedef struct irq_node {
irqreturn_t (*handler)(int, void *, struct pt_regs *);
unsigned long flags;
void *dev_id;
const char *devname;
struct irq_node *next;
} irq_node_t;

/*
* This structure has only 4 elements for speed reasons
*/
typedef struct irq_handler {
irqreturn_t (*handler)(int, void *, struct pt_regs *);
unsigned long flags;
void *dev_id;
const char *devname;
} irq_handler_t;

/* count of spurious interrupts */
extern volatile unsigned int num_spurious;

/*
* This function returns a new irq_node_t
*/
extern irq_node_t *new_irq_node(void);

/*
* Some drivers want these entry points
*/
Expand Down
36 changes: 36 additions & 0 deletions include/asm-m68knommu/irqnode.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#ifndef _M68K_IRQNODE_H_
#define _M68K_IRQNODE_H_

#include <linux/interrupt.h>

/*
* This structure is used to chain together the ISRs for a particular
* interrupt source (if it supports chaining).
*/
typedef struct irq_node {
irqreturn_t (*handler)(int, void *, struct pt_regs *);
unsigned long flags;
void *dev_id;
const char *devname;
struct irq_node *next;
} irq_node_t;

/*
* This structure has only 4 elements for speed reasons
*/
typedef struct irq_handler {
irqreturn_t (*handler)(int, void *, struct pt_regs *);
unsigned long flags;
void *dev_id;
const char *devname;
} irq_handler_t;

/* count of spurious interrupts */
extern volatile unsigned int num_spurious;

/*
* This function returns a new irq_node_t
*/
extern irq_node_t *new_irq_node(void);

#endif /* _M68K_IRQNODE_H_ */

0 comments on commit 2ed5e6d

Please sign in to comment.