[ARM] Merge remaining IOP code
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Tue, 20 Feb 2007 10:52:01 +0000 (10:52 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 20 Feb 2007 10:52:43 +0000 (10:52 +0000)
Conflicts:
include/asm-arm/arch-at91rm9200/entry-macro.S

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
1  2 
arch/arm/mach-iop32x/n2100.c
include/asm-arm/arch-at91/entry-macro.S
include/asm-arm/arch-imx/entry-macro.S

index 966aa51aee09f2a2ae2f430357234d7e178bce85,92fa0c55443e5fb4f320d1950939e7a1cf789e52..5f07344d96f3dfa65a6ab33d01d9d6cde606e9b0
@@@ -37,6 -37,7 +37,7 @@@
  #include <asm/mach-types.h>
  #include <asm/page.h>
  #include <asm/pgtable.h>
+ #include <asm/arch/time.h>
  
  /*
   * N2100 timer tick configuration.
  static void __init n2100_timer_init(void)
  {
        /* 33.000 MHz crystal.  */
-       iop3xx_init_time(198000000);
+       iop_init_time(198000000);
  }
  
  static struct sys_timer n2100_timer = {
        .init           = n2100_timer_init,
-       .offset         = iop3xx_gettimeoffset,
+       .offset         = iop_gettimeoffset,
  };
  
  
@@@ -120,20 -121,6 +121,20 @@@ static struct hw_pci n2100_pci __initda
        .map_irq        = n2100_pci_map_irq,
  };
  
 +/*
 + * Both r8169 chips on the n2100 exhibit PCI parity problems.  Set
 + * the ->broken_parity_status flag for both ports so that the r8169
 + * driver knows it should ignore error interrupts.
 + */
 +static void n2100_fixup_r8169(struct pci_dev *dev)
 +{
 +      if (dev->bus->number == 0 &&
 +          (dev->devfn == PCI_DEVFN(1, 0) ||
 +           dev->devfn == PCI_DEVFN(2, 0)))
 +              dev->broken_parity_status = 1;
 +}
 +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_REALTEK, PCI_ANY_ID, n2100_fixup_r8169);
 +
  static int __init n2100_pci_init(void)
  {
        if (machine_is_n2100())
index 76c8cccf73aa18bc6c10dcf82507f5b45078c31c,0000000000000000000000000000000000000000..cc1d850a0788012574c2c44310245789a8b1fbb5
mode 100644,000000..100644
--- /dev/null
@@@ -1,26 -1,0 +1,32 @@@
 +/*
 + * include/asm-arm/arch-at91/entry-macro.S
 + *
 + *  Copyright (C) 2003-2005 SAN People
 + *
 + * Low-level IRQ helper macros for AT91RM9200 platforms
 + *
 + * This file is licensed under the terms of the GNU General Public
 + * License version 2. This program is licensed "as is" without any
 + * warranty of any kind, whether express or implied.
 + */
 +
 +#include <asm/hardware.h>
 +#include <asm/arch/at91_aic.h>
 +
 +      .macro  disable_fiq
 +      .endm
 +
++      .macro  get_irqnr_preamble, base, tmp
++      .endm
++
++      .macro  arch_ret_to_user, tmp1, tmp2
++      .endm
++
 +      .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
 +      ldr     \base, =(AT91_VA_BASE_SYS + AT91_AIC)           @ base virtual address of AIC peripheral
 +      ldr     \irqnr, [\base, #(AT91_AIC_IVR - AT91_AIC)]     @ read IRQ vector register: de-asserts nIRQ to processor (and clears interrupt)
 +      ldr     \irqstat, [\base, #(AT91_AIC_ISR - AT91_AIC)]   @ read interrupt source number
 +      teq     \irqstat, #0                                    @ ISR is 0 when no current interrupt, or spurious interrupt
 +      streq   \tmp, [\base, #(AT91_AIC_EOICR - AT91_AIC)]     @ not going to be handled further, then ACK it now.
 +      .endm
 +
index 61bb0bdc1b1651744c0b888a5ffd73a8461dd50c,d8cbafa6cc49d25514df36f6d4c7de1486ec8336..0b84e81031c34f75a5d9223001e46626a3c20c31
  
                .macro  disable_fiq
                .endm
+               .macro  get_irqnr_preamble, base, tmp
+               .endm
+               .macro  arch_ret_to_user, tmp1, tmp2
+               .endm
  #define AITC_NIVECSR   0x40
                .macro  get_irqnr_and_base, irqnr, irqstat, base, tmp
 -              ldr     \irqstat, =IO_ADDRESS(IMX_AITC_BASE)
 +              ldr     \base, =IO_ADDRESS(IMX_AITC_BASE)
                @ Load offset & priority of the highest priority
                @ interrupt pending.
 -              ldr     \irqnr, [\irqstat, #AITC_NIVECSR]
 +              ldr     \irqstat, [\base, #AITC_NIVECSR]
                @ Shift off the priority leaving the offset or
 -              @ "interrupt number"
 -              mov     \irqnr, \irqnr, lsr #16
 -              ldr     \irqstat, =1    @ dummy compare
 -              ldr     \base, =0xFFFF          // invalid interrupt
 -              cmp     \irqnr, \base
 -              bne     1001f
 -              ldr     \irqstat, =0
 -1001:
 -              tst     \irqstat, #1    @ to make the condition code = TRUE
 +              @ "interrupt number", use arithmetic shift to
 +              @ transform illegal source (0xffff) as -1
 +              mov     \irqnr, \irqstat, asr #16
 +              adds    \tmp, \irqnr, #1
                .endm
 -