02 Dec, 2015

1 commit


16 Sep, 2015

1 commit

  • Most interrupt flow handlers do not use the irq argument. Those few
    which use it can retrieve the irq number from the irq descriptor.

    Remove the argument.

    Search and replace was done with coccinelle and some extra helper
    scripts around it. Thanks to Julia for her help!

    Signed-off-by: Thomas Gleixner
    Cc: Julia Lawall
    Cc: Jiang Liu

    Thomas Gleixner
     

28 Jul, 2015

1 commit

  • set_irq_flags is ARM specific with custom flags which have genirq
    equivalents. Convert drivers to use the genirq interfaces directly, so we
    can kill off set_irq_flags. The translation of flags is as follows:

    IRQF_VALID -> !IRQ_NOREQUEST
    IRQF_PROBE -> !IRQ_NOPROBE
    IRQF_NOAUTOEN -> IRQ_NOAUTOEN

    For IRQs managed by an irqdomain, the irqdomain core code handles clearing
    and setting IRQ_NOREQUEST already, so there is no need to do this in
    .map() functions and we can simply remove the set_irq_flags calls. Some
    users also modify IRQ_NOPROBE and this has been maintained although it
    is not clear that is really needed. There appears to be a great deal of
    blind copy and paste of this code.

    Signed-off-by: Rob Herring
    Cc: Russell King
    Cc: Sekhar Nori
    Cc: Kevin Hilman
    Cc: Jason Cooper
    Cc: Andrew Lunn
    Cc: Sebastian Hesselbarth
    Cc: Gregory Clement
    Acked-by: Hans Ulli Kroll
    Acked-by: Shawn Guo
    Cc: Sascha Hauer
    Cc: Imre Kaloz
    Acked-by: Krzysztof Halasa
    Cc: Greg Ungerer
    Cc: Roland Stigge
    Cc: Tony Lindgren
    Cc: Daniel Mack
    Cc: Haojian Zhuang
    Cc: Robert Jarzmik
    Cc: Simtec Linux Team
    Cc: Kukjin Kim
    Cc: Krzysztof Kozlowski
    Acked-by: Wan ZongShun
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-samsung-soc@vger.kernel.org
    Tested-by: Kevin Hilman
    Signed-off-by: Olof Johansson

    Rob Herring
     

14 May, 2015

1 commit


23 Nov, 2014

2 commits

  • The PCI/MSI irq chip callbacks mask/unmask_msi_irq have been renamed
    to pci_msi_mask/unmask_irq to mark them PCI specific. Rename all usage
    sites. The conversion helper functions are kept around to avoid
    conflicts in next and will be removed after merging into mainline.

    Coccinelle assisted conversion. No functional change.

    Signed-off-by: Thomas Gleixner
    Cc: Bjorn Helgaas
    Cc: Russell King
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Heiko Carstens
    Cc: "David S. Miller"
    Cc: Chris Metcalf
    Cc: x86@kernel.org
    Cc: Jiang Liu
    Cc: Jason Cooper
    Cc: Murali Karicheri
    Cc: Thierry Reding
    Cc: Mohit Kumar
    Cc: Simon Horman
    Cc: Michal Simek
    Cc: Yijing Wang

    Thomas Gleixner
     
  • Rename write_msi_msg() to pci_write_msi_msg() to mark it as PCI
    specific.

    Signed-off-by: Jiang Liu
    Cc: Bjorn Helgaas
    Cc: Grant Likely
    Cc: Marc Zyngier
    Cc: Yingjoe Chen
    Cc: Yijing Wang
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     

02 Oct, 2014

1 commit

  • Clearing obj-y, obj-m, obj-n, obj- in each Makefile is
    a useless habit.

    They are non-exported variables; therefore they are always empty
    whenever descending into each subdirectory.
    (Moreorver, obj-y and obj-m are also set to empty at the beginning
    of scripts/Makefile.build)

    Signed-off-by: Masahiro Yamada
    Acked-by: Nicolas Ferre
    Acked-by: Peter Foley
    Acked-by: Linus Walleij
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

30 Jul, 2014

1 commit

  • The platforms selecting NEED_MACH_MEMORY_H defined the start address of
    their physical memory in the respective . With
    ARM_PATCH_PHYS_VIRT=y (which is quite common today) this is useless
    though because the definition isn't used but determined dynamically.

    So remove the definitions from all and provide the
    Kconfig symbol PHYS_OFFSET with the respective defaults in case
    ARM_PATCH_PHYS_VIRT isn't enabled.

    This allows to drop the dependency of PHYS_OFFSET on !NEED_MACH_MEMORY_H
    which prevents compiling an integrator nommu-kernel.
    (CONFIG_PAGE_OFFSET which has "default PHYS_OFFSET if !MMU" expanded to
    "0x" because CONFIG_PHYS_OFFSET doesn't exist as INTEGRATOR selects
    NEED_MACH_MEMORY_H.)

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Russell King

    Uwe Kleine-König
     

18 Jul, 2014

1 commit

  • After applying patch:
    "ARM: 8078/1: get rid of hardcoded assumptions about kernel stack size"

    following build failure happens on iop13xx platform:

    In file included from include/linux/srcu.h:33:0,
    from include/linux/notifier.h:15,
    from include/linux/reboot.h:5,
    from arch/arm/mach-iop13xx/include/mach/iop13xx.h:6,
    from arch/arm/mach-iop13xx/include/mach/hardware.h:14,
    from arch/arm/mach-iop13xx/include/mach/memory.h:4,
    from arch/arm/include/asm/memory.h:24,
    from arch/arm/include/asm/page.h:163,
    from arch/arm/include/asm/thread_info.h:17,
    from include/linux/thread_info.h:54,
    from include/asm-generic/preempt.h:4,
    from arch/arm/include/generated/asm/preempt.h:1,
    from include/linux/preempt.h:18,
    from include/linux/spinlock.h:50,
    from include/linux/seqlock.h:35,
    from include/linux/time.h:5,
    from include/uapi/linux/timex.h:56,
    from include/linux/timex.h:56,
    from include/linux/sched.h:19,
    from arch/arm/kernel/asm-offsets.c:13:
    include/linux/rcupdate.h: In function '__rcu_read_lock':
    >> include/linux/rcupdate.h:220:2: error: implicit declaration of function 'preempt_disable' [-Werror=implicit-function-declaration]
    preempt_disable();

    The problem here is recursive header inclusion which could be avoided by
    removing linux/reboot.h from mach/iop13xxx.h.
    linux/reboot.h in include/mach/iop13xx.h is needed only for enum reboot_mode,
    so header it could be replaced with a enum declaration.

    Whatever patch "ARM: 8078/1: get rid of hardcoded assumptions about kernel stack size"
    does, I think it's good to avoid unnecessary header inclusion here in any case.

    Reported-by: kbuild test robot
    Reported-by: Arnd Bergmann
    Signed-off-by: Andrey Ryabinin
    Signed-off-by: Russell King

    Arnd Bergmann
     

26 May, 2014

1 commit

  • patch 37ebbcff7837 ("arm: iop13xx: Use sparse irqs for MSI") moved
    iop13xx over to sparse IRQ support, but this broke the build for the
    msi.c file, which now has to include mach/irqs.h itself.

    Signed-off-by: Arnd Bergmann
    Cc: Grant Likely
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/12285212.fBJyVfk69p@wuerfel
    Signed-off-by: Thomas Gleixner

    Arnd Bergmann
     

16 May, 2014

1 commit

  • No need for a private allocator. The core code handles it
    already.

    Allocate the non MSI irqs right at boot time via machine_desc->nr_irqs
    and let the sparse core handle the MSI space.

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Grant Likely
    Cc: Tony Luck
    Cc: Peter Zijlstra
    Cc: Dan Williams
    Cc: Russell King
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/20140507154333.809210026@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

21 Dec, 2013

1 commit

  • While isn't used for multi-platform builds since long it
    still is for "normal" builds. As the previous patches fix all sites to
    not make use of this per-platform file, it can go now for good also for
    platforms that are not (yet) converted to multi-platform.

    While at it there are no users of CLOCK_TICK_RATE any more, so also drop
    the dummy #define.

    Signed-off-by: Uwe Kleine-König

    Uwe Kleine-König
     

15 Nov, 2013

1 commit

  • Remove support for DMA unmapping from drivers as it is no longer
    needed (DMA core code is now handling it).

    Cc: Vinod Koul
    Cc: Tomasz Figa
    Cc: Dave Jiang
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Kyungmin Park
    [djbw: fix up chan2parent() unused warning in drivers/dma/dw/core.c]
    Signed-off-by: Dan Williams

    Bartlomiej Zolnierkiewicz
     

26 Aug, 2013

3 commits


10 Jul, 2013

1 commit

  • Preparing to move the parsing of reboot= to generic kernel code forces
    the change in reboot_mode handling to use the enum.

    [akpm@linux-foundation.org: fix arch/arm/mach-socfpga/socfpga.c]
    Signed-off-by: Robin Holt
    Cc: Russell King
    Cc: Russ Anderson
    Cc: Robin Holt
    Cc: H. Peter Anvin
    Cc: Guan Xuetao
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     

04 Jul, 2013

1 commit

  • There have never been any real users of MEMSET operations since they
    have been introduced in January 2007 by commit 7405f74badf4 ("dmaengine:
    refactor dmaengine around dma_async_tx_descriptor"). Therefore remove
    support for them for now, it can be always brought back when needed.

    [sebastian.hesselbarth@gmail.com: fix drivers/dma/mv_xor]
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Kyungmin Park
    Signed-off-by: Sebastian Hesselbarth
    Cc: Vinod Koul
    Acked-by: Dan Williams
    Cc: Tomasz Figa
    Cc: Herbert Xu
    Cc: Olof Johansson
    Cc: Kevin Hilman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bartlomiej Zolnierkiewicz
     

23 May, 2013

1 commit


06 Feb, 2013

1 commit

  • …-2.6 into next/cleanup

    From Shawn Guo:
    The series cleans up ARCH_HAS_DECOMP_WDOG and arch_decomp_wdog which
    are unused on ARM architecure. Samsung has some code setting up wdog
    in arch_decomp_wdog(). But since CONFIG_S3C_BOOT_WATCHDOG is defined
    nowhere, it will not run. Otherwise, system can not boot at all when
    wdog is set up but no one pats it.

    * tag 'cleanup-decompwdog-3.9' of git://git.linaro.org/people/shawnguo/linux-2.6:
    ARM: samsung: remove unused arch_decomp_wdog() code
    ARM: remove unused arch_decomp_wdog()
    ARM: decompress: remove unused ARCH_HAS_DECOMP_WDOG

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

15 Jan, 2013

1 commit

  • Clockevent cleanup series from Shawn Guo.

    Resolved move/change conflict in mach-pxa/time.c due to the sys_timer
    cleanup.

    * clocksource/cleanup:
    clocksource: use clockevents_config_and_register() where possible
    ARM: use clockevents_config_and_register() where possible
    clockevents: export clockevents_config_and_register for module use
    + sync to Linux 3.8-rc3

    Signed-off-by: Olof Johansson

    Conflicts:
    arch/arm/mach-pxa/time.c

    Olof Johansson
     

11 Jan, 2013

1 commit

  • With ARCH_HAS_DECOMP_WDOG removed from arch/arm/boot/compressed/decompress.c,
    all the arch_decomp_wdog() definition at platform level is unneeded.
    Remmove it.

    Signed-off-by: Shawn Guo
    Acked-by: Nicolas Pitre
    Acked-by: Jason Cooper

    Shawn Guo
     

04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, __devinitdata,
    and __devexit from these drivers.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Cc: Russell King
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

25 Dec, 2012

1 commit

  • Now that the only field in struct sys_timer is .init, delete the struct,
    and replace the machine descriptor .timer field with the initialization
    function itself.

    This will enable moving timer drivers into drivers/clocksource without
    having to place a public prototype of each struct sys_timer object into
    include/linux; the intent is to create a single of_clocksource_init()
    function that determines which timer driver to initialize by scanning
    the device dtree, much like the proposed irqchip_init() at:
    http://www.spinics.net/lists/arm-kernel/msg203686.html

    Includes mach-omap2 fixes from Igor Grinberg.

    Tested-by: Robert Jarzmik
    Signed-off-by: Stephen Warren

    Stephen Warren
     

07 Oct, 2012

3 commits

  • This is a series from Arnd that fixes a number of compiler warnings
    when building defconfigs on ARM.

    * late/fixes:
    ARM: footbridge: nw_gpio_lock is raw_spin_lock
    ARM: mv78xx0: correct addr_map_cfg __initdata annotation
    ARM: footbridge: remove RTC_IRQ definition
    ARM: soc: dependency warnings for errata
    ARM: ks8695: __arch_virt_to_dma type handling
    ARM: rpc: check device_register return code in ecard_probe
    ARM: davinci: don't mark da850_register_cpufreq as __init
    ARM: iop13xx: fix iq81340sc_atux_map_irq prototype
    ARM: iop13xx: mark iop13xx_scan_bus as __devinit
    ARM: mv78xx0: mark mv78xx0_timer_init as __init_refok
    ARM: s3c24xx: fix multiple section mismatch warnings
    ARM: at91: unused variable in at91_pm_verify_clocks
    ARM: at91: skip at91_io_desc definition for NOMMU
    ARM: pxa: work around duplicate definition of GPIO24_SSP1_SFRM
    ARM: pxa: remove sharpsl_fatal_check function
    ARM: pxa: define palmte2_pxa_keys conditionally
    ARM: pxa: Wunused-result warning in viper board file
    ARM: shark: fix shark_pci_init return code

    Fixed trivial conflicts in arch/arm/mach-at91/setup.c.

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • The pci map_irq callbacks get a 'const' pci_dev argument, so change the
    iop13xx version to use the same prototype as everything else.

    Without this patch, building iop13xx_defconfig results in:

    arch/arm/mach-iop13xx/iq81340sc.c:63:2: warning: initialization from incompatible pointer type [enabled by default]
    arch/arm/mach-iop13xx/iq81340sc.c:63:2: warning: (near initialization for 'iq81340sc_pci.map_irq') [enabled by default]

    Signed-off-by: Arnd Bergmann
    Cc: Lennert Buytenhek
    Cc: Dan Williams

    Arnd Bergmann
     
  • pci_scan_root_bus is __devinit, so iop13xx_scan_bus has to be the
    same in order to safely call it. This is ok because the function
    itself is only called from the hwpci->scan callback.

    WARNING: vmlinux.o(.text+0x10138): Section mismatch in reference from the function iop13xx_scan_bus() to the function .devinit.text:pci_scan_root_bus()
    The function iop13xx_scan_bus() references
    the function __devinit pci_scan_root_bus().
    This is often because iop13xx_scan_bus lacks a __devinit
    annotation or the annotation of pci_scan_root_bus is wrong.

    Signed-off-by: Arnd Bergmann
    Cc: Bjorn Helgaas
    Cc: Lennert Buytenhek
    Cc: Dan Williams

    Arnd Bergmann
     

23 Sep, 2012

1 commit

  • __iomem annotation cleanup branch from Arnd.

    * cleanup/__iomem: (21 commits)
    net: seeq: use __iomem pointers for MMIO
    video: da8xx-fb: use __iomem pointers for MMIO
    scsi: eesox: use __iomem pointers for MMIO
    serial: ks8695: use __iomem pointers for MMIO
    input: rpcmouse: use __iomem pointers for MMIO
    ARM: samsung: use __iomem pointers for MMIO
    ARM: spear13xx: use __iomem pointers for MMIO
    ARM: sa1100: use __iomem pointers for MMIO
    ARM: prima2: use __iomem pointers for MMIO
    ARM: nomadik: use __iomem pointers for MMIO
    ARM: msm: use __iomem pointers for MMIO
    ARM: lpc32xx: use __iomem pointers for MMIO
    ARM: ks8695: use __iomem pointers for MMIO
    ARM: ixp4xx: use __iomem pointers for MMIO
    ARM: iop32x: use __iomem pointers for MMIO
    ARM: iop13xx: use __iomem pointers for MMIO
    ARM: integrator: use __iomem pointers for MMIO
    ARM: imx: use __iomem pointers for MMIO
    ARM: ebsa110: use __iomem pointers for MMIO
    ARM: at91: use __iomem pointers for MMIO
    ...

    Signed-off-by: Olof Johansson

    Olof Johansson
     

19 Sep, 2012

1 commit


26 Jul, 2012

2 commits

  • Move iop13xx PCI to fixed i/o mapping and remove io.h.

    This changes the PCIe bus address to start at 0x10000. Let's hope this
    works. If it does not, the alternative would be to revert the value we
    write into OIOTVR to zero and set sys->io_offset to 64K.

    Signed-off-by: Rob Herring
    Reviewed-by: Arnd Bergmann

    Rob Herring
     
  • iop13xx confuses I/O port numbers with physical addresses, which breaks
    legacy ISA I/O access behind PCI bridges and makes it unnecessarily hard
    to unify the inb/outb accessors with other platforms. This removes the
    special-casing and just puts all I/O ports into a single 128KB virtually
    mapped I/O port range starting at port zero.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

14 May, 2012

1 commit

  • Most PCI implementations use the standard PCI swizzle function, which
    handles the well defined behaviour of PCI-to-PCI bridges which can be
    found on cards (eg, four port ethernet cards.)

    Rather than having almost every platform specify the standard swizzle
    function, make this the default when no swizzle function is supplied.
    Therefore, a swizzle function only needs to be provided when there is
    something exceptional which needs to be handled.

    This gets rid of the swizzle initializer from 47 files, and leaves us
    with just two platforms specifying a swizzle function: ARM Integrator
    and Chalice CATS.

    Acked-by: Krzysztof Hałasa
    Signed-off-by: Russell King

    Russell King
     

30 Mar, 2012

1 commit

  • Pull "ARM: cleanups of io includes" from Olof Johansson:
    "Rob Herring has done a sweeping change cleaning up all of the
    mach/io.h includes, moving some of the oft-repeated macros to a common
    location and removing a bunch of boiler plate. This is another step
    closer to a common zImage for multiple platforms."

    Fix up various fairly trivial conflicts ( removal vs changes
    around it, tegra localtimer.o is *still* gone, yadda-yadda).

    * tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (29 commits)
    ARM: tegra: Include assembler.h in sleep.S to fix build break
    ARM: pxa: use common IOMEM definition
    ARM: dma-mapping: convert ARCH_HAS_DMA_SET_COHERENT_MASK to kconfig symbol
    ARM: __io abuse cleanup
    ARM: create a common IOMEM definition
    ARM: iop13xx: fix missing declaration of iop13xx_init_early
    ARM: fix ioremap/iounmap for !CONFIG_MMU
    ARM: kill off __mem_pci
    ARM: remove bunch of now unused mach/io.h files
    ARM: make mach/io.h include optional
    ARM: clps711x: remove unneeded include of mach/io.h
    ARM: dove: add explicit include of dove.h to addr-map.c
    ARM: at91: add explicit include of hardware.h to uncompressor
    ARM: ep93xx: clean-up mach/io.h
    ARM: tegra: clean-up mach/io.h
    ARM: orion5x: clean-up mach/io.h
    ARM: davinci: remove unneeded mach/io.h include
    [media] davinci: remove includes of mach/io.h
    ARM: OMAP: Remove remaining includes for mach/io.h
    ARM: msm: clean-up mach/io.h
    ...

    Linus Torvalds
     

24 Mar, 2012

1 commit

  • Pull #1 ARM updates from Russell King:
    "This one covers stuff which Arnd is waiting for me to push, as this is
    shared between both our trees and probably other trees elsewhere.

    Essentially, this contains:
    - AMBA primecell device initializer updates - mostly shrinking the
    size of the device declarations in platform code to something more
    reasonable.
    - Getting rid of the NO_IRQ crap from AMBA primecell stuff.
    - Nicolas' idle cleanups. This in combination with the restart
    cleanups from the last merge window results in a great many
    mach/system.h files being deleted."

    Yay: ~80 files, ~2000 lines deleted.

    * 'for-armsoc' of git://git.linaro.org/people/rmk/linux-arm: (60 commits)
    ARM: remove disable_fiq and arch_ret_to_user macros
    ARM: make entry-macro.S depend on !MULTI_IRQ_HANDLER
    ARM: rpc: make default fiq handler run-time installed
    ARM: make arch_ret_to_user macro optional
    ARM: amba: samsung: use common amba device initializers
    ARM: amba: spear: use common amba device initializers
    ARM: amba: nomadik: use common amba device initializers
    ARM: amba: u300: use common amba device initializers
    ARM: amba: lpc32xx: use common amba device initializers
    ARM: amba: netx: use common amba device initializers
    ARM: amba: bcmring: use common amba device initializers
    ARM: amba: ep93xx: use common amba device initializers
    ARM: amba: omap2: use common amba device initializers
    ARM: amba: integrator: use common amba device initializers
    ARM: amba: realview: get rid of private platform amba_device initializer
    ARM: amba: versatile: get rid of private platform amba_device initializer
    ARM: amba: vexpress: get rid of private platform amba_device initializer
    ARM: amba: provide common initializers for static amba devices
    ARM: amba: make use of -1 IRQs warn
    ARM: amba: u300: get rid of NO_IRQ initializers
    ...

    Linus Torvalds
     

12 Mar, 2012

1 commit


07 Mar, 2012

3 commits

  • __mem_pci is only used to enable readl/writel and friends. Just condition
    this on readl being defined and remove all the __mem_pci defines.

    Signed-off-by: Rob Herring
    Cc: Russell King
    Cc: Lennert Buytenhek
    Cc: Imre Kaloz
    Cc: Krzysztof Halasa
    Cc: Nicolas Pitre
    Cc: Ben Dooks
    Cc: Kukjin Kim
    Cc: Colin Cross
    Cc: Olof Johansson
    Cc: Stephen Warren

    Rob Herring
     
  • These variables are just needed in pci.c and io.c, so move them out of
    io.h in preparation to remove io.h.

    Signed-off-by: Rob Herring
    Cc: Russell King

    Rob Herring
     
  • Convert iop13xx platforms to use run-time ioremap hook instead of the
    compile time hook. The custom ioremap is still needed for 64-bit address
    handling.

    Signed-off-by: Rob Herring
    Cc: Russell King

    Rob Herring
     

24 Feb, 2012

1 commit


23 Feb, 2012

1 commit