]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Merge tag 'vexpress/drivers-for-3.9' of git://git.linaro.org/people/pawelmoll/linux...
authorOlof Johansson <olof@lixom.net>
Wed, 30 Jan 2013 18:04:23 +0000 (10:04 -0800)
committerOlof Johansson <olof@lixom.net>
Wed, 30 Jan 2013 18:04:56 +0000 (10:04 -0800)
From Pawel Moll:
Versatile Express related driver updates for 3.9:
* Move sp810 header to a more generic location,
  mainly to share it with arm64

* tag 'vexpress/drivers-for-3.9' of git://git.linaro.org/people/pawelmoll/linux:
  arm: Move sp810.h to include/linux/amba/
  + Linux 3.8-rc5

Signed-off-by: Olof Johansson <olof@lixom.net>
1  2 
MAINTAINERS
arch/arm/mach-imx/common.h
arch/arm/mach-imx/platsmp.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/timer.c

diff --combined MAINTAINERS
index b4dea6cee2a997e30346bb419bc4eaf8851efe10,8ae709e34523c4eb25c7cde1e4e4a9afb7e9704d..fd9959c174e80b750a3284af771953c9c43e05fb
@@@ -228,7 -228,7 +228,7 @@@ S: Maintaine
  F:    drivers/platform/x86/acerhdf.c
  
  ACER WMI LAPTOP EXTRAS
- M:    Joey Lee <jlee@novell.com>
+ M:    "Lee, Chun-Yi" <jlee@suse.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    drivers/platform/x86/acer-wmi.c
@@@ -648,7 -648,7 +648,7 @@@ F: arch/arm
  
  ARM SUB-ARCHITECTURES
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
- S:    MAINTAINED
+ S:    Maintained
  F:    arch/arm/mach-*/
  F:    arch/arm/plat-*/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git
@@@ -1351,6 -1351,14 +1351,14 @@@ W:    http://wireless.kernel.org/en/users/
  S:    Supported
  F:    drivers/net/wireless/ath/ath9k/
  
+ WILOCITY WIL6210 WIRELESS DRIVER
+ M:    Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
+ L:    linux-wireless@vger.kernel.org
+ L:    wil6210@qca.qualcomm.com
+ S:    Supported
+ W:    http://wireless.kernel.org/en/users/Drivers/wil6210
+ F:    drivers/net/wireless/ath/wil6210/
  CARL9170 LINUX COMMUNITY WIRELESS DRIVER
  M:    Christian Lamparter <chunkeey@googlemail.com>
  L:    linux-wireless@vger.kernel.org
@@@ -1964,9 -1972,9 +1972,9 @@@ S:      Maintaine
  F:    drivers/usb/host/ohci-ep93xx.c
  
  CIRRUS LOGIC CS4270 SOUND DRIVER
- M:    Timur Tabi <timur@freescale.com>
+ M:    Timur Tabi <timur@tabi.org>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
- S:    Supported
+ S:    Odd Fixes
  F:    sound/soc/codecs/cs4270*
  
  CLEANCACHE API
@@@ -3183,9 -3191,9 +3191,9 @@@ F:      include/uapi/video
  F:    include/uapi/linux/fb.h
  
  FREESCALE DIU FRAMEBUFFER DRIVER
- M:    Timur Tabi <timur@freescale.com>
+ M:    Timur Tabi <timur@tabi.org>
  L:    linux-fbdev@vger.kernel.org
- S:    Supported
+ S:    Maintained
  F:    drivers/video/fsl-diu-fb.*
  
  FREESCALE DMA DRIVER
@@@ -3220,9 -3228,8 +3228,8 @@@ F:      drivers/net/ethernet/freescale/fs_en
  F:    include/linux/fs_enet_pd.h
  
  FREESCALE QUICC ENGINE LIBRARY
- M:    Timur Tabi <timur@freescale.com>
  L:    linuxppc-dev@lists.ozlabs.org
- S:    Supported
+ S:    Orphan
  F:    arch/powerpc/sysdev/qe_lib/
  F:    arch/powerpc/include/asm/*qe.h
  
@@@ -3241,16 -3248,16 +3248,16 @@@ S:   Maintaine
  F:    drivers/net/ethernet/freescale/ucc_geth*
  
  FREESCALE QUICC ENGINE UCC UART DRIVER
- M:    Timur Tabi <timur@freescale.com>
+ M:    Timur Tabi <timur@tabi.org>
  L:    linuxppc-dev@lists.ozlabs.org
- S:    Supported
+ S:    Maintained
  F:    drivers/tty/serial/ucc_uart.c
  
  FREESCALE SOC SOUND DRIVERS
- M:    Timur Tabi <timur@freescale.com>
+ M:    Timur Tabi <timur@tabi.org>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  L:    linuxppc-dev@lists.ozlabs.org
- S:    Supported
+ S:    Maintained
  F:    sound/soc/fsl/fsl*
  F:    sound/soc/fsl/mpc8610_hpcd.c
  
@@@ -4209,7 -4216,6 +4216,7 @@@ M:      Thomas Gleixner <tglx@linutronix.de
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
  F:    kernel/irq/
 +F:    drivers/irqchip/
  
  IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY)
  M:    Benjamin Herrenschmidt <benh@kernel.crashing.org>
@@@ -5078,7 -5084,7 +5085,7 @@@ S:      Maintaine
  F:    drivers/media/radio/radio-mr800.c
  
  MSI LAPTOP SUPPORT
- M:    "Lee, Chun-Yi" <jlee@novell.com>
+ M:    "Lee, Chun-Yi" <jlee@suse.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    drivers/platform/x86/msi-laptop.c
@@@ -5508,8 -5514,7 +5515,7 @@@ M:      Benoît Cousson <b-cousson@ti.com
  M:    Paul Walmsley <paul@pwsan.com>
  L:    linux-omap@vger.kernel.org
  S:    Maintained
- F:    arch/arm/mach-omap2/omap_hwmod.c
- F:    arch/arm/plat-omap/include/plat/omap_hwmod.h
+ F:    arch/arm/mach-omap2/omap_hwmod.*
  
  OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
  M:    Benoît Cousson <b-cousson@ti.com>
@@@ -6580,7 -6585,7 +6586,7 @@@ F:      drivers/media/platform/s3c-camif
  F:    include/media/s3c_camif.h
  
  SERIAL DRIVERS
- M:    Alan Cox <alan@linux.intel.com>
+ M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  L:    linux-serial@vger.kernel.org
  S:    Maintained
  F:    drivers/tty/serial
@@@ -7335,7 -7340,7 +7341,7 @@@ S:      Odd Fixe
  F:    drivers/staging/speakup/
  
  STAGING - TI DSP BRIDGE DRIVERS
- M:    Omar Ramirez Luna <omar.ramirez@ti.com>
+ M:    Omar Ramirez Luna <omar.ramirez@copitl.com>
  S:    Odd Fixes
  F:    drivers/staging/tidspbridge/
  
@@@ -8527,7 -8532,7 +8533,7 @@@ F:      Documentation/x86
  F:    arch/x86/
  
  X86 PLATFORM DRIVERS
- M:    Matthew Garrett <mjg@redhat.com>
+ M:    Matthew Garrett <matthew.garrett@nebula.com>
  L:    platform-driver-x86@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86.git
  S:    Maintained
index b0164da63b0cde603eb55eb1f46a3c5ff47f25ed,fa36fb84ab193f2fb8480bf3cc70d68232824844..e17dbc50c85f1c4372169db28d6ed11ab50bf1a8
@@@ -112,6 -112,7 +112,6 @@@ void tzic_handle_irq(struct pt_regs *)
  #define imx50_handle_irq tzic_handle_irq
  #define imx51_handle_irq tzic_handle_irq
  #define imx53_handle_irq tzic_handle_irq
 -#define imx6q_handle_irq gic_handle_irq
  
  extern void imx_enable_cpu(int cpu, bool enable);
  extern void imx_set_cpu_jump(int cpu, void *jump_addr);
@@@ -141,6 -142,7 +141,7 @@@ extern int imx6q_set_lpm(enum mxc_cpu_p
  extern void imx6q_clock_map_io(void);
  
  extern void imx_cpu_die(unsigned int cpu);
+ extern int imx_cpu_kill(unsigned int cpu);
  
  #ifdef CONFIG_PM
  extern void imx6q_pm_init(void);
index d35693117991365fcc9d30438b23e5fe48323ebd,66fae885c8429f3b9147d4a3c33cd6e739a0ae05..b2872ec614a4c8f66af1b67bff9fa3737ba65fad
@@@ -12,9 -12,9 +12,9 @@@
  
  #include <linux/init.h>
  #include <linux/smp.h>
 +#include <linux/irqchip/arm-gic.h>
  #include <asm/page.h>
  #include <asm/smp_scu.h>
 -#include <asm/hardware/gic.h>
  #include <asm/mach/map.h>
  
  #include "common.h"
@@@ -71,6 -71,8 +71,6 @@@ static void __init imx_smp_init_cpus(vo
  
        for (i = 0; i < ncores; i++)
                set_cpu_possible(i, true);
 -
 -      set_smp_cross_call(gic_raise_softirq);
  }
  
  void imx_smp_prepare(void)
@@@ -90,5 -92,6 +90,6 @@@ struct smp_operations  imx_smp_ops __in
        .smp_boot_secondary     = imx_boot_secondary,
  #ifdef CONFIG_HOTPLUG_CPU
        .cpu_die                = imx_cpu_die,
+       .cpu_kill               = imx_cpu_kill,
  #endif
  };
index 22838fa44a607493467e9805a87b51aced1cf115,769c1feee1c469049290f9101745cc28ef01742f..b62317906b39f539baf394afe2b27308619353c9
@@@ -31,9 -31,9 +31,9 @@@
  #include <linux/ti_wilink_st.h>
  #include <linux/usb/musb.h>
  #include <linux/wl12xx.h>
 +#include <linux/irqchip/arm-gic.h>
  #include <linux/platform_data/omap-abe-twl6040.h>
  
 -#include <asm/hardware/gic.h>
  #include <asm/mach-types.h>
  #include <asm/mach/arch.h>
  #include <asm/mach/map.h>
@@@ -397,6 -397,12 +397,12 @@@ static struct omap_board_mux board_mux[
                  OMAP_PULL_ENA),
        OMAP4_MUX(ABE_MCBSP1_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
  
+       /* UART2 - BT/FM/GPS shared transport */
+       OMAP4_MUX(UART2_CTS,    OMAP_PIN_INPUT  | OMAP_MUX_MODE0),
+       OMAP4_MUX(UART2_RTS,    OMAP_PIN_OUTPUT | OMAP_MUX_MODE0),
+       OMAP4_MUX(UART2_RX,     OMAP_PIN_INPUT  | OMAP_MUX_MODE0),
+       OMAP4_MUX(UART2_TX,     OMAP_PIN_OUTPUT | OMAP_MUX_MODE0),
        { .reg_offset = OMAP_MUX_TERMINATOR },
  };
  
@@@ -453,8 -459,9 +459,8 @@@ MACHINE_START(OMAP4_PANDA, "OMAP4 Pand
        .map_io         = omap4_map_io,
        .init_early     = omap4430_init_early,
        .init_irq       = gic_init_irq,
 -      .handle_irq     = gic_handle_irq,
        .init_machine   = omap4_panda_init,
        .init_late      = omap4430_init_late,
 -      .timer          = &omap4_timer,
 +      .init_time      = omap4_local_timer_init,
        .restart        = omap44xx_restart,
  MACHINE_END
index 57b1ee39fe5606def050b1275b0569be7845f79d,b8ad6e632bb84d9ed3ede854cefeeebe6b4cc00c..d86074745c5071bf45f50df5f90ecc41a9d7f948
@@@ -131,6 -131,7 +131,6 @@@ static void omap2_gp_timer_set_mode(enu
  static struct clock_event_device clockevent_gpt = {
        .name           = "gp_timer",
        .features       = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
 -      .shift          = 32,
        .rating         = 300,
        .set_next_event = omap2_gp_timer_set_next_event,
        .set_mode       = omap2_gp_timer_set_mode,
@@@ -164,15 -165,11 +164,11 @@@ static struct device_node * __init omap
        struct device_node *np;
  
        for_each_matching_node(np, match) {
-               if (!of_device_is_available(np)) {
-                       of_node_put(np);
+               if (!of_device_is_available(np))
                        continue;
-               }
  
-               if (property && !of_get_property(np, property, NULL)) {
-                       of_node_put(np);
+               if (property && !of_get_property(np, property, NULL))
                        continue;
-               }
  
                of_add_property(np, &device_disabled);
                return np;
@@@ -339,11 -336,17 +335,11 @@@ static void __init omap2_gp_clockevent_
  
        __omap_dm_timer_int_enable(&clkev, OMAP_TIMER_INT_OVERFLOW);
  
 -      clockevent_gpt.mult = div_sc(clkev.rate, NSEC_PER_SEC,
 -                                   clockevent_gpt.shift);
 -      clockevent_gpt.max_delta_ns =
 -              clockevent_delta2ns(0xffffffff, &clockevent_gpt);
 -      clockevent_gpt.min_delta_ns =
 -              clockevent_delta2ns(3, &clockevent_gpt);
 -              /* Timer internal resynch latency. */
 -
        clockevent_gpt.cpumask = cpu_possible_mask;
        clockevent_gpt.irq = omap_dm_timer_get_irq(&clkev);
 -      clockevents_register_device(&clockevent_gpt);
 +      clockevents_config_and_register(&clockevent_gpt, clkev.rate,
 +                                      3, /* Timer internal resynch latency */
 +                                      0xffffffff);
  
        pr_info("OMAP clockevent source: GPTIMER%d at %lu Hz\n",
                gptimer_id, clkev.rate);
@@@ -549,7 -552,7 +545,7 @@@ static inline void __init realtime_coun
  
  #define OMAP_SYS_GP_TIMER_INIT(name, clkev_nr, clkev_src, clkev_prop, \
                               clksrc_nr, clksrc_src)                   \
 -static void __init omap##name##_gptimer_timer_init(void)              \
 +void __init omap##name##_gptimer_timer_init(void)                     \
  {                                                                     \
        omap_dmtimer_init();                                            \
        omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop);    \
  
  #define OMAP_SYS_32K_TIMER_INIT(name, clkev_nr, clkev_src, clkev_prop,        \
                                clksrc_nr, clksrc_src)                  \
 -static void __init omap##name##_sync32k_timer_init(void)              \
 +void __init omap##name##_sync32k_timer_init(void)             \
  {                                                                     \
        omap_dmtimer_init();                                            \
        omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop);    \
                omap2_sync32k_clocksource_init();                       \
  }
  
 -#define OMAP_SYS_TIMER(name, clksrc)                                  \
 -struct sys_timer omap##name##_timer = {                                       \
 -      .init   = omap##name##_##clksrc##_timer_init,                   \
 -};
 -
  #ifdef CONFIG_ARCH_OMAP2
  OMAP_SYS_32K_TIMER_INIT(2, 1, OMAP2_32K_SOURCE, "ti,timer-alwon",
                        2, OMAP2_MPU_SOURCE);
 -OMAP_SYS_TIMER(2, sync32k);
  #endif /* CONFIG_ARCH_OMAP2 */
  
  #ifdef CONFIG_ARCH_OMAP3
  OMAP_SYS_32K_TIMER_INIT(3, 1, OMAP3_32K_SOURCE, "ti,timer-alwon",
                        2, OMAP3_MPU_SOURCE);
 -OMAP_SYS_TIMER(3, sync32k);
  OMAP_SYS_32K_TIMER_INIT(3_secure, 12, OMAP3_32K_SOURCE, "ti,timer-secure",
                        2, OMAP3_MPU_SOURCE);
 -OMAP_SYS_TIMER(3_secure, sync32k);
  OMAP_SYS_GP_TIMER_INIT(3_gp, 1, OMAP3_MPU_SOURCE, "ti,timer-alwon",
                       2, OMAP3_MPU_SOURCE);
 -OMAP_SYS_TIMER(3_gp, gptimer);
  #endif /* CONFIG_ARCH_OMAP3 */
  
  #ifdef CONFIG_SOC_AM33XX
  OMAP_SYS_GP_TIMER_INIT(3_am33xx, 1, OMAP4_MPU_SOURCE, "ti,timer-alwon",
                       2, OMAP4_MPU_SOURCE);
 -OMAP_SYS_TIMER(3_am33xx, gptimer);
  #endif /* CONFIG_SOC_AM33XX */
  
  #ifdef CONFIG_ARCH_OMAP4
@@@ -593,7 -606,7 +589,7 @@@ OMAP_SYS_32K_TIMER_INIT(4, 1, OMAP4_32K
                        2, OMAP4_MPU_SOURCE);
  #ifdef CONFIG_LOCAL_TIMERS
  static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, OMAP44XX_LOCAL_TWD_BASE, 29);
 -static void __init omap4_local_timer_init(void)
 +void __init omap4_local_timer_init(void)
  {
        omap4_sync32k_timer_init();
        /* Local timers are not supprted on OMAP4430 ES1.0 */
        }
  }
  #else /* CONFIG_LOCAL_TIMERS */
 -static void __init omap4_local_timer_init(void)
 +void __init omap4_local_timer_init(void)
  {
        omap4_sync32k_timer_init();
  }
  #endif /* CONFIG_LOCAL_TIMERS */
 -OMAP_SYS_TIMER(4, local);
  #endif /* CONFIG_ARCH_OMAP4 */
  
  #ifdef CONFIG_SOC_OMAP5
  OMAP_SYS_32K_TIMER_INIT(5, 1, OMAP4_32K_SOURCE, "ti,timer-alwon",
                        2, OMAP4_MPU_SOURCE);
 -static void __init omap5_realtime_timer_init(void)
 +void __init omap5_realtime_timer_init(void)
  {
        int err;
  
        if (err)
                pr_err("%s: arch_timer_register failed %d\n", __func__, err);
  }
 -OMAP_SYS_TIMER(5, realtime);
  #endif /* CONFIG_SOC_OMAP5 */
  
  /**