Commit 93e64a97 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] export some functions from i8259.c

Patch from Andrey Panin <pazke@orbita1.ru>

This trivial patch exports some functions from 8259.c file.
Visws subarch needs them to handle interrupts from legacy devices
connected to PIIX4 i8259s, which are in turn connected to SGI
Cobalt APIC.
parent a355f040
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#include <asm/desc.h> #include <asm/desc.h>
#include <asm/apic.h> #include <asm/apic.h>
#include <asm/arch_hooks.h> #include <asm/arch_hooks.h>
#include <asm/i8259.h>
#include <linux/irq.h> #include <linux/irq.h>
...@@ -47,7 +48,7 @@ static void end_8259A_irq (unsigned int irq) ...@@ -47,7 +48,7 @@ static void end_8259A_irq (unsigned int irq)
void mask_and_ack_8259A(unsigned int); void mask_and_ack_8259A(unsigned int);
static unsigned int startup_8259A_irq(unsigned int irq) unsigned int startup_8259A_irq(unsigned int irq)
{ {
enable_8259A_irq(irq); enable_8259A_irq(irq);
return 0; /* never anything pending */ return 0; /* never anything pending */
...@@ -71,11 +72,7 @@ static struct hw_interrupt_type i8259A_irq_type = { ...@@ -71,11 +72,7 @@ static struct hw_interrupt_type i8259A_irq_type = {
/* /*
* This contains the irq mask for both 8259A irq controllers, * This contains the irq mask for both 8259A irq controllers,
*/ */
static unsigned int cached_irq_mask = 0xffff; unsigned int cached_irq_mask = 0xffff;
#define __byte(x,y) (((unsigned char *)&(y))[x])
#define cached_21 (__byte(0,cached_irq_mask))
#define cached_A1 (__byte(1,cached_irq_mask))
/* /*
* Not all IRQs can be routed through the IO-APIC, eg. on certain (older) * Not all IRQs can be routed through the IO-APIC, eg. on certain (older)
......
#ifndef __ASM_I8259_H__
#define __ASM_I8259_H__
extern unsigned int cached_irq_mask;
#define __byte(x,y) (((unsigned char *) &(y))[x])
#define cached_21 (__byte(0, cached_irq_mask))
#define cached_A1 (__byte(1, cached_irq_mask))
extern spinlock_t i8259A_lock;
extern void init_8259A(int auto_eoi);
extern void enable_8259A_irq(unsigned int irq);
extern void disable_8259A_irq(unsigned int irq);
extern unsigned int startup_8259A_irq(unsigned int irq);
#endif /* __ASM_I8259_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment