linux/drivers
Patrice Chotard 4f5e1b3708 spi/pl022: adopt pinctrl support
Amend the PL022 pin controller to optionally take a pin control
handle and set the state of the pins to "default" on boot and
runtime resume, and to "sleep" at runtime suspend. This way we
will dynamically save power on the SPI busses, for example some
electronic designs may be able to ground the pins when unused
instead of pull-up. Some pin controllers may want to set the
pins as wake-up sources when sleeping.

Effect on platforms using the PL022 driver:

- If the platform does not use pin control - no semantic effect,
  the pinctrl stubs will kick in and resolve the situation.

- Platforms using this driver and have pin control but no
  function defined for the PL022 need to either supply a
  "default" function in their map or enable pinctrl dummies
  so the driver is satisfied.

- Platforms using this driver with hogs for setting up the PL022
  pin control - stop using hogs to take the pl022 pin control
  handle, let the driver handle this.

I'be looked at some platforms that may be affected:

- SPEAr: appears to define the proper functions in their device
  trees and not hogging them, so things should be smooth, the
  driver will simply start to take its pins.

- Ux500: the proper function is defined and will be taken properly
  by the driver. New sleep states introduced by a separate patch to
  ux500 but no regression, since the default state is sufficient.

- U300: old hog deleted as part of this patch.

- LPC32xx: does not appear to be using pinctrl.

- ARM Integrator IMPD1, RealView & Versatile: does not use pinctrl.

Tested-by: Roland Stigge <stigge@antcom.de>
Signed-off-by: Patrice Chotard <patrice.chotard@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-09-20 09:02:53 -04:00
..
accessibility
acpi Power management fixes for 3.6-rc2 2012-08-12 21:34:09 +03:00
amba Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00
ata ARM: arm-soc Marvell Orion device-tree updates 2012-08-02 11:50:24 -07:00
atm drivers/atm/iphase.c: fix error return code 2012-08-06 13:29:57 -07:00
auxdisplay
base PM: Make dev_pm_get_subsys_data() always return 0 on success 2012-08-08 20:49:33 +02:00
bcma bcma: BCM43228 support 2012-08-02 13:51:46 -04:00
block drbd: nuke pdflush from comments 2012-08-04 12:15:39 +04:00
bluetooth
cdrom
char Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux 2012-08-14 07:52:41 +03:00
clk clk: validate pointer in __clk_disable() 2012-07-30 17:25:13 -07:00
clocksource
connector
cpufreq drivers/cpufreq/pcc-cpufreq.c: fix error return code 2012-08-08 20:49:25 +02:00
cpuidle Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-07-26 14:28:55 -07:00
crypto This patch series contains a major revamp of how we collect entropy 2012-07-31 19:07:42 -07:00
dca
devfreq
dio
dma dma: tegra: enable/disable dma clock 2012-08-13 10:15:22 +05:30
edac Merge branch 'devel' 2012-07-29 21:11:05 -03:00
eisa
extcon MFD bits for the 3.6 merge window. 2012-07-30 12:41:17 -07:00
firewire - Small fixes and optimizations. 2012-07-30 09:32:39 -07:00
firmware This patch series contains a major revamp of how we collect entropy 2012-07-31 19:07:42 -07:00
gpio GPIO: gpio-pxa: fix building without CONFIG_OF 2012-08-14 07:50:36 +03:00
gpu Merge branch 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes 2012-08-15 20:31:22 +10:00
hid Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-07-31 18:47:44 -07:00
hsi
hv This patch series contains a major revamp of how we collect entropy 2012-07-31 19:07:42 -07:00
hwmon Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2012-07-30 10:10:26 -07:00
hwspinlock
i2c This patch series contains a major revamp of how we collect entropy 2012-07-31 19:07:42 -07:00
ide
idle Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2012-07-26 14:28:55 -07:00
ieee802154
iio
infiniband Merge branches 'cma', 'ipoib', 'ocrdma' and 'qib' into for-next 2012-07-30 07:47:27 -07:00
input Input: eeti_ts: pass gpio value instead of IRQ 2012-08-09 15:16:41 +02:00
iommu iommu/amd: Fix ACS path checking 2012-08-06 18:10:04 +02:00
isdn mISDN: Bugfix for layer2 fixed TEI mode 2012-08-06 13:22:50 -07:00
leds leds: renesas: fix error handling 2012-08-13 14:34:02 +08:00
lguest
macintosh
md Additional md update for 3.6 2012-08-02 11:34:40 -07:00
media Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-07-31 18:47:44 -07:00
memory
memstick
message drivers/message/i2o/i2o_config.c: bound allocation 2012-07-30 17:25:17 -07:00
mfd Merge branch 'testing/new-warnings' into fixes 2012-08-10 12:28:57 +02:00
misc Merge branch 'akpm' (Andrew's patch-bomb) 2012-07-30 17:25:34 -07:00
mmc Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
mtd arm-soc: bug fixes for v3.6-rc2 2012-08-12 21:31:44 +03:00
net bnx2x: Fix compiler warnings 2012-08-12 13:42:18 -07:00
nfc
nubus
of
oprofile
parisc
parport
pci
pcmcia Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00
pinctrl drivers/pinctrl/pinctrl-nomadik.c: drop devm_kfree of devm_kzalloc'd data 2012-08-07 14:34:12 +02:00
platform platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP 2012-08-10 14:29:43 +02:00
pnp
power Merge branch 'for-linus-3.6' of git://dev.laptop.org/users/dilinger/linux-olpc 2012-08-02 11:52:39 -07:00
pps pps: return PTR_ERR on error in device_create 2012-07-30 17:25:21 -07:00
ps3
ptp
pwm pwm: pwm-tiehrpwm: PWM driver support for EHRPWM 2012-07-26 07:45:20 +02:00
rapidio
regulator regulator: Fix an s5m8767 build failure 2012-07-31 00:51:09 +02:00
remoteproc A batch of remoteproc patches for 3.6: 2012-07-26 16:19:08 -07:00
rpmsg A batch of remoteproc patches for 3.6: 2012-07-26 16:19:08 -07:00
rtc RTC: Avoid races between RTC alarm wakeup and suspend. 2012-08-08 20:49:16 +02:00
s390 s390/sclp_sdias: Add missing break and "fall through" 2012-08-08 07:32:55 -07:00
sbus
scsi Merge branch 'for-3.6/core' of git://git.kernel.dk/linux-block 2012-08-01 09:02:41 -07:00
sfi
sh sh: intc: Handle domain association for sparseirq pre-allocated vectors. 2012-08-09 13:21:05 +09:00
sn
spi spi/pl022: adopt pinctrl support 2012-09-20 09:02:53 -04:00
ssb
staging Merge branch 'for-linus-3.6' of git://dev.laptop.org/users/dilinger/linux-olpc 2012-08-02 11:52:39 -07:00
target Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-08-01 10:26:23 -07:00
tc
thermal The tag contains just a few battery-related changes for v3.6. It's is 2012-07-31 18:08:25 -07:00
tty serial: sh-sci: fix compilation breakage, when DMA is enabled 2012-08-01 13:48:54 +09:00
uio
usb arm-soc: bug fixes for v3.6-rc2 2012-08-12 21:31:44 +03:00
uwb
vfio vfio: Add PCI device driver 2012-07-31 08:16:24 -06:00
vhost tcm_vhost: Initial merge for vhost level target fabric driver 2012-07-29 13:49:10 -07:00
video fbdev updates for 3.6 2012-08-01 10:45:12 -07:00
virt
virtio
vlynq
vme
w1 Driver core merge for 3.6-rc1 2012-07-26 11:25:33 -07:00
watchdog ARM: arm-soc Marvell Orion device-tree updates 2012-08-02 11:50:24 -07:00
xen
zorro
Kconfig vfio: VFIO core 2012-07-31 08:16:22 -06:00
Makefile vfio: VFIO core 2012-07-31 08:16:22 -06:00