04 Mar, 2013

1 commit

  • Pull new ImgTec Meta architecture from James Hogan:
    "This adds core architecture support for Imagination's Meta processor
    cores, followed by some later miscellaneous arch/metag cleanups and
    fixes which I kept separate to ease review:

    - Support for basic Meta 1 (ATP) and Meta 2 (HTP) core architecture
    - A few fixes all over, particularly for symbol prefixes
    - A few privilege protection fixes
    - Several cleanups (setup.c includes, split out a lot of
    metag_ksyms.c)
    - Fix some missing exports
    - Convert hugetlb to use vm_unmapped_area()
    - Copy device tree to non-init memory
    - Provide dma_get_sgtable()"

    * tag 'metag-v3.9-rc1-v4' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag: (61 commits)
    metag: Provide dma_get_sgtable()
    metag: prom.h: remove declaration of metag_dt_memblock_reserve()
    metag: copy devicetree to non-init memory
    metag: cleanup metag_ksyms.c includes
    metag: move mm/init.c exports out of metag_ksyms.c
    metag: move usercopy.c exports out of metag_ksyms.c
    metag: move setup.c exports out of metag_ksyms.c
    metag: move kick.c exports out of metag_ksyms.c
    metag: move traps.c exports out of metag_ksyms.c
    metag: move irq enable out of irqflags.h on SMP
    genksyms: fix metag symbol prefix on crc symbols
    metag: hugetlb: convert to vm_unmapped_area()
    metag: export clear_page and copy_page
    metag: export metag_code_cache_flush_all
    metag: protect more non-MMU memory regions
    metag: make TXPRIVEXT bits explicit
    metag: kernel/setup.c: sort includes
    perf: Enable building perf tools for Meta
    metag: add boot time LNKGET/LNKSET check
    metag: add __init to metag_cache_probe()
    ...

    Linus Torvalds
     

03 Mar, 2013

1 commit

  • Meta core internal interrupts (from HWSTATMETA and friends) are vectored
    onto the TR1 core trigger for the current thread. This is demultiplexed
    in irq-metag.c to individual Linux IRQs for each internal interrupt.

    External SoC interrupts (from HWSTATEXT and friends) are vectored onto
    the TR2 core trigger for the current thread. This is demultiplexed in
    irq-metag-ext.c to individual Linux IRQs for each external SoC interrupt.
    The external irqchip has devicetree bindings for configuring the number
    of irq banks and the type of masking available.

    Signed-off-by: James Hogan
    Cc: Arnd Bergmann
    Cc: Grant Likely
    Cc: Rob Herring
    Cc: Rob Landley
    Cc: Dom Cobley
    Cc: Simon Arlott
    Cc: Viresh Kumar
    Cc: Maxime Ripard
    Cc: devicetree-discuss@lists.ozlabs.org
    Cc: linux-doc@vger.kernel.org

    James Hogan
     

22 Feb, 2013

1 commit

  • Pull ARM SoC cleanups from Arnd Bergmann:
    "A large number of cleanups, all over the platforms. This is dominated
    largely by the Samsung platforms (s3c, s5p, exynos) and a few of the
    others moving code out of arch/arm into more appropriate subsystems.

    The clocksource and irqchip drivers are now abstracted to the point
    where platforms that are already cleaned up do not need to even
    specify the driver they use, it can all get configured from the device
    tree as we do for normal device drivers. The clocksource changes
    basically touch every single platform in the process.

    We further clean up the use of platform specific header files here,
    with the goal of turning more of the platforms over to being
    "multiplatform" enabled, which implies that they cannot expose their
    headers to architecture independent code any more.

    It is expected that no functional changes are part of the cleanup.
    The overall reduction in total code lines is mostly the result of
    removing broken and obsolete code."

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (133 commits)
    ARM: mvebu: correct gated clock documentation
    ARM: kirkwood: add missing include for nsa310
    ARM: exynos: move exynos4210-combiner to drivers/irqchip
    mfd: db8500-prcmu: update resource passing
    drivers/db8500-cpufreq: delete dangling include
    ARM: at91: remove NEOCORE 926 board
    sunxi: Cleanup the reset code and add meaningful registers defines
    ARM: S3C24XX: header mach/regs-mem.h local
    ARM: S3C24XX: header mach/regs-power.h local
    ARM: S3C24XX: header mach/regs-s3c2412-mem.h local
    ARM: S3C24XX: Remove plat-s3c24xx directory in arch/arm/
    ARM: S3C24XX: transform s3c2443 subirqs into new structure
    ARM: S3C24XX: modify s3c2443 irq init to initialize all irqs
    ARM: S3C24XX: move s3c2443 irq code to irq.c
    ARM: S3C24XX: transform s3c2416 irqs into new structure
    ARM: S3C24XX: modify s3c2416 irq init to initialize all irqs
    ARM: S3C24XX: move s3c2416 irq init to common irq code
    ARM: S3C24XX: Modify s3c_irq_wake to use the hwirq property
    ARM: S3C24XX: Move irq syscore-ops to irq-pm
    clocksource: always define CLOCKSOURCE_OF_DECLARE
    ...

    Linus Torvalds
     

13 Feb, 2013

1 commit

  • Exynos boot is broken with commit 0529e315 (ARM: use common irqchip_init
    for GIC init). This commit split the irqchip initialization into 2 calls
    to of_irq_init. This does not work because of_irq_init requires interrupt
    parents to be in the match list.

    Rather than reverting exynos changes, make it do the proper thing by using
    IRQCHIP_DECLARE. This requires moving the combiner code to drivers/irqchip.

    Reported-by: Doug Anderson
    Signed-off-by: Rob Herring
    Cc: Kukjin Kim
    Cc: Russell King
    Cc: Thomas Gleixner
    Cc: linux-samsung-soc@vger.kernel.org
    Signed-off-by: Olof Johansson

    Rob Herring
     

13 Jan, 2013

5 commits


11 Jan, 2013

1 commit

  • With the recent creation of the drivers/irqchip/ directory, it is
    desirable to move irq controller drivers here. At the moment, the only
    driver here is irq-bcm2835, the driver for the irq controller found in
    the ARM BCM2835 SoC, present in Rasberry Pi systems. This irq
    controller driver was exporting its initialization function and its
    irq handling function through a header file in
    .

    When proposing to also move another irq controller driver in
    drivers/irqchip, Rob Herring raised the very valid point that moving
    things to drivers/irqchip was good in order to remove more stuff from
    arch/arm, but if it means adding gazillions of headers files in
    include/linux/irqchip/, it would not be very nice.

    So, upon the suggestion of Rob Herring and Arnd Bergmann, this commit
    introduces a small infrastructure that defines a central
    irqchip_init() function in drivers/irqchip/irqchip.c, which is meant
    to be called as the ->init_irq() callback of ARM platforms. This
    function calls of_irq_init() with an array of match strings and init
    functions generated from a special linker section.

    Note that the irq controller driver initialization function is
    responsible for setting the global handle_arch_irq() variable, so that
    ARM platforms no longer have to define the ->handle_irq field in their
    DT_MACHINE structure.

    A global header, is also added to expose the single
    irqchip_init() function to the reset of the kernel.

    A further commit moves the BCM2835 irq controller driver to this new
    small infrastructure, therefore removing the include/linux/irqchip/
    directory.

    Signed-off-by: Thomas Petazzoni
    Reviewed-by: Stephen Warren
    Reviewed-by: Rob Herring
    Acked-by: Arnd Bergmann
    [rob.herring: reword commit message to reflect use of linker sections.]
    Signed-off-by: Rob Herring

    Thomas Petazzoni
     

15 Dec, 2012

1 commit

  • Pull ARM SoC device-tree updates, take 2, from Olof Johansson:
    "This branch contains device-tree updates for the SPEAr platform. They
    had dependencies on earlier branches from this merge window, which is
    why they were broken out in a separate branch."

    * tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: SPEAr3xx: Shirq: Move shirq controller out of plat/
    ARM: SPEAr320: DT: Add SPEAr 320 HMI board support
    ARM: SPEAr3xx: DT: add shirq node for interrupt multiplexor
    ARM: SPEAr3xx: shirq: simplify and move the shared irq multiplexor to DT
    ARM: SPEAr1310: Fix AUXDATA for compact flash controller
    ARM: SPEAr13xx: Remove fields not required for ssp controller
    ARM: SPEAr1310: Move 1310 specific misc register into machine specific files
    ARM: SPEAr: DT: Update device nodes
    ARM: SPEAr: DT: add uart state to fix warning
    ARM: SPEAr: DT: Modify DT bindings for STMMAC
    ARM: SPEAr: DT: Fix existing DT support
    ARM: SPEAr: DT: Update partition info for MTD devices
    ARM: SPEAr: DT: Update pinctrl list
    ARM: SPEAr13xx: DT: Add spics gpio controller nodes

    Linus Torvalds
     

08 Dec, 2012

1 commit


04 Dec, 2012

1 commit


01 Dec, 2012

3 commits


26 Nov, 2012

1 commit


21 Nov, 2012

1 commit

  • From Maxime Ripard:
    Allwinner SoC support for 3.8

    * tag 'tags/sunxi-support-for-3.8' of git://github.com/mripard/linux:
    ARM: sunxi: Add entry to MAINTAINERS
    ARM: sunxi: Add device tree for the A13 and the Olinuxino board
    ARM: sunxi: Add earlyprintk support
    ARM: sunxi: Add basic support for Allwinner A1x SoCs
    irqchip: sunxi: Add irq controller driver
    clocksource: sunxi: Add Allwinner A1X Timer Driver
    clk: sunxi: Add dummy fixed rate clock for Allwinner A1X SoCs

    Signed-off-by: Olof Johansson

    Olof Johansson
     

17 Nov, 2012

1 commit


06 Nov, 2012

1 commit


05 Nov, 2012

1 commit


25 Sep, 2012

1 commit

  • Commit 89214f0 "ARM: bcm2835: add interrupt controller driver" added an
    empty drivers/irqchip/Kconfig. Empty files apparently don't work well
    with git (sometimes, with some versions?) so add some dummy content to
    resolve this issue.

    Signed-off-by: Stephen Warren
    Signed-off-by: Olof Johansson

    Stephen Warren
     

20 Sep, 2012

1 commit

  • The BCM2835 contains a custom interrupt controller, which supports 72
    interrupt sources using a 2-level register scheme. The interrupt
    controller, or the HW block containing it, is referred to occasionally
    as "armctrl" in the SoC documentation, hence the symbol naming in the
    code.

    This patch was extracted from git://github.com/lp0/linux.git branch
    rpi-split as of 2012/09/08, and modified as follows:

    * s/bcm2708/bcm2835/.
    * Modified device tree vendor prefix.
    * Moved implementation to drivers/irchip/.
    * Added devicetree documentation, and hence removed list of IRQs from
    bcm2835.dtsi.
    * Changed shift in MAKE_HWIRQ() and HWIRQ_BANK() from 8 to 5 to reduce
    the size of the hwirq space, and pass the total size of the hwirq space
    to irq_domain_add_linear(), rather than just the number of valid hwirqs;
    the two are different due to the hwirq space being sparse.
    * Added the interrupt controller DT node to the top-level of the DT,
    rather than nesting it inside a /axi node. Hence, changed the reg value
    since /axi had a ranges property. This seems simpler to me, but I'm not
    sure if everyone will like this change or not.
    * Don't set struct irq_domain_ops.map = irq_domain_simple_map, hence
    removing the need to patch include/linux/irqdomain.h or
    kernel/irq/irqdomain.c.
    * Simplified armctrl_of_init() using of_iomap().
    * Removed unused IS_VALID_BANK()/IS_VALID_IRQ() macros.
    * Renamed armctrl_handle_irq() to prevent possible symbol clashes.
    * Made armctrl_of_init() static.
    * Removed comment "Each bank is registered as a separate interrupt
    controller" since this is no longer true.
    * Removed FSF address from license header.
    * Added my name to copyright header.

    Signed-off-by: Chris Boot
    Signed-off-by: Simon Arlott
    Signed-off-by: Dom Cobley
    Signed-off-by: Dom Cobley
    Signed-off-by: Stephen Warren
    Acked-by: Arnd Bergmann

    Simon Arlott