Commit graph

362729 commits

Author SHA1 Message Date
Arnd Bergmann 442a33ebce Merge branch 'late/clksrc' into late/cleanup
There is no reason to keep the clksrc cleanups separate from the
other cleanups, and this resolves some merge conflicts.

Conflicts:
	arch/arm/mach-spear/spear13xx.c
	drivers/irqchip/Makefile
2013-05-06 23:43:45 +02:00
Arnd Bergmann a94d236dc3 ARM: SPEAr: conditionalize SMP code
Some constant definitions are only defined for spear13xx, so
we must not attempt to build SPEAr SMP support when that
SoC is not enabled.

arch/arm/mach-spear/platsmp.c:25:35:
 error: 'VA_SCU_BASE' undeclared here (not in a function)
 arch/arm/mach-spear/platsmp.c: In function 'spear13xx_smp_prepare_cpus':
 arch/arm/mach-spear/platsmp.c:111:58: error: 'SYS_LOCATION' undeclared (first use in this function)

Cc: Viresh Kumar <viresh.linux@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-05-02 22:47:21 +02:00
Arnd Bergmann b45e0ed41a DT modifications for generic slave DMA binding.
Addition of MCI and I2C DMA bindings.
 A little DT machine compatibility removal for SAMA5.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJRdPn4AAoJEAf03oE53VmQwRMH/12jR/Bpo5FuMdPshWALVSuZ
 AYpWMuPpl1v/QQ9aDbo0pgKaAXM4L4f171a7qO6Ji90EgZ/wezhP4aa96THMogij
 ecVul70DBsJ/3jpc+xT5VP/WNlx8pNSnCm6SFXQxg1iJXXdE8wRjSUZB2oY7Lggi
 1UYNi2pTqJ6cVbFn6zZ0+g0vPF+EE1bVY8ytrTve/ira+mKebvxWXDgfGmgfe3Sk
 SVUFwYLRIYHpNX/8BYVnw2SMBs8QsGREeeu022qkNFMbXkeiJZk9bOv6dG7EgQx6
 icGK6Wv+T7X/2U5X4ASkYWXQa6GQorD0iylgzr+zxW5aoMZu1KKJ9h10MH+5Xe8=
 =rtDA
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc' of git://github.com/at91linux/linux-at91 into late/cleanup

From Nicolas Ferre <nicolas.ferre@atmel.com>:

DT modifications for generic slave DMA binding.
Addition of MCI and I2C DMA bindings.
A little DT machine compatibility removal for SAMA5.

* tag 'at91-soc' of git://github.com/at91linux/linux-at91:
  ARM: at91/sama5d34ek.dts: remove not needed compatibility string
  ARM: at91: dts: add MCI DMA support
  ARM: at91: dts: add i2c dma support
  ARM: at91: dts: set #dma-cells to the correct value

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-04-29 17:28:37 +02:00
Stephen Boyd f31c2f1c68 ARM: arch_timer: Silence debug preempt warnings
Hot-plugging with CONFIG_DEBUG_PREEMPT=y on a device with arm
architected timers causes a slew of "using smp_processor_id() in
preemptible" warnings:

  BUG: using smp_processor_id() in preemptible [00000000] code: sh/111
  caller is arch_timer_cpu_notify+0x14/0xc8

This happens because sometimes the cpu notifier,
arch_timer_cpu_notify(), is called in preemptible context and
other times in non-preemptible context but we use this_cpu_ptr()
to retrieve the clockevent in all cases. We're only going to
actually use the pointer in non-preemptible context though, so
push the this_cpu_ptr() access down into the cases to force the
checks to occur only in non-preemptible contexts.

Cc: John Stultz <john.stultz@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>
Acked-by: Marc Zyngier <Marc.Zyngier@arm.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-04-26 17:17:29 -07:00
Arnd Bergmann 405f5e5ee5 ARM: OMAP: remove unused variable
Commit 0583fe478a "ARM: convert arm/arm64 arch timer to use CLKSRC_OF init"
has left the omap5_realtime_timer_init() function with a stale variable and
broken whitespace. This fixes both.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-04-23 23:25:33 +02:00
Arnd Bergmann aabdd2901a serial: amba-pl011: fix !CONFIG_DMA_ENGINE case
I changed the prototype of the function earlier but only
in the section for CONFIG_DMA_ENGINE, not the alternative.
This makes the driver build again, e.g. for vexpress_defconfig.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-04-20 09:40:33 +02:00
Arnd Bergmann f54ae513d3 Merge branch 'spear/dwdma' into late/cleanup
This is a series originally prepared for inclusion in 3.9, which did
not work out because of dependencies on the dmaengine driver. All the
changes for the dmaengine code are merged in 3.9 now, so we can finally
do the switchover and remove the now unnecessary dma definitions for
spear13xx from the platform code.

The dma platform_data actually made up the majority of the spear13xx
platform code overall, so moving that into device tree files makes the
code substantially smaller.

* spear/dwdma:
  ata: arasan: remove the need for platform_data
  ARM: SPEAr13xx: Pass generic DW DMAC platform data from DT
  serial: pl011: use generic DMA slave configuration if possible
  spi: pl022: use generic DMA slave configuration if possible

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-04-19 22:50:52 +02:00
Arnd Bergmann 1b361942b5 Merge branch 'spear/multiplatform' into late/cleanup
This is a prerequisite for the spear/dwdma series.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-04-19 22:50:01 +02:00
Arnd Bergmann e34d3865ee ata: arasan: remove the need for platform_data
This adds a complete DT binding for the arasan device driver. There is
currently only one user, which is the spear13xx platform, so we don't
actually have to parse all the properties until another user comes in,
but this does use the generic DMA binding to find the DMA channel.

The patch is untested so far and is part of a series to convert
the spear platform over to use the generic DMA binding, so it
should stay with the rest of the series.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Viresh Kumar <viresh.linux@linaro.org>
Cc: Vinod Koul <vinod.koul@intel.com>
Cc: Jeff Garzik <jgarzik@redhat.com>
Cc: devicetree-discuss@lists.ozlabs.org
2013-04-19 22:25:51 +02:00
Olof Johansson 61b464aef0 Little modification in SoC presentation in kernel log.
Removing of a long-standing warning in sam9263 PM code.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJRcAayAAoJEAf03oE53VmQG8cIAM3K/aHHKToXx7rJ4ZZTr6yi
 RJ8wbaQKQCIrM2JQX7Hb3UI9X1yX8FuqKM0tKXRjcb47S1mV3x+YBQDx1oJOyOWs
 MqWNgdfbvYJ5XXTlURmQgTizWnowInH2mQQ1Tzg7oW+JySX4L5L2DNspFqmOvHsf
 qAE3WPaiODsIzUdOSMLjQrpsbjPHDT7MniiYrSsfUAzXtuM9sKAjTdd32uWd18Yi
 64BEccBl1VHkrGtvGC5tZtJEIkJR/0BAfH60r/o+dyO/cHSFzvhsTazXDyRhnr33
 QTx5+X0tLro8cFzgDCVhA8ajJQNN88oD+gOGefQxRlxpQJdXs/ymY3cbstP2SHI=
 =iTQz
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc' of git://github.com/at91linux/linux-at91 into late/cleanup

From Nicolas Ferre:
Little modification in SoC presentation in kernel log.
Removing of a long-standing warning in sam9263 PM code.

* tag 'at91-soc' of git://github.com/at91linux/linux-at91:
  ARM: at91: suspend both memory controllers on at91sam9263
  ARM: at91: change "Unknown" qualifier SoC subtype handling

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-04-19 11:51:24 -07:00
Olof Johansson a71efd61db Merge branch 'at91/soc' into late/cleanup
* at91/soc:
  ARM: at91: add defconfig for SAMA5
  ARM: at91: dt: add device tree files for SAMA5D3 family
  ARM: at91: introduce SAMA5 support
  ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
  ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
  ARM: at91: change name template in AT91_SOC_START macro
  ARM: at91: renamme rm9200 dt file
  ARM: at91: rename board-dt to more specific name board-dt-sam9
  ARM: at91: move non DT Kconfig to Kconfig.non_dt
2013-04-19 11:50:25 -07:00
Olof Johansson cd4cb1a7df Display related clean-up from Tomi Valkeinen.
These were separated from the DSS driver changes to leave out
 a dependency between the driver and arch/arm related code.
 
 As agreed on the mailing lists, these are based on Tomi's
 platform_data header branch at:
 
 git://gitorious.org/linux-omap-dss2/linux.git 3.10/0-dss-headers
 
 Note that these patches have already been in Linux next via
 Tomi's tree. As Tomi's driver changes are getting merged via
 the drm tree because of another dependency, these should get
 merged via the ARM SoC tree.
 
 Apologies for the late pull request on this one, this dependency
 should have been cleared away earlier.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIbBAABAgAGBQJRb0N0AAoJEBvUPslcq6Vze44P922i9LlKapbDif/G29KDLS40
 oa6T1SsA67G4rnQvJK4cDGEz3VvYa81L8618rwdT1Dyz6WAfmdloZZT+01ccvC2u
 SGbuHQ8Uzp6kZa/zMgLuEKQqUBJsme21rlf6Rh/AtN4JpMCNW5BIMaTXIxT3LNHv
 vuGt6QPPuidgN9TQoIj5XJTQZLsY6m+waycNsec86PFhN81t1U1a/M+FIamIpJ6l
 YNOTMT0o/1F5mmD5x3VlTdj931LTpGIUmOxIrnkFC9Od0ZmnOfkF0D4R7zmQRPTM
 +7wNugTuq6ZDVrYbxKWUDVZXQjpytGapbvhZmCivii7yhqkla1u/GdesOLv2Zy5k
 DujfX4Fs+K2HlembiOHaJAvbaMlLuBJlR2Y5G4SOHeypWBlyX47EcksV4G2XpaTh
 abiKQTpLbjgRgXqW5b1Bou1nclU+kdJFw0vmc83nlNyLd8UY9RKQKqd7nyy6198P
 Ma1xrOAh3MmNq9GNMrc5GzKCKjNTWTsAfAfLsKyHLlKDuCzROxJM6bFKz2yS4xpf
 VTTjzEexKAgkdOI/RqqGOn5B8STVzalIQrQkKBrIVuP1+u1ZyCNROomaYu9vQOO7
 ld20UGLKYB89ECVL7o9Odh6aIySGXKA23SjWGOjfWwqhf64sBBxbdlprvlplXwPy
 /QCkNbfPtb5sD6zwU7c=
 =8KuO
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.10/dss-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into late/cleanup

From Tony Lindgren:
Display related clean-up from Tomi Valkeinen.

These were separated from the DSS driver changes to leave out
a dependency between the driver and arch/arm related code.

* tag 'omap-for-v3.10/dss-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  arm: dss-common: don't use reset_gpio from omap4_panda_dvi_device
  arm: omap boards: Remove unnecessary platform_enable/disable callbacks for VENC devices
  arm: omap: dss-common: use picodlp panel's gpio handling
  arm: omap: board-omap3pandora: use tpo panel's gpio handling
  arm: omap: board-zoom: use NEC panel's gpio handling
  arm: omap: board-rx-51: use acx565akm panel's gpio handling
  arm: omap: board-sdp3430: use sharp panel's gpio handling
  arm: omap: board-omap3evm: use sharp panel's gpio handling
  arm: omap: board-overo: use lb035q02 dpi panel's gpio handling
  arm: omap: board-ldp: use generic dpi panel's gpio handling
  arm: omap: board-am3517: use generic dpi panel's gpio handling
  arm: omap: board-cm-t35: use generic dpi panel's gpio handling
  arm: omap: board-devkit8000: use generic dpi panel's gpio handling
  arm: omap: board-2430: use generic dpi panel's gpio handling
  ARM: OMAP: zoom: Use pwm stack for lcd and keyboard backlight
  OMAPDSS: add fields to panels' platform data
  OMAPDSS: panels: keep platform data of all panels in a single header

Conflicts:
	arch/arm/mach-omap2/board-2430sdp.c
	arch/arm/mach-omap2/board-zoom-display.c
2013-04-19 11:40:52 -07:00
Olof Johansson ff57270de9 Merge branch 'omap/boards' into late/cleanup
* omap/boards:
  ARM: OMAP: board-4430sdp: Provide regulator to pwm-backlight
  ARM: OMAP: zoom: Use pwm stack for lcd and keyboard backlight
  ARM: OMAP2+: omap2plus_defconfig: Add support for BMP085 pressure sensor
  omap2+: Remove useless Makefile line
  omap2+: Remove useless Makefile line
  ARM: OMAP: RX-51: add missing regulator supply definitions for lis3lv02d
  ARM: OMAP1: fix omap_udc registration
2013-04-19 11:37:28 -07:00
Olof Johansson 17ada81e4e Merge branch 'omap/fixes-non-critical' into late/cleanup
* omap/fixes-non-critical:
  ARM: OMAP2+: fix typo "CONFIG_BRIDGE_DVFS"
  ARM: OMAP1: remove "config MACH_OMAP_HTCWIZARD"
  ARM: OMAP: dpll: enable bypass clock only when attempting dpll bypass
  ARM: OMAP2+: powerdomain: avoid testing whether an unsigned char is less than 0
  ARM: OMAP2+: hwmod: Remove unused _HWMOD_WAKEUP_ENABLED flag
  ARM: OMAP2+: am335x: Change the wdt1 func clk src to per_32k clk
  ARM: OMAP2+: AM33xx: hwmod: Add missing sysc definition to wdt1 entry
  ARM: OMAP: fix typo "CONFIG_SMC91x_MODULE"
  ARM: OMAP5: clock: No Freqsel on OMAP5 devices too
  ARM: OMAP5: Make errata i688 workaround available
  ARM: OMAP5: Update SAR memory layout for WakeupGen
  ARM: OMAP5: Update SAR RAM base address
  ARM: OMAP5: Reuse prm read_inst/write_inst
  ARM: OMAP5: prm: Allow prm init to succeed
  ARM: OMAP5: timer: Update the clocksource name as per clock data
  ARM: OMAP5: Update SOC id detection code for ES2
2013-04-19 11:37:21 -07:00
Nicolas Ferre a6268b8648 ARM: at91/sama5d34ek.dts: remove not needed compatibility string
"atmel,sama5ek" compatibility sting does not correspond to a
useful board configuration. This d34ek.dts is the only sama5d3
.dts file affected.

Reported-by: Josh Wu <josh.wu@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-04-19 11:38:05 +02:00
Ludovic Desroches 05c1bc97c1 ARM: at91: dts: add MCI DMA support
Add DMA resources to MCI nodes.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
[nicolas.ferre@atmel.com: correct 9g45, 9n12 dma phandle name]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-04-19 10:42:08 +02:00
Ludovic Desroches d9a63a4518 ARM: at91: dts: add i2c dma support
Add DMA resources to i2c nodes.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
[nicolas.ferre@atmel.com: correct 9n12 dma phandle name]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-04-19 10:40:23 +02:00
Ludovic Desroches 980ce7d94e ARM: at91: dts: set #dma-cells to the correct value
Moving to generic DMA DT binding involves to set #dma-cells to 2.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-04-18 17:06:10 +02:00
Arnd Bergmann f5fa4098c3 ARM: at91: suspend both memory controllers on at91sam9263
For the past three years, we have had a #warning in
mach-at91 about the sdram_selfrefresh_enable or
at91sam9_standby functions possibly not working on
at91sam9263. In the meantime a function was added
to do the right thing on at91sam9g45, which looks like
it should also work on '9263.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[nicolas.ferre@atmel.com: remove paragraph in commit message]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
2013-04-18 16:31:02 +02:00
Olof Johansson 981c448014 mvebu driver irqchip for v3.10
- move the armada irqchip driver to drivers/irqchip/
 
 Note:
  - I asked tglx if it was ok to take this series on 10 Apr due to it's complex
    dependencies.  5+ days have passed with no objection.
  - I put this driver in a separate mvebu branch in case tglx or others object,
    it can be dropped with minimal impact to other work.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQEcBAABAgAGBQJRbFiZAAoJEAi3KVZQDZAevf4IAJr33UAWcF1CpNMqrQCJCfem
 0uK4WHhE7djgqoypR2zIceCmfbkFwwQAsi9tHob+NOnWLnRTdTDHiU+ICcTaYEuK
 s0zkibnLnDmupDfNpw/h2UNLXsGhYt6uXkNMt36yKV2V7/q9mscZ4ztPd9/vA6N/
 glU2w9MxQiQSg4lGunNQa6zeMz1BB5oXmbAefAiDS6IjiGrajepd+PyIl+Ewq+RH
 KFnbAcYpc/Cc+8ANfDvY7IMSN2K5zfSTECbqizlCwfIUI7GP/p050OjJdB7eUz77
 D8nv4PtXS4TOzAjE1UgY1NRKmHyyt5o/GZR2euu1Q3hqFV2Pb5sHw06P6R383IA=
 =/Fuw
 -----END PGP SIGNATURE-----

Merge tag 'irqchip-3.10' of git://git.infradead.org/users/jcooper/linux into late/cleanup

From Jason Cooper:
mvebu driver irqchip for v3.10

 - move the armada irqchip driver to drivers/irqchip/

* tag 'irqchip-3.10' of git://git.infradead.org/users/jcooper/linux:
  irqchip: armada-370-xp: slightly cleanup irq controller driver
  irqchip: armada-370-xp: move IRQ handler to avoid forward declaration
  irqchip: move IRQ driver for Armada 370/XP
  ARM: mvebu: move L2 cache initialization in init_early()

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-04-17 23:37:53 -07:00
Tony Lindgren 4de2a2b4ae Merge branch '3.10-lo/board-cleanup' of git://gitorious.org/linux-omap-dss2/linux into omap-for-v3.10/dss 2013-04-17 17:09:04 -07:00
Olof Johansson c3e0c873d0 This is the 2nd part of ARM timer clean-ups for 3.10. This series has
the following changes:
 
 - Add sched_clock selection logic to select the highest frequency clock
 - Use full 64-bit arch timer counter for sched_clock
 - Convert arch timer, sp804 and integrator-cp timers to CLKSRC_OF and
 adapt all users to use clocksource_of_init
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJRZx0aAAoJEMhvYp4jgsXiB7MH/AutBUa40yuzTA1RzaDxYTX7
 m1NrjmsTI8pFLX6VTvtwNXdT1AJ0JbzPxu35E1Y8xsu8tnx/RjG/hhqq8R2rXd5t
 oqilT46SPBZpKBSrPSuEQde5v8XlKT5kEcUlg47bHGB1JrI9Ip14okRcg5aCJJzu
 Pb25NqxTWS+vFTNV7C+UzuJ72lJ24FHQXK4AbZqaWcaokGCRLP1QE1s83jY7mpX7
 zd5xWMPygKR8oYNPVhxoD1ajUo5cqVHtcXFRnWy1o/T/8ZPqCuSOsyJokScPHzwa
 vUwoAn2OQSFLJZgITu8+9JSlLxW40BdMHaJ+jTlOXMGDq6RHZY1FHAy8PTf43wU=
 =QjNu
 -----END PGP SIGNATURE-----

Merge tag 'clksrc-cleanup-for-3.10-part2' of git://sources.calxeda.com/kernel/linux into late/clksrc

This is the 2nd part of ARM timer clean-ups for 3.10. This series has
the following changes:

- Add sched_clock selection logic to select the highest frequency clock
- Use full 64-bit arch timer counter for sched_clock
- Convert arch timer, sp804 and integrator-cp timers to CLKSRC_OF and
adapt all users to use clocksource_of_init

* tag 'clksrc-cleanup-for-3.10-part2' of git://sources.calxeda.com/kernel/linux:
  devtree: add binding documentation for sp804
  ARM: integrator-cp: convert use CLKSRC_OF for timer init
  ARM: versatile: use OF init for sp804 timer
  ARM: versatile: add versatile dtbs to dtbs target
  ARM: vexpress: remove extra timer-sp control register clearing
  ARM: dts: vexpress: disable CA9 core tile sp804 timer
  ARM: vexpress: remove sp804 OF init
  ARM: highbank: use OF init for sp804 timer
  ARM: timer-sp: convert to use CLKSRC_OF init
  OF: add empty of_device_is_available for !OF
  ARM: convert arm/arm64 arch timer to use CLKSRC_OF init
  ARM: make machine_desc->init_time default to clocksource_of_init
  ARM: arch_timer: use full 64-bit counter for sched_clock
  ARM: make sched_clock just call a function pointer
  ARM: sched_clock: allow changing to higher frequency counter

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

This has a nasty set of conflicts with the exynos MCT code, which was
moved in a separate branch, and then fixed up when merged in, but still
conflicts a bit here. It should have been sorted out by this merge though.
2013-04-17 10:10:01 -07:00
Thomas Petazzoni 5ec69017cc irqchip: armada-370-xp: slightly cleanup irq controller driver
In preparation for the introduction of MSI support in the IRQ
controller driver, we clarify the implementation of IPI using
additional defines for the manipulation of doorbells. Just like IPIs
are implemented using doorbells, MSIs will also use doorbells, so it
makes sense to do this preparatory cleanup first.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-04-15 19:35:17 +00:00
Thomas Petazzoni b313ada8c7 irqchip: armada-370-xp: move IRQ handler to avoid forward declaration
If we move the IRQ handler function above the initialization function,
we avoid a forward declaration. This wasn't done as part of the
previous commit, in order to increase the readibility of the previous
commit, who was also moving the IRQ controller driver from arch/arm to
drivers/irqchip.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-04-15 19:34:50 +00:00
Thomas Petazzoni 9339d432fd irqchip: move IRQ driver for Armada 370/XP
When the Marvell Armada 370/XP support was included in the kernel, the
drivers/irqchip/ directory didn't exist and the minimal infrastructure
in it also didn't exist. Now that we have those things in place, we
move the Armada 370/XP IRQ controller driver from
arch/arm/mach-mvebu/irq-armada-370-xp.c to
drivers/irqchip/irq-armada-370-xp.c.

Note in order to reduce code movement and therefore ease the review of
this patch, we intentionally introduce a forward declaration of
armada_370_xp_handle_irq(). It is in fact not needed because this
handler can now simply be implemented before
armada_370_xp_mpic_of_init(). That will be done in the next commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-04-15 19:34:36 +00:00
Thomas Petazzoni e33369cbf3 ARM: mvebu: move L2 cache initialization in init_early()
In preparation for moving the IRQ controller driver to
drivers/irqchip/, we don't want the IRQ controller driver to be
responsible for initializing the L2 cache. Instead, let's initialize
the L2 cache at the init_early() level, like mach-exynos/common.c is
doing.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-04-15 19:34:16 +00:00
Haojian Zhuang 69a517b247 devtree: add binding documentation for sp804
The sp804 binding is already in use by several platforms. This adds missing
documentation for the binding and also extends the binding to handle some
additional possible interrupt configurations.

Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-11 15:11:22 -05:00
Rob Herring 870e2928cf ARM: integrator-cp: convert use CLKSRC_OF for timer init
Move the integrator-cp timer init to timer-sp.c and use CLKSRC_OF. There is
no reason to use the aliases, so drop them from the init code.

The integrator-cp timers are mistakenly called sp804 timers in the dts, but
in fact they are not sp804 dual timers, but single timers with the same
programming model. Fix the dts to reflect this.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
2013-04-11 15:11:21 -05:00
Rob Herring 818270d573 ARM: versatile: use OF init for sp804 timer
Enable DT based init for the sp804 timers on versatile DT platform.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-11 15:11:21 -05:00
Rob Herring cc8e9ad884 ARM: versatile: add versatile dtbs to dtbs target
Add the versatile platform dtbs to the dtbs make rule.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-11 15:11:20 -05:00
Rob Herring b2a93b1d6b ARM: vexpress: remove extra timer-sp control register clearing
The timer-sp initialization code clears the control register before
initializing the timers, so every platform doing this is redundant.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-11 15:11:19 -05:00
Rob Herring 34c2e5feeb ARM: dts: vexpress: disable CA9 core tile sp804 timer
The motherboard sp804 timer is used, but core tile sp804 timer is not.
According to Russell King, the clock configuration is undocumented and
defaults to 32kHz which is not desireable. So mark core tile sp804 timer
as disabled.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-11 15:11:19 -05:00
Rob Herring dabfd8fb84 ARM: vexpress: remove sp804 OF init
Remove the vexpress specific setup for the sp804 timer now that
clocksource_of_init will do it.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Pawel Moll <pawel.moll@arm.com>
2013-04-11 15:11:18 -05:00
Rob Herring 5993b3ee98 ARM: highbank: use OF init for sp804 timer
Remove the highbank specific setup for the sp804 timer now that
clocksource_of_init will do it.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-11 15:11:17 -05:00
Rob Herring 7a0eca7121 ARM: timer-sp: convert to use CLKSRC_OF init
This adds CLKSRC_OF based init for sp804 timer. The clock initialization is
refactored to support retrieving the clock(s) from the DT.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-11 15:11:17 -05:00
Rob Herring d71956960c OF: add empty of_device_is_available for !OF
Add an empty version of of_device_is_available.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-11 15:11:16 -05:00
Rob Herring 0583fe478a ARM: convert arm/arm64 arch timer to use CLKSRC_OF init
This converts arm and arm64 to use CLKSRC_OF DT based initialization for
the arch timer. A new function arch_timer_arch_init is added to allow for
arch specific setup.

This has a side effect of enabling sched_clock on omap5 and exynos5. There
should not be any reason not to use the arch timers for sched_clock.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Simon Horman <horms@verge.net.au>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-omap@vger.kernel.org
Cc: linux-sh@vger.kernel.org
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
2013-04-11 15:11:15 -05:00
Arnd Bergmann f414f13f2f ARM: make machine_desc->init_time default to clocksource_of_init
Originally from a default machine descriptor patch from Arnd, pull out
just the default call to clocksource_of_init part. This is needed so that
platforms can simply remove .init_time calls as they are converted to use
clocksource_of_init.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-11 15:11:14 -05:00
Rob Herring 023796b9be ARM: arch_timer: use full 64-bit counter for sched_clock
Only 32-bits of the arch timer were being used and wrapping was needlessly
being done in s/w. By using the full counter (56-64 bits), we don't need
to deal with wrapping and can simplify the implementation when using
arch timer.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-11 15:11:14 -05:00
Rob Herring 7e48c0b9d9 ARM: make sched_clock just call a function pointer
This converts sched_clock to simply a call to a function pointer in order
to allow overriding it. This will allow for use with 64-bit counters where
overflow handling is not needed.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-10 18:27:12 -05:00
Rob Herring c115739da8 ARM: sched_clock: allow changing to higher frequency counter
Allow multiple calls to setup_sched_clock and switch to the new counter
if it is higher frequency.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-04-10 18:27:11 -05:00
Arnd Bergmann 228e3023eb add support exynos mct device tree and move into drivers/clocksource
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRYugaAAoJEA0Cl+kVi2xqvi0QAKyF/UbDR6aOSIOoCzgm1iUC
 +F9WvvCLyJdy0y09IKEbwM+aZyzsfC7vO/9wp58ROv1AhD9f1/yk1H+O8NRS668v
 jt8RZlrL30ea0HkRjHRgTCS2sObCXG2pGOduX9i5XKCC4EnM9P/qNe4uJjziY8K8
 FmAanWpJahe0E9szLnWDuF7hhsRkTpjrLWtYYmc1H4LXydoZnxEgGM3xjbqL+m4/
 BPwlCrPtu/WsZzM7Tdx6fVIC2wryrwoH5e1EL3fI2IrWhreOtVWYzoTwUoSy7Xbz
 ERjQoCt3yNVmPO1TwfS9nR/bc0+j8gsFuJRzN42PsP09JFQPVt8Q1o1cpIIHWgvZ
 /pkJAsaBfbQgPOLNof5uHasPVSZYe38TIey782hYA0pmT1RCt46FuJ6zM9M0483q
 4vysYCU/Vc3GOtAQOpsCNbsEMthRzjtjsJoZ5owDsCaiV+eNWC3VrWI2Wm1EO7Mn
 FUthkBY58jPM/9BdFC67ZwBPtSSUhAeZpcUXkcaNj8pgw8Rvfcip/09Vy0Uh0Ef8
 A5dYZec8CNyZKECspzUTlgwyK7xiWD0r3uyr4/a413qb1pr9zdOFlZeespT9bgfI
 uD+tMPpJ+R9fK9BSbRw9FMx1Pe395vZRUmu9WepvQDwQDvoYSi/SVKBMYtn27Bsm
 CD/r/wUs1ktL2rPNcXVz
 =Os9U
 -----END PGP SIGNATURE-----

Merge tag 'mct-exynos-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers

From Kukjin Kim <kgene.kim@samsung.com>:

add support exynos mct device tree and move into drivers/clocksource

* tag 'mct-exynos-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  clocksource: mct: Add terminating entry for exynos_mct_ids table
  clocksource: mct: Add missing semicolons in exynos_mct.c
  ARM: EXYNOS: move mct driver to drivers/clocksource
  ARM: EXYNOS: remove static io-remapping of mct registers for Exynos5
  ARM: dts: add mct device tree node for all supported Exynos SoC's
  ARM: EXYNOS: allow dt based discovery of mct controller using clocksource_of_init
  ARM: EXYNOS: add device tree support for MCT controller driver
  ARM: EXYNOS: prepare an array of MCT interrupt numbers and use it
  ARM: EXYNOS: add a register base address variable in mct controller driver

Conflicts:
	drivers/clocksource/Makefile
	drivers/clocksource/exynos_mct.c

[arnd: adapt to CLOCKSOURCE_OF_DECLARE interface change]

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-04-09 22:18:24 +02:00
Arnd Bergmann 894b7382cf s3c24xx irq cleanup and move into drivers/irqchip
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRYueLAAoJEA0Cl+kVi2xqRggP/1dM6P8T68AB8iJC1DQuE3B7
 d6Edy+mRRU1lFvJ0QCn/QxzWl7r3pYr47yvMcKpnlFpyaqOMtqVGzff5rCts6Hsu
 9km3UA42W7dO9/NLdSOg8GKZPV/3pFTjEnNNdux17pgihBv4ZciIGiivek5kVXCR
 mDh7lMAA6GJuEHxoaUumUp0v+dVfquQcRra8ZxV9rHpHzfy48YFJO7wPlTd2b0EY
 fFMq/cJxHre2+jEuLZiuEvuRgBKpXG1oc7BeU5Gt3moCTdD+HRODEgSZJaTUmAtK
 /jKKUCjvJaDEuL5Xr4Votby0bNniEq4XGGkIAH9iNC47S8tzsiyKNhl5y1H1lFcv
 JOZvVFQ0aT4XY+vX8wXwNfafsecF4n4lUky6xUORDH8NBMsuUw9PCQmGLpZY/IqR
 j/XhO2KLkb7HaIHNj2DsMwslQiTj9dxSH8C+zBQbVoIb/3XipQooUx9FdLDA99a/
 Ni9U6xAF9L4B48rIamB0Af10Ig5sKCE1dFS15yJy2KTesABUyxbbbEVyi0sl1Ugt
 zEWpcISUdKbA0GDivN/hsBsfFBkwG4F/Su6iF62NSxWlXj9kSOpTdjluM0haUlfG
 nbYU5lyF8dVUFLaWBdRF6tYW9EollgmXJBDdaIeS6qVoqWOy0Cjz+VS4eOvAm0ew
 Hi2tJDHMW41K3jBVxJV6
 =Sitv
 -----END PGP SIGNATURE-----

Merge tag 'irq-s3c24xx-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/drivers

From Kukjin Kim <kgene.kim@samsung.com>:

s3c24xx irq cleanup and move into drivers/irqchip

* tag 'irq-s3c24xx-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  irqchip: s3c24xx: add devicetree support
  irqchip: s3c24xx: make interrupt handling independent of irq_domain structure
  irqchip: s3c24xx: globally keep track of the created intc instances
  irqchip: s3c24xx: add irq_set_type callback for basic interrupt types
  irqchip: s3c24xx: fix irqlist of second s3c2416 controller
  irqchip: s3c24xx: fix comments on some camera interrupts
  ARM: S3C24XX: move irq driver to drivers/irqchip
  ARM: S3C24XX: add handle_irq function
  ARM: S3C24XX: make s3c24xx_init_intc static
  ARM: S3C24XX: move s3c24xx_init_irq to s3c2410_init_irq
  ARM: S3C24XX: fix irq parent check
  ARM: S3C24XX: fix redundant checks in the irq mapping function

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-04-09 22:05:50 +02:00
Arnd Bergmann ab9838e145 ux500 pinctrl updates for the ARM SoC tree.
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJRYr70AAoJEEEQszewGV1zao0QAKcc2fRKWxqqbmySdIrPHNZV
 kuAVFLcws87WiREWMvjopDj/j8mhtOaPyUs2XRBzj47+dPu6isyUPxvObNDaw+BU
 f+6fjEJMDQlhiuw1BQ0tXZN9Kv3LP1VWR0DIekxwL/u5arqt1uRcSvbZ4LKhiKRh
 8VyKnfvmmiF90D5A4JpSAi7uctcIzWqjGxqdUjZJqNf4x6KesEiQyIy5ZvBKhfmx
 XfSWCWGW18pwK/bX2NtK6r91HIMNDd8cQDiOk6P9fjdwUhKrkIKiFb++ofnqBZAy
 89hHWLbDAq4nyTZyUKYYhidTvtBo8DqsW+vopkNFgXnoic/Nt9YkTaXD3ZSGqSWP
 A9xWcjX+tBZ+gHfFUjKu6DjPLc1LxQTmmfjrizygAltJhF3ZP2EO8dvzMUbk09Kj
 OZxLkktv46fRuWFd7E/AlX1e5xlybNxXn0tTY46KjmzYFCC9d4Ze3IsXS0EeTzAC
 aF5VewLsLAwY98wzq7MJoLRhMB9pu8JB+K/4UXDHNsiw2vVDs9Ey64bHPXmjUCYN
 JVRfoPxJSyVdD9ZgFh1YMsgrZSHmY0czBvjV6lLfqYhwDA9DPk4vh/d9oGlIfKzL
 VW8cnzmQ0GczgUEVCuALRnI1XuHrEFbHiLp+8zrmYnH+c0hxSseNxut0Fo4ohZpF
 GAFVpCW6zvevjVVdtWE0
 =OInU
 -----END PGP SIGNATURE-----

Merge tag 'ux500-pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/drivers

From Linus Walleij <linus.walleij@linaro.org>:

ux500 pinctrl updates for the ARM SoC tree.

* tag 'ux500-pinctrl' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: ux500: 8500: add ab8500-musb pinctrl support
  ARM: ux500: remove redundant DB8500_PIN_SLEEP definition
  ARM: ux500: Add Snowball pin configuration for user LED
  ARM: ux500: u8500: fix pinctrl IDLE state definition for SPI2

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-04-09 17:57:39 +02:00
Arnd Bergmann 2b07910131 ARM: tegra: clock driver development
This branch contains most fixes and enhancements to the Tegra common
 clock driver. The main new feature is a driver for Tegra114, which
 coupled with later device tree changes enables many devices on that
 chip, such as MMC, I2C, etc.
 
 This branch depends on a patch in:
 
 git://git.linaro.org/people/mturquette/linux.git clk-for-3.10
 
 Mike has stated that this branch is stable, and is aware of this
 dependency and merge.
 
 Mike's branch is based on v3.9-rc3, which includes a USB change which
 causes problems on Tegra. That problem was fixed in v3.9-rc4. Hence,
 this branch pulls in v3.9-rc4 to ensure bisectability as much as
 possible.
 
 This branch is based on v3.9-rc4, followed by a merge of previous Tegra
 "soc" pull request, followed by a merge of clk-for-3.10.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJRXv21AAoJEMzrak5tbycxRAsQAK0U+y5RWQJVR1wQYAuw2AhP
 wX/5BcpDWhH4HrFKUGp0NrVvASHv706bbvnbSsUFeKtMGqRFaiOW756B80R0mnIG
 xjILt64A7kXCMRJeUoXhdJtXQfzNbgGqKUsBJknVHHBw72OhYBXop5ihMWqI9Kk6
 yEsr+/CB9VlV7ZbiLaAXelKuh7oSdaG8ada6qFeRCJhpVVdrFP4aGYkt0iipOBAU
 GBnoISkmp/ocExXlC2n5nIEE0rukJ+KyPwR1bY4+Yj2ZFXL24Nczh8cEZFrV2yz8
 Sa+/6qrowGTw/wPUK+R8+vCvfzKdCYG6rrnyWwwb9UbsP6LAcYz/WB+q0puPZeuZ
 2T82osvbFxjGMYWnR2Uc4CRTid1ophxGWRh810fg1UGMIK4HRMmCxrV6D5Af3FPz
 rXNEf3CCd4iKJQBBYXZAR1TNn5vSX/USeqXvb0810qwe2jwJsiZP5FhZH5Ogfvod
 W825UpmS1zmEz4MI65/CE3fxZ8SsM9Khdp4tl25YfTJ5RMjShzRdsl4BATa8nXpr
 nDfBb8pE2s6hyUWXbnNHw+k4jmQMreEHp+guE6LWYmqBcVlrJpq5joIHqwRl4dyD
 iri9unSvbOAN+fJMXti0uW8zruitfbZgfzwRwwFy1TP0DPQBWVWwN7AABFlItD6M
 pWI9Uf3VL5wAHZmWe6Gq
 =Hasc
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.10-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/drivers

From Stephen Warren <swarren@wwwdotorg.org>:

ARM: tegra: clock driver development

This branch contains most fixes and enhancements to the Tegra common
clock driver. The main new feature is a driver for Tegra114, which
coupled with later device tree changes enables many devices on that
chip, such as MMC, I2C, etc.

This branch depends on a patch in:

git://git.linaro.org/people/mturquette/linux.git clk-for-3.10

Mike has stated that this branch is stable, and is aware of this
dependency and merge.

Mike's branch is based on v3.9-rc3, which includes a USB change which
causes problems on Tegra. That problem was fixed in v3.9-rc4. Hence,
this branch pulls in v3.9-rc4 to ensure bisectability as much as
possible.

This branch is based on v3.9-rc4, followed by a merge of previous Tegra
"soc" pull request, followed by a merge of clk-for-3.10.

* tag 'tegra-for-3.10-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
  clk: tegra: fix enum tegra114_clk to match binding
  clk: tegra: Remove forced clk_enable of uartd
  ARM: dt: Add references to tegra_car clocks
  clk: tegra: devicetree match for nvidia,tegra114-car
  clk: tegra: Implement clocks for Tegra114
  ARM: tegra: Define Tegra114 CAR binding
  clk: tegra: Workaround for Tegra114 MSENC problem
  clk: tegra: Add flags to tegra_clk_periph()
  clk: tegra: Add new fields and PLL types for Tegra114
  clk: tegra: move from a lock bit idx to a lock mask
  clk: tegra: Add PLL post divider table
  clk: tegra: introduce TEGRA_PLL_HAS_LOCK_ENABLE
  clk: tegra: Add TEGRA_PLL_BYPASS flag
  clk: tegra: Refactor PLL programming code
  clk: tegra: provide dummy cpu car ops
  clk: tegra: defer application of init table
  clk: tegra: Fix cdev1 and cdev2 IDs
  clk: tegra: Make gr2d and gr3d clocks children of pll_c
  clk: tegra: Export peripheral reset functions
  clk: tegra: Fix periph_clk_to_bit macro

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-04-09 17:10:31 +02:00
Arnd Bergmann 5790c58b13 Merge branch 'depends/clk' into next/drivers
This is a snapshot of the stable clk branch at

git://git.linaro.org/people/mturquette/linux.git clk-for-3.10

which is a dependency for the tegra clock changes.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-04-09 17:09:35 +02:00
Arnd Bergmann 1194b152cd Merge branch 'tegra/soc' into next/drivers
This is a dependency for the tegra/clk branch.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Conflicts:
	drivers/clocksource/tegra20_timer.c
2013-04-09 17:07:36 +02:00
Nicolas Ferre 13ab6aeb49 ARM: at91: change "Unknown" qualifier SoC subtype handling
An AT91 SoC that doesn't have a subtype is shown as "Unknown"
in the Linux log message which is not correct.
This was leading to confusion so, add a "none" qualifier to
the subtype property and set this one in the appropriate cases.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-04-09 14:26:56 +02:00
Andrew Chew 06993d6a8a ARM: OMAP: board-4430sdp: Provide regulator to pwm-backlight
The pwm-backlight driver now takes a mandatory regulator that is gotten
during driver probe.  Initialize a dummy regulator to satisfy this
requirement.

Signed-off-by: Andrew Chew <achew@nvidia.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[tony@atomide.com: updated fixed regulator id to avoid errors]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-04-08 14:01:05 -07:00
Peter Ujfalusi 2014f26949 ARM: OMAP: zoom: Use pwm stack for lcd and keyboard backlight
Use pwm_leds driver for the keyboard light and pwm-backlight for the lcd
backlight control (instead of implementing the PWM driver part in the board
file).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-04-08 14:01:04 -07:00