19 Dec, 2011
1 commit
-
sched_clock() is yet another blocker on the road to the single
image. This patch implements an idea by Russell King:http://www.spinics.net/lists/linux-omap/msg49561.html
Instead of asking the platform to implement both sched_clock()
itself and the rollover callback, simply register a read()
function, and let the ARM code care about sched_clock() itself,
the conversion to ns and the rollover. sched_clock() uses
this read() function as an indirection to the platform code.
If the platform doesn't provide a read(), the code falls back
to the jiffy counter (just like the default sched_clock).This allow some simplifications and possibly some footprint gain
when multiple platforms are compiled in. Among the drawbacks,
the removal of the *_fixed_sched_clock optimization which could
negatively impact some platforms (sa1100, tegra, versatile
and omap).Tested on 11MPCore, OMAP4 and Tegra.
Cc: Imre Kaloz
Cc: Eric Miao
Cc: Colin Cross
Cc: Erik Gilling
Cc: Olof Johansson
Cc: Sascha Hauer
Cc: Alessandro Rubini
Cc: STEricsson
Cc: Lennert Buytenhek
Cc: Ben Dooks
Tested-by: Jamie Iles
Tested-by: Tony Lindgren
Tested-by: Kyungmin Park
Acked-by: Linus Walleij
Acked-by: Nicolas Pitre
Acked-by: Krzysztof Halasa
Acked-by: Kukjin Kim
Signed-off-by: Marc Zyngier
Signed-off-by: Russell King
02 Nov, 2011
2 commits
-
* 'next/timer' of git://git.linaro.org/people/arnd/arm-soc:
clocksource: fixup ux500 build problems
ARM: omap: use __devexit_p in dmtimer driver
ARM: ux500: Reprogram timers upon resume
ARM: plat-nomadik: timer: Export reset functions
ARM: plat-nomadik: timer: Add support for periodic timers
ARM: ux500: Move timer code to separate file
ARM: ux500: add support for clocksource DBX500 PRCMU
clocksource: add DBX500 PRCMU Timer support
ARM: plat-nomadik: MTU sched_clock as an option
ARM: OMAP: dmtimer: add error handling to export APIs
ARM: OMAP: dmtimer: low-power mode support
ARM: OMAP: dmtimer: skip reserved timers
ARM: OMAP: dmtimer: pm_runtime support
ARM: OMAP: dmtimer: switch-over to platform device driver
ARM: OMAP: dmtimer: platform driver
ARM: OMAP2+: dmtimer: convert to platform devices
ARM: OMAP1: dmtimer: conversion to platform devices
ARM: OMAP2+: dmtimer: add device names to flck nodes
ARM: OMAP: Add support for dmtimer v2 ip -
* 'next/cleanup' of git://git.linaro.org/people/arnd/arm-soc: (125 commits)
ARM: mach-mxs: fix machines' initializers order
mmc: mxcmmc: explicitly includes mach/hardware.h
arm/imx: explicitly includes mach/hardware.h in pm-imx27.c
arm/imx: remove mx27_setup_weimcs() from mx27.h
arm/imx: explicitly includes mach/hardware.h in mach-kzm_arm11_01.c
arm/imx: remove mx31_setup_weimcs() from mx31.h
ARM: tegra: devices.c should include devices.h
ARM: tegra: cpu-tegra: unexport two functions
ARM: tegra: cpu-tegra: sparse type fix
ARM: tegra: dma: staticify some tables and functions
ARM: tegra: tegra2_clocks: don't export some tables
ARM: tegra: tegra_powergate_is_powered should be static
ARM: tegra: tegra_rtc_read_ms should be static
ARM: tegra: tegra_init_cache should be static
ARM: tegra: pcie: 0 -> NULL changes
ARM: tegra: pcie: include board.h
ARM: tegra: pcie: don't cast __iomem pointers
ARM: tegra: tegra2_clocks: 0 -> NULL changes
ARM: tegra: tegra2_clocks: don't cast __iomem pointers
ARM: tegra: timer: don't cast __iomem pointers
...Fix up trivial conflicts in
arch/arm/mach-omap2/Makefile,
arch/arm/mach-u300/{Makefile.boot,core.c}
arch/arm/plat-{mxc,omap}/devices.c
01 Nov, 2011
2 commits
-
The timer and cleanup branches from stericsson conflict,
so I'm merging them here.Conflicts:
arch/arm/mach-ux500/Makefile
arch/arm/mach-ux500/cpu.cSigned-off-by: Arnd Bergmann
-
Conflicts:
arch/arm/mach-mxs/include/mach/gpio.h
arch/arm/plat-mxc/include/mach/gpio.h
drivers/video/omap/lcd_apollon.c
drivers/video/omap/lcd_ldp.c
drivers/video/omap/lcd_overo.c
29 Oct, 2011
1 commit
-
* 'gpio/next' of git://git.secretlab.ca/git/linux-2.6:
h8300: Move gpio.h to gpio-internal.h
gpio: pl061: add DT binding support
gpio: fix build error in include/asm-generic/gpio.h
gpiolib: Ensure struct gpio is always defined
irq: Add EXPORT_SYMBOL_GPL to function of irq generic-chip
gpio-ml-ioh: Use NUMA_NO_NODE not GFP_KERNEL
gpio-pch: Use NUMA_NO_NODE not GFP_KERNEL
gpio: langwell: ensure alternate function is cleared
gpio-pch: Support interrupt function
gpio-pch: Save register value in suspend()
gpio-pch: modify gpio_nums and mask
gpio-pch: support ML7223 IOH n-Bus
gpio-pch: add spinlock in suspend/resume processing
gpio-pch: Delete invalid "restore" code in suspend()
gpio-ml-ioh: Fix suspend/resume issue
gpio-ml-ioh: Support interrupt function
gpio-ml-ioh: Delete unnecessary code
gpio/mxc: add chained_irq_enter/exit() to mx3_gpio_irq_handler()
gpio/nomadik: use genirq core to track enablement
gpio/nomadik: disable clocks when unused
22 Sep, 2011
3 commits
-
We make the reset function from the driver public, then
we also move of all register defines from the public header
file into driver, where they belong.Cc: Thomas Gleixner
Signed-off-by: Jonas Aaberg
Signed-off-by: Linus Walleij -
This adds support for a periodic mode in the MTU (Nomadik)
timer clockevent driver. It also include changes needed for
deeper powerstates where MTU block gets powered off.Cc: Thomas Gleixner
Signed-off-by: Jonas Aaberg
Signed-off-by: Linus Walleij -
This patch makes it possible to configure away the sched_clock
part of the MTU timer.Cc: Thomas Gleixner
Signed-off-by: Mattias Wallin
Signed-off-by: Jonas Aberg
Signed-off-by: Linus Walleij
21 Sep, 2011
1 commit
-
The GPIO clock is required for register access and interrupt detection.
When interrupt detection is not required on any of the pin in a block,
the block's clock can be disabled when the registers are not being
accessed.Signed-off-by: Rabin Vincent
Reviewed-by: Rickard Andersson
Reviewed-by: Jonas Aberg
[Adjust for new IRQ chip core code, use only local functions]
Signed-off-by: Linus Walleij
Signed-off-by: Grant Likely
30 Aug, 2011
1 commit
-
Remove PIN_CFG_PULL in pincfg.h for plat-nomadik, PIN_CFG_INPUT
already takes care of this. Added support for SPI2.Signed-off-by: Fredrik Svensson
Signed-off-by: Daniel Willerud
Signed-off-by: Linus Walleij
23 Aug, 2011
1 commit
-
After recent consolidations the Nomadik is entirely
superfluous, so get rid of it.Reported-by: Russell King
Signed-off-by: Linus Walleij
Signed-off-by: Russell King
22 Aug, 2011
1 commit
-
The file is included from upper directories
and deal with generic GPIO and gpiolib stuff. Break out the
platform and driver specific defines and functions into its own
header file.Cc: Srinidhi Kasagar
Cc: Alessandro Rubini
Signed-off-by: Linus Walleij
Signed-off-by: Russell King
12 Aug, 2011
3 commits
-
Rather than marking the mach/gpio.h header files which want to use the
trivial GPIOLIB implementation, mark those which do not want to use it
instead. This means that by default, you get the trivial implementation
and only have to do something extra if you need to. This should
encourage the use of the trivial default implementation.As an additional bonus, several gpio.h header files become empty.
Acked-by: H Hartley Sweeten
Tested-by: Jamie Iles
Acked-by: Kukjin Kim
Signed-off-by: Russell King -
Many of the gpio_to_irq implementations use the gpiolib version of this
function. Provide the standard gpiolib gpio_to_irq() for everyone, but
allow platforms to override it if they wish. Add the neccessary
overrides for those platforms which do not use the standard definition.Acked-by: Kukjin Kim
Signed-off-by: Russell King -
Consolidate 24 trivial gpiolib implementions out of mach/gpio.h
into asm/gpio.h. This is basically the include of asm-generic/gpio.h
and the definition of gpio_get_value, gpio_set_value, and gpio_cansleep
as described in Documentation/gpio.txtAcked-by: H Hartley Sweeten
Tested-by: David Brown
Acked-by: David Brown
Tested-by: Linus Walleij
Acked-by: Kukjin Kim
Tested-by: Shawn Guo
Signed-off-by: Russell King
22 Jun, 2011
1 commit
-
Remove linux/mm.h inclusion from netdevice.h -- it's unused (I've checked manually).
To prevent mm.h inclusion via other channels also extract "enum dma_data_direction"
definition into separate header. This tiny piece is what gluing netdevice.h with mm.h
via "netdevice.h => dmaengine.h => dma-mapping.h => scatterlist.h => mm.h".
Removal of mm.h from scatterlist.h was tried and was found not feasible
on most archs, so the link was cutoff earlier.Hope people are OK with tiny include file.
Note, that mm_types.h is still dragged in, but it is a separate story.
Signed-off-by: Alexey Dobriyan
Signed-off-by: David S. Miller
10 Jun, 2011
1 commit
-
The mach-nomadik machine did not compile properly due to bad
ux500-specific functions being called. Introduce new state
variables to fix this up.Reported-by: Axel Lin
Cc: Alessandro Rubini
Cc: Prafulla Wadaskar
Signed-off-by: Linus Walleij
Signed-off-by: Grant Likely
27 May, 2011
2 commits
-
Signed-off-by: Rickard Andersson
Reviewed-by: Martin Persson
[Split off from larger patch]
Signed-off-by: Linus Walleij
Signed-off-by: Grant Likely -
This moves the Nomadik GPIO driver out of arch/arm/plat-nomadik
and into the desired location indicated by the subsystem
maintainer.Signed-off-by: Linus Walleij
[grant.likely: squashed with kconfig fixup]
Signed-off-by: Grant Likely
25 May, 2011
2 commits
-
The I2C speed enumerators in the i2c-nomadik header file were in
the wrong order.Signed-off-by: Linus Walleij
Signed-off-by: Ben Dooks -
Add option to have different i2c timeout delay for different i2c buses
specified in platform data. Default to the old value unless specified.Signed-off-by: Virupax Sadashivpetimath
Reviewed-by: Srinidhi Kasagar
Signed-off-by: Linus Walleij
Signed-off-by: Ben Dooks
24 May, 2011
2 commits
-
Conflicts:
arch/arm/Kconfig
arch/arm/mach-ns9xxx/include/mach/uncompress.h -
Convert SP804, MXC, Nomadik and Orion 32-bit down-counting clocksources
to generic mmio clocksource infrastructure.Acked-by: Catalin Marinas
Cc: Sascha Hauer
Cc: Alessandro Rubini
Acked-by: Linus Walleij
Cc: Lennert Buytenhek
Acked-by: Nicolas Pitre
Signed-off-by: Russell King
11 May, 2011
1 commit
-
This patch updates the Nomadik gpio chained IRQ handler to use the
chained IRQ enter/exit functions in order to function correctly on
primary controllers with different methods of flow control.Cc: Rabin Vincent
Cc: Grant Likely
Acked-by: Linus Walleij
Signed-off-by: Will Deacon
29 Mar, 2011
4 commits
-
Use irq_set_chip_and_handler() instead. Converted with coccinelle.
Signed-off-by: Thomas Gleixner
-
Convert to the new function names. Automated with coccinelle.
Signed-off-by: Thomas Gleixner
-
Store the enabled mask in the local state, so there is no need to
fiddle in the irq descriptor.Signed-off-by: Thomas Gleixner
-
Signed-off-by: Thomas Gleixner
25 Mar, 2011
1 commit
-
gpiolib plus two gpio implementations in arm fiddle in the guts of
irq_desc in a racy and buggy way. Remove the stuff. I already told the
gpio folks that we can provide that information in a proper way if
necessary.Signed-off-by: Thomas Gleixner
Acked-by: Grant Likely
LKML-Reference:
23 Mar, 2011
1 commit
-
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (66 commits)
avr32: at32ap700x: fix typo in DMA master configuration
dmaengine/dmatest: Pass timeout via module params
dma: let IMX_DMA depend on IMX_HAVE_DMA_V1 instead of an explicit list of SoCs
fsldma: make halt behave nicely on all supported controllers
fsldma: reduce locking during descriptor cleanup
fsldma: support async_tx dependencies and automatic unmapping
fsldma: fix controller lockups
fsldma: minor codingstyle and consistency fixes
fsldma: improve link descriptor debugging
fsldma: use channel name in printk output
fsldma: move related helper functions near each other
dmatest: fix automatic buffer unmap type
drivers, pch_dma: Fix warning when CONFIG_PM=n.
dmaengine/dw_dmac fix: use readl & writel instead of __raw_readl & __raw_writel
avr32: at32ap700x: Specify DMA Flow Controller, Src and Dst msize
dw_dmac: Setting Default Burst length for transfers as 16.
dw_dmac: Allow src/dst msize & flow controller to be configured at runtime
dw_dmac: Changing type of src_master and dest_master to u8.
dw_dmac: Pass Channel Priority from platform_data
dw_dmac: Pass Channel Allocation Order from platform_data
...
14 Mar, 2011
9 commits
-
Enable wakeups by default for any GPIO interrupts and in the suspend/resume
path narrow this down to only the the real wakeup interrupts. This approach is
based on the assumption that cpuidle ApSleep will be entered more often than
system suspend.Signed-off-by: Rabin Vincent
Reviewed-by: Srinidhi Kasagar
[Fixup for genirq changes to struct irq_data on 2.6.38]
Signed-off-by: Linus Walleij -
The compiler warns that [rf]wimsc may be used uninitialized in
this function - the warning is actually false since the uses are
in identical if()-clauses, but it can't hurt very much to read
out the values to be modified early anyway and rid the warning.Cc: Rabin Vincent
Signed-off-by: Linus Walleij -
The NOMADIK_GPIO_PM config option is disabled by default, not user visible,
and never selected by any other option: the code is therefore unused. The
GPIO registers need not be saved and restored since their values are
preserved when vAPE (on DB8500) is powered down.Signed-off-by: Rabin Vincent
Reviewed-by: Jonas Aberg
Signed-off-by: Linus Walleij -
This patch fixes a bug when setting SLPM register for DB8500.
When calling__nmk_gpio_set_slpm(...) offset to GPIO is now used
instead of the GPIO number itself.Signed-off-by: Rikard Olsson
Signed-off-by: Linus Walleij -
Setting pinmux alternative C for a GPIO pin is actually not
so easy since it ivolves setting value "1" in two registers,
and since the combined result will take effect for intermediate
values (01 or 10) this will cause glitches while you wrote one
register but have not yet written the other.This patch implements a series of kludges including an optional
machine-specific callback to avoid glitches when changing pin
mux mode to alternative C.Signed-off-by: Rabin Vincent
Signed-off-by: Linus Walleij -
Signed-off-by: Rabin Vincent
Signed-off-by: Linus Walleij -
Coverity found that we were checking an unsigned variable for
>= zero. Type it correctly so that the check works as intended.Signed-off-by: Virupax Sadashivpetimath
Signed-off-by: Linus Walleij -
Suspend/resume didn't take care of pull-up and pull-down
settings and writing back the DAT register at resume can
change pull up/down settings, depending on pin input value.
Output values are now also restored.Signed-off-by: Jonas Aaberg
Signed-off-by: Linus Walleij -
When GPIOs wake up the system from sleep mode, the normal GPIO interrupt
handler does not hit and the normal interrupt status register does not
contain the status. Instead the secondary GPIO handler does, and the
interrupt status needs to be retrieved from the wakeup status saved by
the suspend/resume code.Signed-off-by: Rabin Vincent
Signed-off-by: Linus Walleij