Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux...
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 5 Dec 2011 23:20:17 +0000 (23:20 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 5 Dec 2011 23:20:17 +0000 (23:20 +0000)
Conflicts:
arch/arm/common/gic.c
arch/arm/plat-omap/include/plat/common.h

17 files changed:
1  2 
arch/arm/common/gic.c
arch/arm/include/asm/mach/arch.h
arch/arm/kernel/entry-armv.S
arch/arm/kernel/machine_kexec.c
arch/arm/kernel/process.c
arch/arm/kernel/setup.c
arch/arm/mach-highbank/highbank.c
arch/arm/mach-omap1/board-ams-delta.c
arch/arm/mach-omap1/devices.c
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/cpuidle34xx.c
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-omap2/pm.c
arch/arm/mach-omap2/smartreflex.c
arch/arm/plat-mxc/include/mach/common.h
arch/arm/plat-mxc/system.c
arch/arm/plat-omap/include/plat/common.h

index a1feb6b4f9f545f6d53d6e78bf1d04d62b6d4bdd,410a546060a2eecf82859d76c528223e8796f9f4..b2dc2dd7f1df6d25fbba306e0822563883b18859
@@@ -696,12 -582,16 +697,14 @@@ void __init gic_init_bases(unsigned in
         * For primary GICs, skip over SGIs.
         * For secondary GICs, skip over PPIs, too.
         */
+       domain->hwirq_base = 32;
        if (gic_nr == 0) {
-               domain->hwirq_base = 16;
-               if (irq_start > 0)
-                       irq_start = (irq_start & ~31) + 16;
-       } else
-               domain->hwirq_base = 32;
 -              gic_cpu_base_addr = cpu_base;
 -
+               if ((irq_start & 31) > 0) {
+                       domain->hwirq_base = 16;
+                       if (irq_start != -1)
+                               irq_start = (irq_start & ~31) + 16;
+               }
+       }
  
        /*
         * Find out how many interrupts are supported.
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 346098fb92190320c2c21e21b276175362e6b1b2,3ff3e36580f267df6890712efef55e8ee22bdbc7..257f9770b2da2faa38d3de32550963f0124d611c
  #ifndef __ARCH_ARM_MACH_OMAP_COMMON_H
  #define __ARCH_ARM_MACH_OMAP_COMMON_H
  
 -#include <linux/delay.h>
 -
  #include <plat/i2c.h>
+ #include <plat/omap_hwmod.h>
  
 -struct sys_timer;
 -
 -extern void omap_map_common_io(void);
 -extern struct sys_timer omap1_timer;
 -extern struct sys_timer omap2_timer;
 -extern struct sys_timer omap3_timer;
 -extern struct sys_timer omap3_secure_timer;
 -extern struct sys_timer omap4_timer;
 -extern bool omap_32k_timer_init(void);
  extern int __init omap_init_clocksource_32k(void);
  extern unsigned long long notrace omap_32k_sched_clock(void);
  
  extern void omap_reserve(void);
 -
 -void omap2420_init_early(void);
 -void omap2430_init_early(void);
 -void omap3430_init_early(void);
 -void omap35xx_init_early(void);
 -void omap3630_init_early(void);
 -void omap3_init_early(void);  /* Do not use this one */
 -void am35xx_init_early(void);
 -void ti816x_init_early(void);
 -void omap4430_init_early(void);
 -
+ extern int omap_dss_reset(struct omap_hwmod *);
  void omap_sram_init(void);
  
 -/*
 - * IO bases for various OMAP processors
 - * Except the tap base, rest all the io bases
 - * listed are physical addresses.
 - */
 -struct omap_globals {
 -      u32             class;          /* OMAP class to detect */
 -      void __iomem    *tap;           /* Control module ID code */
 -      void __iomem    *sdrc;           /* SDRAM Controller */
 -      void __iomem    *sms;            /* SDRAM Memory Scheduler */
 -      void __iomem    *ctrl;           /* System Control Module */
 -      void __iomem    *ctrl_pad;      /* PAD Control Module */
 -      void __iomem    *prm;            /* Power and Reset Management */
 -      void __iomem    *cm;             /* Clock Management */
 -      void __iomem    *cm2;
 -};
 -
 -void omap2_set_globals_242x(void);
 -void omap2_set_globals_243x(void);
 -void omap2_set_globals_3xxx(void);
 -void omap2_set_globals_443x(void);
 -void omap2_set_globals_ti816x(void);
 -
 -/* These get called from omap2_set_globals_xxxx(), do not call these */
 -void omap2_set_globals_tap(struct omap_globals *);
 -void omap2_set_globals_sdrc(struct omap_globals *);
 -void omap2_set_globals_control(struct omap_globals *);
 -void omap2_set_globals_prcm(struct omap_globals *);
 -
 -void omap242x_map_io(void);
 -void omap243x_map_io(void);
 -void omap3_map_io(void);
 -void omap4_map_io(void);
 -
 -
 -/**
 - * omap_test_timeout - busy-loop, testing a condition
 - * @cond: condition to test until it evaluates to true
 - * @timeout: maximum number of microseconds in the timeout
 - * @index: loop index (integer)
 - *
 - * Loop waiting for @cond to become true or until at least @timeout
 - * microseconds have passed.  To use, define some integer @index in the
 - * calling code.  After running, if @index == @timeout, then the loop has
 - * timed out.
 - */
 -#define omap_test_timeout(cond, timeout, index)                       \
 -({                                                            \
 -      for (index = 0; index < timeout; index++) {             \
 -              if (cond)                                       \
 -                      break;                                  \
 -              udelay(1);                                      \
 -      }                                                       \
 -})
 -
 -extern struct device *omap2_get_mpuss_device(void);
 -extern struct device *omap2_get_iva_device(void);
 -extern struct device *omap2_get_l3_device(void);
 -extern struct device *omap4_get_dsp_device(void);
 -
  #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */