Merge master.kernel.org:/home/rmk/linux-2.6-arm
authorLinus Torvalds <torvalds@g5.osdl.org>
Sun, 30 Jul 2006 05:53:46 +0000 (22:53 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 30 Jul 2006 05:53:46 +0000 (22:53 -0700)
* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3734/1: Fix the unused variable warning in __iounmap()
  [ARM] 3737/1: Export ARM copy/clear_user_page symbols
  [ARM] 3736/1: xscale: don't mis-report 80219 as an iop32x
  [ARM] 3733/2: S3C24XX: Remove old IDE registers in Anubis
  [ARM] 3732/1: S3C24XX: tidy syntax in osiris and anubis machines
  [ARM] Fix SMP booting
  [ARM] 3731/1: Allow IRQ definitions of IQ80331 and IQ80332 to co-exist
  [ARM] 3730/1: ep93xx: enable usb ohci driver in the defconfig
  [ARM] Fix cats build

arch/arm/configs/ep93xx_defconfig
arch/arm/kernel/head.S
arch/arm/mach-footbridge/cats-hw.c
arch/arm/mach-s3c2410/mach-anubis.c
arch/arm/mach-s3c2410/mach-osiris.c
arch/arm/mm/ioremap.c
arch/arm/mm/proc-syms.c
arch/arm/mm/proc-xscale.S
include/asm-arm/arch-iop3xx/iop331-irqs.h

index c0de6fc..2948b45 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.18-rc1
-# Sun Jul  9 15:21:30 2006
+# Linux kernel version: 2.6.18-rc1-git9
+# Sat Jul 15 15:08:10 2006
 #
 CONFIG_ARM=y
 CONFIG_MMU=y
@@ -30,6 +30,7 @@ CONFIG_SWAP=y
 CONFIG_SYSVIPC=y
 # CONFIG_POSIX_MQUEUE is not set
 # CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
 CONFIG_SYSCTL=y
 # CONFIG_AUDIT is not set
 CONFIG_IKCONFIG=y
@@ -749,7 +750,7 @@ CONFIG_VIDEO_V4L2=y
 # USB support
 #
 CONFIG_USB_ARCH_HAS_HCD=y
-# CONFIG_USB_ARCH_HAS_OHCI is not set
+CONFIG_USB_ARCH_HAS_OHCI=y
 # CONFIG_USB_ARCH_HAS_EHCI is not set
 CONFIG_USB=y
 CONFIG_USB_DEBUG=y
@@ -766,6 +767,9 @@ CONFIG_USB_DYNAMIC_MINORS=y
 # USB Host Controller Drivers
 #
 # CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
 # CONFIG_USB_SL811_HCD is not set
 
 #
@@ -855,6 +859,7 @@ CONFIG_USB_SERIAL_CONSOLE=y
 CONFIG_USB_SERIAL_PL2303=y
 # CONFIG_USB_SERIAL_HP4X is not set
 # CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
 # CONFIG_USB_SERIAL_TI is not set
 # CONFIG_USB_SERIAL_CYBERJACK is not set
 # CONFIG_USB_SERIAL_XIRCOM is not set
@@ -871,7 +876,7 @@ CONFIG_USB_SERIAL_PL2303=y
 # CONFIG_USB_LEGOTOWER is not set
 # CONFIG_USB_LCD is not set
 # CONFIG_USB_LED is not set
-# CONFIG_USB_CY7C63 is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
 # CONFIG_USB_CYTHERM is not set
 # CONFIG_USB_PHIDGETKIT is not set
 # CONFIG_USB_PHIDGETSERVO is not set
@@ -916,6 +921,7 @@ CONFIG_RTC_INTF_DEV=y
 # CONFIG_RTC_DRV_X1205 is not set
 # CONFIG_RTC_DRV_DS1307 is not set
 # CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
 # CONFIG_RTC_DRV_DS1672 is not set
 # CONFIG_RTC_DRV_DS1742 is not set
 # CONFIG_RTC_DRV_PCF8563 is not set
@@ -1023,7 +1029,6 @@ CONFIG_SUNRPC=y
 # CONFIG_RPCSEC_GSS_SPKM3 is not set
 # CONFIG_SMB_FS is not set
 # CONFIG_CIFS is not set
-# CONFIG_CIFS_DEBUG2 is not set
 # CONFIG_NCP_FS is not set
 # CONFIG_CODA_FS is not set
 # CONFIG_AFS_FS is not set
index 2242f5f..4fe386e 100644 (file)
@@ -114,9 +114,9 @@ ENTRY(secondary_startup)
         * Use the page tables supplied from  __cpu_up.
         */
        adr     r4, __secondary_data
-       ldmia   r4, {r5, r6, r13}               @ address to jump to after
+       ldmia   r4, {r5, r7, r13}               @ address to jump to after
        sub     r4, r4, r5                      @ mmu has been enabled
-       ldr     r4, [r6, r4]                    @ get secondary_data.pgdir
+       ldr     r4, [r7, r4]                    @ get secondary_data.pgdir
        adr     lr, __enable_mmu                @ return address
        add     pc, r10, #12                    @ initialise processor
                                                @ (return control reg)
@@ -125,7 +125,7 @@ ENTRY(secondary_startup)
         * r6  = &secondary_data
         */
 ENTRY(__secondary_switched)
-       ldr     sp, [r6, #4]                    @ get secondary_data.stack
+       ldr     sp, [r7, #4]                    @ get secondary_data.stack
        mov     fp, #0
        b       secondary_start_kernel
 
index 5b64d5c..ef6ccc8 100644 (file)
@@ -8,7 +8,7 @@
 #include <linux/ioport.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
-#include <linux/tty.h>
+#include <linux/screen_info.h>
 
 #include <asm/hardware/dec21285.h>
 #include <asm/io.h>
index 4a92d6f..60641d4 100644 (file)
@@ -60,11 +60,12 @@ static struct map_desc anubis_iodesc[] __initdata = {
        .virtual        = (u32)S3C24XX_VA_ISA_BYTE,
        .pfn            = __phys_to_pfn(0x0),
        .length         = SZ_4M,
-       .type           = MT_DEVICE
+       .type           = MT_DEVICE,
   }, {
        .virtual        = (u32)S3C24XX_VA_ISA_WORD,
        .pfn            = __phys_to_pfn(0x0),
-       .length         = SZ_4M, MT_DEVICE
+       .length         = SZ_4M,
+       .type           = MT_DEVICE,
   },
 
   /* we could possibly compress the next set down into a set of smaller tables
@@ -78,36 +79,12 @@ static struct map_desc anubis_iodesc[] __initdata = {
        .virtual        = (u32)ANUBIS_VA_CTRL1,
        .pfn            = __phys_to_pfn(ANUBIS_PA_CTRL1),
        .length         = SZ_4K,
-       .type           = MT_DEVICE
+       .type           = MT_DEVICE,
   }, {
        .virtual        = (u32)ANUBIS_VA_CTRL2,
        .pfn            = __phys_to_pfn(ANUBIS_PA_CTRL2),
        .length         = SZ_4K,
-       .type           =MT_DEVICE
-  },
-
-  /* IDE drives */
-
-  {
-       .virtual        = (u32)ANUBIS_IDEPRI,
-       .pfn            = __phys_to_pfn(S3C2410_CS3),
-       .length         = SZ_1M,
-       .type           = MT_DEVICE
-  }, {
-       .virtual        = (u32)ANUBIS_IDEPRIAUX,
-       .pfn            = __phys_to_pfn(S3C2410_CS3+(1<<26)),
-       .length         = SZ_1M,
-       .type           = MT_DEVICE
-  }, {
-       .virtual        = (u32)ANUBIS_IDESEC,
-       .pfn            = __phys_to_pfn(S3C2410_CS4),
-       .length         = SZ_1M,
-       .type           = MT_DEVICE
-  }, {
-       .virtual        = (u32)ANUBIS_IDESECAUX,
-       .pfn            = __phys_to_pfn(S3C2410_CS4+(1<<26)),
-       .length         = SZ_1M,
-       .type           = MT_DEVICE
+       .type           = MT_DEVICE,
   },
 };
 
@@ -126,7 +103,7 @@ static struct s3c24xx_uart_clksrc anubis_serial_clocks[] = {
                .name           = "pclk",
                .divisor        = 1,
                .min_baud       = 0,
-               .max_baud       = 0.
+               .max_baud       = 0,
        }
 };
 
@@ -139,7 +116,7 @@ static struct s3c2410_uartcfg anubis_uartcfgs[] __initdata = {
                .ulcon       = ULCON,
                .ufcon       = UFCON,
                .clocks      = anubis_serial_clocks,
-               .clocks_size = ARRAY_SIZE(anubis_serial_clocks)
+               .clocks_size = ARRAY_SIZE(anubis_serial_clocks),
        },
        [1] = {
                .hwport      = 2,
@@ -148,7 +125,7 @@ static struct s3c2410_uartcfg anubis_uartcfgs[] __initdata = {
                .ulcon       = ULCON,
                .ufcon       = UFCON,
                .clocks      = anubis_serial_clocks,
-               .clocks_size = ARRAY_SIZE(anubis_serial_clocks)
+               .clocks_size = ARRAY_SIZE(anubis_serial_clocks),
        },
 };
 
@@ -162,7 +139,7 @@ static struct mtd_partition anubis_default_nand_part[] = {
        [0] = {
                .name   = "Boot Agent",
                .size   = SZ_16K,
-               .offset = 0
+               .offset = 0,
        },
        [1] = {
                .name   = "/boot",
@@ -194,21 +171,21 @@ static struct s3c2410_nand_set anubis_nand_sets[] = {
                .nr_chips       = 1,
                .nr_map         = external_map,
                .nr_partitions  = ARRAY_SIZE(anubis_default_nand_part),
-               .partitions     = anubis_default_nand_part
+               .partitions     = anubis_default_nand_part,
        },
        [0] = {
                .name           = "chip0",
                .nr_chips       = 1,
                .nr_map         = chip0_map,
                .nr_partitions  = ARRAY_SIZE(anubis_default_nand_part),
-               .partitions     = anubis_default_nand_part
+               .partitions     = anubis_default_nand_part,
        },
        [2] = {
                .name           = "chip1",
                .nr_chips       = 1,
                .nr_map         = chip1_map,
                .nr_partitions  = ARRAY_SIZE(anubis_default_nand_part),
-               .partitions     = anubis_default_nand_part
+               .partitions     = anubis_default_nand_part,
        },
 };
 
@@ -313,7 +290,7 @@ static struct s3c24xx_board anubis_board __initdata = {
        .devices       = anubis_devices,
        .devices_count = ARRAY_SIZE(anubis_devices),
        .clocks        = anubis_clocks,
-       .clocks_count  = ARRAY_SIZE(anubis_clocks)
+       .clocks_count  = ARRAY_SIZE(anubis_clocks),
 };
 
 static void __init anubis_map_io(void)
index 858fd03..e193ba6 100644 (file)
@@ -67,12 +67,12 @@ static struct map_desc osiris_iodesc[] __initdata = {
          .virtual      = (u32)OSIRIS_VA_CTRL1,
          .pfn          = __phys_to_pfn(OSIRIS_PA_CTRL1),
          .length       = SZ_16K,
-         .type         = MT_DEVICE
+         .type         = MT_DEVICE,
   }, {
          .virtual      = (u32)OSIRIS_VA_CTRL2,
          .pfn          = __phys_to_pfn(OSIRIS_PA_CTRL2),
          .length       = SZ_16K,
-         .type         = MT_DEVICE
+         .type         = MT_DEVICE,
   },
 };
 
@@ -91,7 +91,7 @@ static struct s3c24xx_uart_clksrc osiris_serial_clocks[] = {
                .name           = "pclk",
                .divisor        = 1,
                .min_baud       = 0,
-               .max_baud       = 0.
+               .max_baud       = 0,
        }
 };
 
@@ -103,7 +103,7 @@ static struct s3c2410_uartcfg osiris_uartcfgs[] __initdata = {
                .ulcon       = ULCON,
                .ufcon       = UFCON,
                .clocks      = osiris_serial_clocks,
-               .clocks_size = ARRAY_SIZE(osiris_serial_clocks)
+               .clocks_size = ARRAY_SIZE(osiris_serial_clocks),
        },
        [1] = {
                .hwport      = 1,
@@ -112,7 +112,7 @@ static struct s3c2410_uartcfg osiris_uartcfgs[] __initdata = {
                .ulcon       = ULCON,
                .ufcon       = UFCON,
                .clocks      = osiris_serial_clocks,
-               .clocks_size = ARRAY_SIZE(osiris_serial_clocks)
+               .clocks_size = ARRAY_SIZE(osiris_serial_clocks),
        },
 };
 
@@ -126,7 +126,7 @@ static struct mtd_partition osiris_default_nand_part[] = {
        [0] = {
                .name   = "Boot Agent",
                .size   = SZ_16K,
-               .offset = 0
+               .offset = 0,
        },
        [1] = {
                .name   = "/boot",
@@ -158,21 +158,21 @@ static struct s3c2410_nand_set osiris_nand_sets[] = {
                .nr_chips       = 1,
                .nr_map         = external_map,
                .nr_partitions  = ARRAY_SIZE(osiris_default_nand_part),
-               .partitions     = osiris_default_nand_part
+               .partitions     = osiris_default_nand_part,
        },
        [0] = {
                .name           = "chip0",
                .nr_chips       = 1,
                .nr_map         = chip0_map,
                .nr_partitions  = ARRAY_SIZE(osiris_default_nand_part),
-               .partitions     = osiris_default_nand_part
+               .partitions     = osiris_default_nand_part,
        },
        [2] = {
                .name           = "chip1",
                .nr_chips       = 1,
                .nr_map         = chip1_map,
                .nr_partitions  = ARRAY_SIZE(osiris_default_nand_part),
-               .partitions     = osiris_default_nand_part
+               .partitions     = osiris_default_nand_part,
        },
 };
 
@@ -245,7 +245,7 @@ static struct s3c24xx_board osiris_board __initdata = {
        .devices       = osiris_devices,
        .devices_count = ARRAY_SIZE(osiris_devices),
        .clocks        = osiris_clocks,
-       .clocks_count  = ARRAY_SIZE(osiris_clocks)
+       .clocks_count  = ARRAY_SIZE(osiris_clocks),
 };
 
 static void __init osiris_map_io(void)
index dba7ddd..88a999d 100644 (file)
@@ -363,7 +363,9 @@ EXPORT_SYMBOL(__ioremap);
 
 void __iounmap(void __iomem *addr)
 {
+#ifndef CONFIG_SMP
        struct vm_struct **p, *tmp;
+#endif
        unsigned int section_mapping = 0;
 
        addr = (void __iomem *)(PAGE_MASK & (unsigned long)addr);
index 6c5f0fe..ab14355 100644 (file)
@@ -13,6 +13,7 @@
 #include <asm/cacheflush.h>
 #include <asm/proc-fns.h>
 #include <asm/tlbflush.h>
+#include <asm/page.h>
 
 #ifndef MULTI_CPU
 EXPORT_SYMBOL(cpu_dcache_clean_area);
@@ -30,6 +31,13 @@ EXPORT_SYMBOL(__cpuc_coherent_kern_range);
 EXPORT_SYMBOL(cpu_cache);
 #endif
 
+#ifndef MULTI_USER
+EXPORT_SYMBOL(__cpu_clear_user_page);
+EXPORT_SYMBOL(__cpu_copy_user_page);
+#else
+EXPORT_SYMBOL(cpu_user);
+#endif
+
 /*
  * No module should need to touch the TLB (and currently
  * no modules do.  We export this for "loadkernel" support
index 5215386..561bff7 100644 (file)
@@ -536,6 +536,11 @@ cpu_80200_name:
        .asciz  "XScale-80200"
        .size   cpu_80200_name, . - cpu_80200_name
 
+       .type   cpu_80219_name, #object
+cpu_80219_name:
+       .asciz  "XScale-80219"
+       .size   cpu_80219_name, . - cpu_80219_name
+
        .type   cpu_8032x_name, #object
 cpu_8032x_name:
        .asciz  "XScale-IOP8032x Family"
@@ -613,10 +618,33 @@ __80200_proc_info:
        .long   xscale_cache_fns
        .size   __80200_proc_info, . - __80200_proc_info
 
+       .type   __80219_proc_info,#object
+__80219_proc_info:
+       .long   0x69052e20
+       .long   0xffffffe0
+       .long   PMD_TYPE_SECT | \
+               PMD_SECT_BUFFERABLE | \
+               PMD_SECT_CACHEABLE | \
+               PMD_SECT_AP_WRITE | \
+               PMD_SECT_AP_READ
+       .long   PMD_TYPE_SECT | \
+               PMD_SECT_AP_WRITE | \
+               PMD_SECT_AP_READ
+       b       __xscale_setup
+       .long   cpu_arch_name
+       .long   cpu_elf_name
+       .long   HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP
+       .long   cpu_80219_name
+       .long   xscale_processor_functions
+       .long   v4wbi_tlb_fns
+       .long   xscale_mc_user_fns
+       .long   xscale_cache_fns
+       .size   __80219_proc_info, . - __80219_proc_info
+
        .type   __8032x_proc_info,#object
 __8032x_proc_info:
        .long   0x69052420
-       .long   0xfffff5e0      @ mask should accomodate IOP80219 also
+       .long   0xffffffe0
        .long   PMD_TYPE_SECT | \
                PMD_SECT_BUFFERABLE | \
                PMD_SECT_CACHEABLE | \
index 8ff73d4..7135ad7 100644 (file)
@@ -91,7 +91,6 @@
 #define NR_IRQS                        NR_IOP331_IRQS
 
 
-#if defined(CONFIG_ARCH_IQ80331)
 /*
  * Interrupts available on the IQ80331 board
  */
 #define        IRQ_IQ80331_INTC        IRQ_IOP331_XINT2
 #define        IRQ_IQ80331_INTD        IRQ_IOP331_XINT3
 
-#elif defined(CONFIG_MACH_IQ80332)
 /*
  * Interrupts available on the IQ80332 board
  */
 #define        IRQ_IQ80332_INTC        IRQ_IOP331_XINT2
 #define        IRQ_IQ80332_INTD        IRQ_IOP331_XINT3
 
-#endif
-
 #endif // _IOP331_IRQ_H_