Also I like to see away to pass in a base offset. I have a mips device
which has a i8259 chip but its io is offseted by 0xb0000000.
On Thu, 8 Nov 2001, Atsushi Nemoto wrote:
> arch/mips/kernel/i8259.c seems not working in big endian.
>
> Here is a patch to fix this.
>
> --- linux-sgi-cvs/arch/mips/kernel/i8259.c Mon Sep 10 02:43:01 2001
> +++ linux.new/arch/mips/kernel/i8259.c Thu Nov 8 15:40:03 2001
> @@ -70,8 +70,13 @@
> static unsigned int cached_irq_mask = 0xffff;
>
> #define __byte(x,y) (((unsigned char *)&(y))[x])
> +#ifdef __BIG_ENDIAN
> +#define cached_21 (__byte(1,cached_irq_mask))
> +#define cached_A1 (__byte(0,cached_irq_mask))
> +#else
> #define cached_21 (__byte(0,cached_irq_mask))
> #define cached_A1 (__byte(1,cached_irq_mask))
> +#endif
>
> void disable_8259A_irq(unsigned int irq)
> {
> ---
> Atsushi Nemoto
>
|