History log of /arch/arm/mach-integrator/integrator_ap.c
Revision Date Author Comments
44fa72d129916575befad806c9c6045b623beb26 29-May-2014 Rob Herring <robh@kernel.org> ARM: integrator: convert to use irqchip_init

Now that versatile-fpga irqchip has IRQCHIP_DECLARE support, the interrupt
related initialization can be removed.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
11f9323a48875101bc4de6077155c17aed82cfc8 24-Jun-2014 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: fix OF-related regression

Commit 07e461cd7e73a84f0e3757932b93cc80976fd749
"of: Ensure unique names without sacrificing determinism"
caused a boot failure regression on the Integrator machines.

The problem is probably caused by fiddling too much with
the device tree population in the OF init function, such
as passing the SoC bus device as parent when populating
the device tree.

This patch fixes the problem by:

- Avoiding to explicitly look up the tree root
- Look up devices needed before device population from
the match only, passing NULL as root
- Passing NULL as root and parent when calling
of_platform_populate()

After this the Integrators boot again. Tested on
Integrator/AP and Integrator/CP.

Cc: Grant Likely <grant.likely@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
78f6db99522bbdd2f2a90c963744bd51c8602990 04-Mar-2014 Michael Opdenacker <michael@free-electrons.com> ARM: 8000/1: misc: remove deprecated IRQF_DISABLED

This patch removes the use of the IRQF_DISABLED flag
from miscellaneous code in mach-xxx and plat-xxx

This flag is a NOOP since 2.6.35 and it will be removed one day.

Signed-off-by: Michael Opdenacker <michael.opdenacker@free-electrons.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
1b1ef755bd910106fef15bd55386b60e88d73e16 13-Feb-2014 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: localize the hardware.h header

As we move toward multiplatform support for the Integrator family
we need to localize all <mach/*> headers. This moves the hardware.h
header down to the machine folder. There are no users outside the
machine in the kernel.

Cc: Will Deacon <will.deacon@arm.com>
Cc: Jonathan Austin <jonathan.austin@arm.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
f8487aa85b0f3c092bb3c1f27972b445a1944048 13-Feb-2014 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: merge platform.h to hardware.h

There is no need to have the two separate headers <mach/platform.h>
and <mach/hardware.h>, especially since we are now going to make them
local files. There is not one single driver outside the mach-integrator
folder referencing any of the files.

Cc: Will Deacon <will.deacon@arm.com>
Cc: Jonathan Austin <jonathan.austin@arm.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
c36928adfc24398f8fe49cf498389500c14a5550 13-Feb-2014 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: localize the lm.h header

As we move toward multiplatform support for the Integrator family
we need to localize all <mach/*> headers. This moves the lm.h
header down to the machine folder as it is not used outside it
anyway.

Cc: Will Deacon <will.deacon@arm.com>
Cc: Jonathan Austin <jonathan.austin@arm.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
09c978bc7bdcfc3db91801454273a4330e1933bf 10-Jan-2014 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: switch to fetch clocks from device tree

This atomic commit changes the Integrator clock implementation
and the machines to register clocks from the device tree and
use these instead of the previous hard-coded clocks.

In the clock implementation all hard-coded clocks and the
special initialization function call goes away, and is
replaced by two compatible strings for the two clocks
available on the core module.

Cc: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
307b96677c98bc444262e3d1a7d26c0ca8a1c6e0 17-Jun-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: move EBI to the device tree

This moves the External Bus Interface (EBI) over to a device
tree node and deletes the static mappings from the platform.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
78d1632183454dba46ca8295484a5e7603acdc18 17-Jun-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: delete static core module mappings

Now that the core module base is taken from the device tree
both for platform initialization and cpufreq, let's delete
the static mappings.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7a4143fac83e8be9ca9ee01d612687f407623cc3 16-Nov-2013 Stephen Boyd <sboyd@codeaurora.org> ARM: integrator: Switch to sched_clock_register()

The 32 bit sched_clock interface now supports 64 bits. Upgrade to
the 64 bit function to allow us to remove the 32 bit registration
interface.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Kevin Hilman <khilman@linaro.org>
df36680f1a71eef97685c30eb9eaf55a6813b6cd 10-Oct-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: core module registers from compatible strings

This augments the core machine code for the Integrator platforms
to get their references to the core module device nodes by
using compatible strings instead of predefined node names
and rename the CP syscon node to be simply "syscon".

Reported-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
bb4dbefe4c6ae3685152d03e318e093d5f6f795a 16-Jun-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: move CM base into device tree

This moves the core module (CM) control base into the device
tree. It is a simple memory range of 0x200 bytes. Move the
cm header down into the machine directory and unexport the
cm_control() symbol as no modules are using it.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
578fdfdf32a84ca17ed2090dba4ff2c8e688cc89 15-Jun-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: decommission the <mach/irqs.h> header

This header is no longer needed when we boot from the device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
d7057e1de8d6c180eb2ecd90b0cab9d1a8a4d8ab 15-Jun-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: delete non-devicetree boot path

The Device Tree boot path now supports everything the ATAG
boot can provide, and the two are equivalent. This deletes
the ATAG boot path from the Integrator/AP and
Integrator/CP platforms to move them on to the future.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
a67202583f44c90d1155f4de8c8028884a2a1451 15-Jun-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: get the LM interrupts from DT

The OF/DT boot path needs to get the LM (Logical Module)
IRQs from the device tree for coherency. This augments the
DT syscon node to contain these IRQs and alter the DT LM
code to get them from there.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
f55b2b56cd37fa8bcfcb75248c27094eaf09e04c 01-Mar-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: basic PCIv3 device tree support

This registers the memory ranges for I/O, non-prefetched and
prefetched memory and configuration space for the PCIv3 bridge
and let us fetch these basic memory resources from the device
tree in the device tree boot path. Remove the stepping stone
platform device. This is an either/or approach - the platform
data path is mutually exclusive to the plain platform data
path and provided addresses from the device tree have to be
correct.

This adds the interrupt-map property to the PCIv3 DTS file
and makes the bridge obtain mappings from the device tree.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
38ff87f77af0b5a93fc8581cff1d6e5692ab8970 02-Jun-2013 Stephen Boyd <sboyd@codeaurora.org> sched_clock: Make ARM's sched_clock generic for all architectures

Nothing about the sched_clock implementation in the ARM port is
specific to the architecture. Generalize the code so that other
architectures can use it by selecting GENERIC_SCHED_CLOCK.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
[jstultz: Merge minor collisions with other patches in my tree]
Signed-off-by: John Stultz <john.stultz@linaro.org>
ae9daf2d00ee103b257a1f3b4ea9c575b708fe7a 19-Mar-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: move static ioremapping into PCIv3 driver

Try to make this driver self-contained by moving the ioremapping
into the driver.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
01ef31053ddda5d5aee86dca61193d1395273d53 16-Mar-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: move VGA base assignment

The global vga_base is used for things like getting an early
console on a PCI-based VGA adapter. Move this assignment into
the probe function for the PCI bridge.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
a5ecbab7d9b606bdfbec67ccda0fde0f82e1e70e 16-Mar-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: remap PCIv3 base dynamically

Remove the static mapping for the PCIv3 PCI bridge controller
and do this dynamically when probing instead.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
86adc39ffc9360eee43ff5913468620a3fdd7289 02-Feb-2013 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: convert PCIv3 bridge to platform device

This converts the PCIv3 driver to a platform device driver, and
registers the device only on the Integrator/AP instead of bailing
out in the initcall if the platform is not correct.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
b269b1709d17794bef0397b3de7d1db72bdef926 24-Feb-2013 Russell King <rmk+kernel@arm.linux.org.uk> ARM: cleanup: soc_device_register() error checking

soc_device_register() never returns NULL, it only ever returns an
error pointer or a valid pointer. Use the right function (IS_ERR())
to check this.

soc_device_to_device() only ever returns &soc_dev->dev, and so can
never return an error or NULL if the pointer passed into it was
valid, so there's no point checking its return.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
060fd1be0c720166091470ffb7846512b82c1a87 14-Feb-2013 Arnd Bergmann <arnd@arndb.de> ARM: integrator/versatile: fix NOMMU warnings

On NOMMU kernels, the io_desc variables are unused
because we don't use the MMU to remap the MMIO
areas.

Marking these variables as __maybe_unused easily
avoids the otherwise harmless warnings like

warning: 'versatile_io_desc' defined but not used

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
ab2a724a2ef9cee5957692257a5d1f08fd7acbbd 06-Feb-2013 Will Deacon <will.deacon@arm.com> ARM: integrator: ensure ap_syscon_base is initialised when !CONFIG_MMU

When running on Integrator/AP using atags, ap_syscon_base is initialised
in ->map_io, which isn't called for !MMU platforms.

Instead, initialise the pointer in ->machine_init, as we do when booting
with device-tree.

Cc: stable@vger.kernel.org
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
6bb27d7349db51b50c40534710fe164ca0d58902 08-Nov-2012 Stephen Warren <swarren@nvidia.com> ARM: delete struct sys_timer

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 <robert.jarzmik@free.fr>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
379df2793efdca18e91cb8570f844ad1f83eb609 17-Nov-2012 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: push down SC dependencies

This pushes the dependencies on the Integrator/AP system
controller (SC) down into the PCI V3 driver and the
AP-specific board file.

First, the platform data for the PL010 UART is moved into
the integrator_ap.c board file, and the Integrator/CP is
assigned with NULL pdata. This way the callback functions
can reference the dynamically remapped AP syscon address
in both the ATAG and DT boot path, and this remapping
is localized to the board file.

Second the PCIv3 driver is making its own dynamic remapping
of the SC for the few registers it is using. When we
convert the PCIv3 driver over to using device tree having a
dynamically assigned base address will be useful, but we
will have to use the definition from <mach/platform.h> for
now, the only improvement is that it's done dynamically.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
328ba305e3871d4256398a80f45517ec9c814999 12-Nov-2012 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: delete static UART1 mapping

The Integrators does not use the UART1 for any debugging
or similar, dynamic mapping should be all that is needed
so delete this static map.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
83feba511e5df2fd63a25610d43fe16af02b0742 04-Nov-2012 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: remove static AP syscon mapping

This removes the static mapping for the AP system controller for
the device tree case. Fork the static mappings table and move
the system controller to only be statically mapped in the ATAG
boot path.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
e67ae6be734de909954e20317c38472af983b92c 02-Nov-2012 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: hook the AP into the SoC bus

This hooks the Integrator/AP into the SoC bus when booting from
device tree, by mapping the AP controller registers first,
then registering the SoC device, and then populating the device
tree with the SoC device as parent.

Introduce some helpers in the core to provide sysfs files
detailing the use of the SoC ID which will later be reused by
the Integrator/CP patch for the same bus grouping.

Cc: Lee Jones <lee.jones@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2389d5014342e9535aad212d0c68d439aaf534ba 31-Oct-2012 Linus Walleij <linus.walleij@linaro.org> ARM: plat-versatile: move FPGA irq driver to drivers/irqchip

This moves the Versatile FPGA interrupt controller driver, used in
the Integrator/AP, Integrator/CP and some Versatile boards, out
of arch/arm/plat-versatile and down to drivers/irqchip where we
have consensus that such drivers belong. The header file is
consequently moved to <linux/platform_data/irq-versatile-fpga.h>.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
da72a66ba852fef3d5dfe02ab311a894e7d791e9 27-Oct-2012 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: get rid of preallocated irq descriptors

The Integrators were using the .nr_irqs field of the machine
descriptor to pre-allocate a number of descriptors at boot. This
is not right: the irq chip implementations should allocate
their descriptors themselves, and as a result the simple
irqdomain code warns about it.

Get rid of this by just deleting the .nr_irq field from the
machine descriptors but take care: doing so makes the default
implementation hog the first 16 IRQ numbers, so these cannot
be used by the still static IRQ number assignments in the
ATAG boot case. So for these, bump the IRQ numbers to begin
at 64 and upward.

Introduce an offset to offset all IRQ numbers if need be,
though we don't expect to do that again as device tree comes
along.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
21c8715f0a1f4df8bfa2bd6f3915e5e33c1c2e6e 24-Sep-2012 Arnd Bergmann <arnd@arndb.de> ARM: integrator: use __iomem pointers for MMIO, part 2

Due to some interesting merges in the integrator code, not
all users of mmio pointers were converted before, this
fixes all warnings that got introduced as a consequence.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
b7a3f8db07c1bca303dbf038f108dd84638bcd82 14-Sep-2012 Arnd Bergmann <arnd@arndb.de> ARM: integrator: use __iomem pointers for MMIO

ARM is moving to stricter checks on readl/write functions,
so we need to use the correct types everywhere.

This patch has a few small conflicts with stuff in linux-next, which
we have to sort out in arm-soc.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
73efd53012af7775a4504da46ebf4145528d50e7 06-Sep-2012 Linus Walleij <linus.walleij@linaro.org> ARM: 7519/1: integrator: convert platform devices to Device Tree

This moves the physmap flash and SMSC91x ethernet devices
over to the device tree, moving the static board code down
into the #ifndef CONFIG_OF section.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
4672cddff21f6edde857aa4b523bbc1bfc741cf8 06-Sep-2012 Linus Walleij <linus.walleij@linaro.org> ARM: 7518/1: integrator: convert AMBA devices to device tree

This converts the AMBA (PrimeCell) devices on the Integrator/AP
and Integrator/CP over to probing from the Device Tree if the
kernel is compiled for Device Tree support.

We continue to #ifdef out all non-DT code and vice versa on
respective boot type to get a clean cut.

We need to add a bunch of auxdata (compare to the Versatile)
to handle bus names and callbacks alike.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
4980f9bc2cec0f8ff0e0f2b021d46c7606ae1849 06-Sep-2012 Linus Walleij <linus.walleij@linaro.org> ARM: 7517/1: integrator: initial device tree support

This is initial device tree support for the ARM Integrator family,
we create a very basic device tree, #ifdef out the non-DT machines
when compiling for device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
9bf26a180578b92890ed77890d4e9e9807adcda3 06-Sep-2012 Linus Walleij <linus.walleij@linaro.org> ARM: 7514/1: integrator: call common init function from machine

There is currently a common integrator_init() function set up
to be called from an arch_initcall(). The problem is that it is
using machine_is_integrator() which is not working with device
tree, let's call this from respective machine initilization
function and add a parameter to tell whether it's the
Integrator/AP or Integrator/CP instead.

There are still machine_is*() calls in the Integrator
machines directory, but this one needs to be fixed lest we
don't even get a UART console on the Integrator/AP after a
Device Tree boot.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
8bb8148c78317e9360a21a0e69a58be6862adb07 05-Aug-2012 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: use clk_prepare_enable() for timer

The Integrator timer is using the clock framework to get the
timer frequency, but missed to prepare the clock before enabling.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
68ef63227b131a83732753f9fcd258319c37c1c3 13-Jul-2012 Rob Herring <rob.herring@calxeda.com> ARM: integrator: use fixed PCI i/o mapping

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

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
a613163dff04cbfcb7d66b06ef4a5f65498ee59b 11-Jun-2012 Linus Walleij <linus.walleij@linaro.org> ARM: integrator: convert to common clock

This converts the Integrator platform to use common clock
and the ICST driver. Since from this point not all ARM
reference platforms use the clock, we define
CONFIG_PLAT_VERSATILE_CLOCK and select it for all platforms
except the Integrator.

Open issue: I could not use the .init_early() field of the
machine descriptor to initialize the clocks, but had to
move them to .init_irq(), so presumably .init_early() is
so early that common clock is not up, and .init_machine()
is too late since it's needed for the clockevent/clocksource
initialization. Any suggestions on how to solve this is
very welcome.

Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
[mturquette@linaro.org: use 'select' instead of versatile Kconfig]
Signed-off-by: Mike Turquette <mturquette@linaro.org>
3108e6ab21a9b9dbd88f0b2ff99f73e95b8b1580 28-Apr-2012 Linus Walleij <linus.walleij@linaro.org> ARM: 7389/2: plat-versatile: modernize FPGA IRQ controller

This does two things to the FPGA IRQ controller in the versatile
family:

- Convert to MULTI_IRQ_HANDLER so we can drop the entry macro
from the Integrator. The C IRQ handler was inspired from
arch/arm/common/vic.c, recent bug discovered in this handler was
accounted for.
- Convert to using IRQ domains so we can get rid of the NO_IRQ
mess and proceed with device tree and such stuff.

As part of the exercise, bump all the low IRQ numbers on the
Integrator PIC to start from 1 rather than 0, since IRQ 0 is
now NO_IRQ. The Linux IRQ numbers are thus entirely decoupled
from the hardware IRQ numbers in this controller.

I was unable to split this patch. The main reason is the half-done
conversion to device tree in Versatile.

Tested on Integrator/AP and Integrator/CP.

Cc: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
695436e3738ec6375a4a1026034d14433be3fb3a 26-Feb-2012 Linus Walleij <linus.walleij@linaro.org> ARM: 7349/1: integrator: convert to sparse irqs

This converts the Integrator AP/CP to use sparse IRQs.
Tested on both machines.

Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
a9d6d15131b0519363b0c94734ee80955c411093 31-Jan-2012 Linus Walleij <linus.walleij@linaro.org> ARM: 7310/1: integrator: implement sched_clock across all boards

Now that we can select a sched_clock at runtime, let's implement
it for the Integrator AP, default-select the one found in all
other board it for all plat-versatile boards and make the right
clock kick in at runtime.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
6338b66f8a8c5bc8ff8671acbfdda02756e92c0a 03-Nov-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: restart: integrator: use new restart hook

Hook these platforms restart code into the new restart hook rather
than using arch_reset().

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
bb76079a7859fb33a23bef405517b6b653d9f649 08-Sep-2011 Linus Walleij <linus.walleij@linaro.org> ARM: 7087/2: mach-integrator: get timer frequency from clock

We already have a clock definition for the 24MHz clock in
the Integrator, use that instead of some unclear defines
from the platform.h header. Also delete the senseless
comment that the file shouldn't be edited, I just edited it
and the world didn't come to an end, so it's obviously
false. If anyone still has the mentioned ".s file" and the
s2h awk script generating that header, raise your hand
(and give me your files).

Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
6d8ce7129f6c4c2f8716d6a771d59f263deab898 08-Sep-2011 Linus Walleij <linus.walleij@linaro.org> ARM: 7086/2: mach-integrator: modernize clock event registration

Drop mult, shift and delta calculations and let the
clockevent core scale this as appropriate.

Set the minimum interval to 1 rather than 15 (0xf), there
is nothing in the data sheets I have indicating that 15
should be some minimum value.

Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
02f5632122ccbb6eb0c3b3f612b564b659defb32 08-Sep-2011 Linus Walleij <linus.walleij@linaro.org> ARM: 7085/2: mach-integrator: clockevent supports oneshot mode

The Integrator AP timer has no problem supporting oneshot
ticks with proper code, so let's do it so we can have
NOHZ configured in for this platform too.

Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
1b56b17f9903b6a17b8bb8d72d885f6d12b4d597 08-Sep-2011 Linus Walleij <linus.walleij@linaro.org> ARM: 7084/1: mach-integrator: retire some timer macros

These macros are not used by anything since the switch to
generic time in commit b9cedda230793cbf58eb012ddadedd490cc8e129
so let's retire them.

Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
b71d8429ec364ef8eada011dded2e23aaecde53e 04-Sep-2011 Linus Walleij <linus.walleij@linaro.org> mach-integrator: fix VGA base regression

The changes introduced in commit
cc22b4c18540e5e8bf55c7d124044f9317527d3c
"ARM: set vga memory base at run-time"

Makes the Integrator/AP freeze completely. I appears that
this is due to the VGA base address being assigned at PCI
init time, while this base is needed earlier than that.
Moving the initialization of the base address to the
.map_io function solves this problem.

Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
bb9ea77846620ed2b37e74c852d72c7a476b248c 06-Sep-2011 Linus Walleij <linus.walleij@linaro.org> ARM: 7081/1: mach-integrator: fix the clocksource

I was intrigued by the fact that the clock stood still on
the Integrator, but it wasn't strange at all, because the
timer was set up all wrong and probably has been for a
while. With this patch the clock starts ticking again:
make the timer periodic (reload), |= on the divisor bit
and load the timer before starting it.

Cc: stable@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
c5e587a2bf189b28be06306c42bb26aa70dbc70b 06-Jul-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: mach-integrator: convert boot_params to atag_offset

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
c5039f52329ff796d7fea9024e5615abee02dbfb 08-May-2011 Russell King <rmk+kernel@arm.linux.org.uk> clocksource: convert Integrator/AP 16-bit down counting clocksource

Convert the Integrator/AP 16-bit down-counting clocksource to the
generic clocksource infrastructure.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
667f390bee987d45351402e42008c52cdfb77d76 18-May-2011 Marc Zyngier <Marc.Zyngier@arm.com> ARM: 6910/1: MTD: physmap: let set_vpp() pass a platform_device instead of a map_info

The set_vpp() method provided by physmap passes a map_info back to
the platform code, which has little relevance as far as the platform
is concerned (this parameter is completely unused).

Instead, pass the platform_device, which can be used in the pismo
driver to retrieve some important information in a nicer way, instead
of the hack that was in place.

The empty set_vpp function in board-at572d940hf_ek.c is left untouched,
as the board/SoC is scheduled for removal.

Cc: Andrew Victor <linux@maxim.org.za>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Ben Dooks <ben-linux@fluff.org>
Acked-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Acked-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
f07e762e4f18d484645f2c18d24c5d3b7e3a377a 18-May-2011 Marc Zyngier <Marc.Zyngier@arm.com> ARM: 6908/1: Integrator/AP: Use physmap driver instead of integrator-flash

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
b7808056141bc4d67213036921a5a685ebec0274 22-Apr-2011 Rafael J. Wysocki <rjw@sisk.pl> ARM / Integrator: Use struct syscore_ops for core PM

Replace the sysdev class and struct sys_device used for power
management by the Integrator interrupt-handling code with a
struct syscore_ops object which is simpler.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
c41b16f8c9d9dc74ed5669d4a3e3d42374c9e609 19-Jan-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: integrator/versatile: consolidate FPGA IRQ handling code

Consolidate the FPGA IRQ handling code. Integrator/AP and Versatile
have one FPGA-based IRQ handler each. Integrator/CP has three.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
c735c9873d0c2f269fd16f4b04903da41a44cbcf 11-Jan-2011 Russell King <rmk+kernel@arm.linux.org.uk> ARM: integrator: use new init_early for clock tree init

Initialize the clock tree early.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
c3ef3ccadb0d8fc4f8de89a63edf0cee979a7235 29-Nov-2010 Lennert Buytenhek <buytenh@wantstofly.org> ARM: integrator: irq_data conversion.

Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
08963dab7c6b0ba6a687cb008299eabbbeff7282 13-Dec-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: integrator: update clock source registration

In d7e81c2 (clocksource: Add clocksource_register_hz/khz interface) new
interfaces were added which simplify (and optimize) the selection of the
divisor shift/mult constants. Switch over to using this new interface.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
6451d7783ba5ff24eb1a544eaa6665b890f30466 15-Oct-2010 Nicolas Pitre <nicolas.pitre@linaro.org> arm: remove machine_desc.io_pg_offst and .phys_io

Since we're now using addruart to establish the debug mapping, we can
remove the io_pg_offst and phys_io members of struct machine_desc.

The various declarations were removed using the following script:

grep -rl MACHINE_START arch/arm | xargs \
sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }'

[ Initial patch was from Jeremy Kerr, example script from Russell King ]

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Eric Miao <eric.miao at canonical.com>
98c672cf1fa2a56f6f43e3f48b1208b83845582c 22-May-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: Move platform memory reservations out of generic code

Move the platform specific bootmem memory reservations out of
arch/arm/mm/mmu.c into their respective platform files.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
6be4826e37122b25cb10b215fc84c3a0b1fe1402 17-Jan-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: Integrator: move 16-bit timer support to Integrator/AP

Only Integrator/AP has 16-bit timers, so move the support into the
Integrator/AP specific support files.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
b830b9b5b3d04bc22f0b9ded85b713f7d3c11b7f 17-Jan-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: Integrator: convert to use register definitions

Rather than using converted base address plus offset, use the register
address itself now that IO_ADDRESS() can cope with these.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
da7ba956c84d3c85c5ec619af794a6ca0ee3faae 17-Jan-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: Integrator: fix Integrator/CP definitions, move to platform.h

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
861248d177145fc5861507e4607fec89fd0a0462 15-Jan-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: Integrator: pass 'khz' to integrator_time_init

This is now what the clocksource/clockevent initialization functions
want, so give them the timer tick rate directly.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
b9cedda230793cbf58eb012ddadedd490cc8e129 15-Jan-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: Integrator: convert to generic time support

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
a285edcf18b8838814d645c7e411a337a825236e 14-Jan-2010 Russell King <rmk+kernel@arm.linux.org.uk> ARM: Fix Versatile&Integrator includes to behave in the same way as Realview

Realview doesn't include mach/platform.h in mach/hardware.h, so
make versatile behave in the same way. Also, move the definition
of __io_address() into mach/hardware.h, just like Realview.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
fced80c735941fa518ac67c0b61bbe153fb8c050 06-Sep-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Convert asm/io.h to linux/io.h

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
a09e64fbc0094e3073dbb09c3b4bfe4ab669244b 05-Aug-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach

This just leaves include/asm-arm/plat-* to deal with.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
be509729356b7433f73df2b9a966674a437fbbc1 04-Aug-2008 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Remove asm/hardware.h, use asm/arch/hardware.h instead

Remove includes of asm/hardware.h in addition to asm/arch/hardware.h.
Then, since asm/hardware.h only exists to include asm/arch/hardware.h,
update everything to directly include asm/arch/hardware.h and remove
asm/hardware.h.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
af5ca3f4ec5cc4432a42a73b050dd8898ce8fd00 20-Dec-2007 Kay Sievers <kay.sievers@vrfy.org> Driver core: change sysdev classes to use dynamic kobject names

All kobjects require a dynamically allocated name now. We no longer
need to keep track if the name is statically assigned, we can just
unconditionally free() all kobject names on cleanup.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
10dd5ce28d78e2440e8fa1135d17e33399d75340 23-Nov-2006 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Remove compatibility layer for ARM irqs

set_irq_chipdata -> set_irq_chip_data
get_irq_chipdata -> get_irq_chip_data
do_level_IRQ -> handle_level_irq
do_edge_IRQ -> handle_edge_irq
do_simple_IRQ -> handle_simple_irq
irqdesc -> irq_desc
irqchip -> irq_chip

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
38c677cb9a683c9d477f845484b74b0a1b23e1fb 01-Aug-2006 David Brownell <david-b@pacbell.net> [ARM] 3739/1: genirq updates: irq_chip, add and use irq_chip.name

Patch from David Brownell

ARM genirq cleanups/updates:

- Start switching platforms to newer APIs
* use "irq_chip" name, not "irqchip"
* providing irq_chip.name

- Show irq_chip.name in /proc/interrupts, like on x86.

This update a bit more than half of the ARM code. The irq_chip.name
values were chosen to match docs (if I have them) or be otherwise
obvious ("FPGA", "CPLD", or matching the code).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
d2a02b93cf78205dd23226efb66481569900976e 20-Mar-2006 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Convert kmalloc+memset to kzalloc

Convert all uses of kmalloc followed by memset to use kzalloc instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
946d4935fc61e1479f8c057d58c64110bb43d3b0 13-Jan-2006 Nicolas Pitre <nico@cam.org> [ARM] 3260/1: remove phys_ram from struct machine_desc (part 2)

Patch from Nicolas Pitre

This field is redundent since it must be equal to PHYS_OFFSET anyway.

Now that no code uses it anymore, mark it deprecated and remove all
initializations from the tree.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
a62c80e559809e6c7851ec04d30575e85ad6f6ed 07-Jan-2006 Russell King <rmk@dyn-67.arm.linux.org.uk> [ARM] Move AMBA include files to include/linux/amba/

Since the ARM AMBA bus is used on MIPS as well as ARM, we need
to make the bus available for other architectures to use. Move
the AMBA include files from include/asm-arm/hardware/ to
include/linux/amba/

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
4e57b6817880946a3a78d5d8cad1ace363f7e449 31-Oct-2005 Tim Schmielau <tim@physik3.uni-rostock.de> [PATCH] fix missing includes

I recently picked up my older work to remove unnecessary #includes of
sched.h, starting from a patch by Dave Jones to not include sched.h
from module.h. This reduces the number of indirect includes of sched.h
by ~300. Another ~400 pointless direct includes can be removed after
this disentangling (patch to follow later).
However, quite a few indirect includes need to be fixed up for this.

In order to feed the patches through -mm with as little disturbance as
possible, I've split out the fixes I accumulated up to now (complete for
i386 and x86_64, more archs to follow later) and post them before the real
patch. This way this large part of the patch is kept simple with only
adding #includes, and all hunks are independent of each other. So if any
hunk rejects or gets in the way of other patches, just drop it. My scripts
will pick it up again in the next round.

Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
d052d1beff706920e82c5d55006b08e256b5df09 29-Oct-2005 Russell King <rmk@dyn-67.arm.linux.org.uk> Create platform_device.h to contain all the platform device details.
Convert everyone who uses platform_bus_type to include
linux/platform_device.h.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
c8d2729858d76de4ef7522c8171004fc1959cc44 28-Oct-2005 Deepak Saxena <dsaxena@plexity.net> [ARM] 3001/1: Replace map_desc.physical with map_desc.pfn: Integrator

Patch from Deepak Saxena

Integrator map_desc.pfn conversion

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
e9dea0c65d2de6981356c055781fb99d7191b14e 03-Jul-2005 Russell King <rmk@dyn-67.arm.linux.org.uk> [PATCH] ARM: Remove machine description macros

Remove the pointless machine description macros, favouring C99
initialisers instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 17-Apr-2005 Linus Torvalds <torvalds@ppc970.osdl.org> Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!