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
     

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
     

19 Feb, 2014

1 commit

  • This cleanup series gets rid of for platforms not using
    ARCH_MULTIPLATFORM. (For multi-platform code it's already unused since
    387798b (ARM: initial multiplatform support).)

    To make this work some code out of arch/arm needed to be adapted. The
    respective changes got acks by their maintainers to be taken via armsoc
    (with Andrew Morton substituting for Alessandro Zummo as rtc maintainer).

    Compared to the previous pull request there was another patch added that
    fixes a (non-critical) regression on ixp4xx. Olof Johansson asked to not
    squash this fix into the original commit to save him from the need to
    reverify the series.

    * tag 'dropmachtimexh-v2' of git://git.pengutronix.de/git/ukl/linux:
    ARM: ixp4xx: fix timer latch calculation
    ARM: drop for !ARCH_MULTIPLATFORM, too
    ARM: rpc: stop using
    ARM: ixp4xx: stop using
    input: ixp4xx-beeper: don't use symbols from
    ARM: at91: don't use
    ARM: ep93xx: stop using mach/timex.h
    ARM: mmp: stop using mach/timex.h
    ARM: netx: stop using mach/timex.h
    ARM: sa1100: stop using mach/timex.h
    clocksource: sirf/marco+prima2: drop usage of CLOCK_TICK_RATE
    rtc: pxa: drop unused #define TIMER_FREQ
    rtc: at91sam9: include explicitly
    ARM/serial: at91: switch atmel serial to use gpiolib

    Signed-off-by: Olof Johansson

    Olof Johansson
     

01 Feb, 2014

1 commit

  • This board was missed when converting all the others to proper
    abstracted GPIO handling. Fix it up the right way by requesting
    and driving GPIO line 0 high through gpiolib to power off the
    machine.

    Cc: Arnaud Patard
    Reported-by: Arnd Bergmann
    Signed-off-by: Linus Walleij
    Acked-by: Arnd Bergmann
    Signed-off-by: Kevin Hilman
    Signed-off-by: Olof Johansson

    Linus Walleij
     

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
     

21 Sep, 2013

4 commits

  • This alters the IOP platforms to pass a physical base for their
    GPIO blocks and alters the driver to remap it when probing
    instead of relying on the virtual addresses to be used.

    Cc: Lennert Buytenhek
    Cc: Dan Williams
    Cc: Mikael Pettersson
    Tested-by: Aaro Koskinen
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This converts the IOP32x and IOP33x platforms to pass their
    base address offset by a resource attached to a platform device
    instead of using static offset macros implicitly passed
    through including . Delete the
    local and headers
    and remove the selection of NEED_MACH_GPIO_H.

    Pass the virtual address as a resource in the platform device
    at this point for bisectability, next patch will pass the
    physical address as is custom.

    Cc: Lennert Buytenhek
    Cc: Dan Williams
    Cc: Mikael Pettersson
    Tested-by: Aaro Koskinen
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • Refrain from using the custom gpio_line_get() to read the power
    key on the N2100, use the gpiolib function gpio_get() instead.
    Also request the line in the GPIOs initicall, and move the poll
    timer setup to that inicall so the gpio chip is available before
    we request this GPIO and start to poll it.

    Cc: Lennert Buytenhek
    Cc: Dan Williams
    Cc: Mikael Pettersson
    Tested-by: Aaro Koskinen
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • As the IOP GPIO driver supports gpiolib we can use the standard
    GPIO calls to issue a reset of the machine instead of using the
    custom gpio_line_set/config calls. Also request the GPIO when
    initializing the machine.

    Cc: Lennert Buytenhek
    Cc: Dan Williams
    Cc: Mikael Pettersson
    Tested-by: Aaro Koskinen
    Signed-off-by: Linus Walleij

    Linus Walleij
     

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
     

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
     

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
     

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
     

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

1 commit

  • Move iop33x and iop32x PCI to fixed i/o mapping and remove io.h. This
    changes the PCI bus addresses from the cpu address to 0 based. It appears
    that there is translation h/w for this, but its untested.

    Not sure what to do with io_offset. I think it should always be 0.
    AFAICT, PCI setup is skipped if the ATU is already setup.

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

    Rob Herring
     

14 May, 2012

2 commits

  • Most PCI implementations perform simple root bus scanning. Rather than
    having each group of platforms provide a duplicated bus scan function,
    provide the PCI configuration ops structure via the hw_pci structure,
    and call the root bus scanning function from core ARM PCI code.

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

    Russell King
     
  • 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
     

07 Mar, 2012

1 commit

  • __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
     

23 Feb, 2012

1 commit


22 Feb, 2012

1 commit

  • Now that most platforms don't need disable_fiq and arch_ret_to_user
    macros, we can remove the empty macros or empty entry-macro.S files.

    Signed-off-by: Rob Herring
    Acked-by: Jamie Iles
    Acked-by: Nicolas Pitre
    Acked-by: Tony Lindgren
    Acked-by: Linus Walleij
    Acked-by: Ryan Mallon
    Acked-by: Nicolas Ferre
    Acked-by: H Hartley Sweeten
    Acked-by: Shawn Guo

    Rob Herring
     

21 Jan, 2012

1 commit

  • When this is the only content remaining in mach/system.h then the
    whole file is removed.

    Signed-off-by: Nicolas Pitre
    Acked-by: H Hartley Sweeten
    Acked-and-tested-by: Jamie Iles
    Acked-by: Tony Lindgren
    Acked-by: David Brown
    Acked-by: Stephen Warren
    Acked-by: Linus Walleij

    Nicolas Pitre
     

05 Jan, 2012

3 commits

  • Conflicts:
    arch/arm/mach-exynos/cpu.c

    The changes to arch/arm/mach-exynos/cpu.c were moved to
    mach-exynos/common.c.

    Russell King
     
  • Remove the now empty arch_reset() from all the mach/system.h includes,
    and remove its callsite. Remove arm_machine_restart() as this function
    no longer does anything useful.

    For samsung platforms, remove the include of mach/system-reset.h and
    plat/system-reset.h from their respective mach/system.h headers as these
    just define their arch_reset functions. As a result, the s3c2410 and
    plat-samsung system-reset.h files are no longer referenced, so remove
    these files entirely.

    Acked-by: Nicolas Pitre
    Acked-by: H Hartley Sweeten
    Acked-by: Jamie Iles
    Acked-by: Tony Lindgren
    Acked-by: Linus Walleij
    Signed-off-by: Russell King

    Russell King
     
  • Hook these platforms restart code into the arm_pm_restart hook rather
    than using arch_reset().

    In doing so, we split out the n2100 platform specific restart handler
    into the n2100 platform file.

    Acked-by: Lennert Buytenhek
    Signed-off-by: Russell King

    Russell King
     

06 Dec, 2011

1 commit


27 Nov, 2011

1 commit


21 Nov, 2011

2 commits

  • Russell King
     
  • We only need to set the system up for a soft-restart if we're going to
    be doing a soft-restart. Provide a new function (soft_restart()) which
    does the setup and final call for this, and make platforms use it.
    Eliminate the call to setup_restart() from the default handler.

    This means that platforms arch_reset() function is no longer called with
    the page tables prepared for a soft-restart, and caches will still be
    enabled.

    Acked-by: Nicolas Pitre
    Acked-by: Will Deacon
    Acked-by: H Hartley Sweeten
    Acked-by: Kukjin Kim
    Acked-by: Sascha Hauer
    Acked-by: Viresh Kumar
    Acked-by: Krzysztof Ha■asa
    Acked-by: Paul Mundt
    Acked-by: Richard Purdie
    Acked-by: Wan ZongShun
    Acked-by: Eric Miao
    Signed-off-by: Russell King

    Russell King
     

19 Nov, 2011

1 commit


18 Nov, 2011

1 commit


29 Oct, 2011

1 commit

  • …git-cur/linux-2.6-arm

    * 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm: (178 commits)
    ARM: 7139/1: fix compilation with CONFIG_ARM_ATAG_DTB_COMPAT and large TEXT_OFFSET
    ARM: gic, local timers: use the request_percpu_irq() interface
    ARM: gic: consolidate PPI handling
    ARM: switch from NO_MACH_MEMORY_H to NEED_MACH_MEMORY_H
    ARM: mach-s5p64x0: remove mach/memory.h
    ARM: mach-s3c64xx: remove mach/memory.h
    ARM: plat-mxc: remove mach/memory.h
    ARM: mach-prima2: remove mach/memory.h
    ARM: mach-zynq: remove mach/memory.h
    ARM: mach-bcmring: remove mach/memory.h
    ARM: mach-davinci: remove mach/memory.h
    ARM: mach-pxa: remove mach/memory.h
    ARM: mach-ixp4xx: remove mach/memory.h
    ARM: mach-h720x: remove mach/memory.h
    ARM: mach-vt8500: remove mach/memory.h
    ARM: mach-s5pc100: remove mach/memory.h
    ARM: mach-tegra: remove mach/memory.h
    ARM: plat-tcc: remove mach/memory.h
    ARM: mach-mmp: remove mach/memory.h
    ARM: mach-cns3xxx: remove mach/memory.h
    ...

    Fix up mostly pretty trivial conflicts in:
    - arch/arm/Kconfig
    - arch/arm/include/asm/localtimer.h
    - arch/arm/kernel/Makefile
    - arch/arm/mach-shmobile/board-ap4evb.c
    - arch/arm/mach-u300/core.c
    - arch/arm/mm/dma-mapping.c
    - arch/arm/mm/proc-v7.S
    - arch/arm/plat-omap/Kconfig
    largely due to some CONFIG option renaming (ie CONFIG_PM_SLEEP ->
    CONFIG_ARM_CPU_SUSPEND for the arm-specific suspend code etc) and
    addition of NEED_MACH_MEMORY_H next to HAVE_IDE.

    Linus Torvalds
     

17 Oct, 2011

1 commit

  • Boards used to specify zreladdr in their Makefile.boot with
    zreladdr-y := x, so conflicting zreladdrs were silently overwritten.
    This patch changes this to zreladdr-y += x, so that we end
    up with multiple words in zreladdr in such a case. We can
    detect this later and complain if necessary.

    Signed-off-by: Sascha Hauer
    Signed-off-by: Russell King

    Sascha Hauer
     

14 Oct, 2011

1 commit


26 Sep, 2011

1 commit

  • Some platforms (like OMAP not to name it) are doing rather complicated
    hacks just to determine the base UART address to use. Let's give their
    addruart macro some slack by providing an extra work register which will
    allow for much needed cleanups.

    This is basically a no-op as this commit is only adding the extra argument
    to the macro but no one is using it yet.

    Signed-off-by: nicolas Pitre
    Reviewed-by: Kevin Hilman

    Nicolas Pitre
     

22 Aug, 2011

1 commit


30 Jul, 2011

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: remove printks about disabled bridge windows
    PCI: fold pci_calc_resource_flags() into decode_bar()
    PCI: treat mem BAR type "11" (reserved) as 32-bit, not 64-bit, BAR
    PCI: correct pcie_set_readrq write size
    PCI: pciehp: change wait time for valid configuration access
    x86/PCI: Preserve existing pci=bfsort whitelist for Dell systems
    PCI: ARI is a PCIe v2 feature
    x86/PCI: quirks: Use pci_dev->revision
    PCI: Make the struct pci_dev * argument of pci_fixup_irqs const.
    PCI hotplug: cpqphp: use pci_dev->vendor
    PCI hotplug: cpqphp: use pci_dev->subsystem_{vendor|device}
    x86/PCI: config space accessor functions should not ignore the segment argument
    PCI: Assign values to 'pci_obff_signal_type' enumeration constants
    x86/PCI: reduce severity of host bridge window conflict warnings
    PCI: enumerate the PCI device only removed out PCI hieratchy of OS when re-scanning PCI
    PCI: PCIe AER: add aer_recover_queue
    x86/PCI: select direct access mode for mmconfig option
    PCI hotplug: Rename is_ejectable which also exists in dock.c

    Linus Torvalds