android_kernel_xiaomi_sm8350/arch/arm
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
..
boot gpio fixes for v3.6-rc1 2012-08-12 21:45:33 +03:00
common ARM: dma-mapping: add support for dma_get_sgtable() 2012-07-30 12:25:47 +02:00
configs ARM: s3c24xx: enable CONFIG_BUG for tct_hammer 2012-08-10 13:02:06 +02:00
include/asm Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:30:45 -07:00
kernel Merge branch 'audit' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:35:37 -07:00
lib arch: remove direct definitions of KERN_<LEVEL> uses 2012-07-30 17:25:13 -07:00
mach-at91 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2012-07-26 13:00:59 -07:00
mach-bcmring
mach-clps711x
mach-cns3xxx
mach-davinci ARM: davinci: remove broken ntosd2_init_i2c 2012-08-10 13:14:36 +02:00
mach-dove ARM: Orion: DT support for IRQ and GPIO Controllers 2012-07-27 16:48:14 +02:00
mach-ebsa110
mach-ep93xx
mach-exynos ARM: exynos: exynos_pm_add_dev_to_genpd may be unused 2012-08-10 12:27:34 +02:00
mach-footbridge
mach-gemini
mach-h720x
mach-highbank
mach-imx ARM i.MX fixes for 3.6-rc 2012-08-07 11:22:14 +02:00
mach-integrator ARM: integrator: include <linux/export.h> 2012-08-09 15:16:44 +02:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-kirkwood ARM: kirkwood: fix typo in Makefile.boot 2012-08-07 10:48:11 +02:00
mach-ks8695
mach-l7200/include/mach
mach-lpc32xx
mach-mmp ARM: mmp: add missing irqs.h 2012-08-02 10:15:59 -07:00
mach-msm
mach-mv78xx0 ARM: Orion: DT support for IRQ and GPIO Controllers 2012-07-27 16:48:14 +02:00
mach-mvebu
mach-mxs ARM: mxs: always build ocotp 2012-08-04 22:52:23 +08:00
mach-netx arch/arm/mach-netx/fb.c: reuse dummy clk routines for CONFIG_HAVE_CLK=n 2012-07-30 17:25:13 -07:00
mach-nomadik
mach-omap1 Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
mach-omap2 ARM: arm-soc: cpuidle enablement for OMAP 2012-08-02 11:48:54 -07:00
mach-orion5x ARM: Orion: DT support for IRQ and GPIO Controllers 2012-07-27 16:48:14 +02:00
mach-picoxcell
mach-pnx4008
mach-prima2 ARM: PRIMA2: delete redundant codes to restore LATCHED when timer resumes 2012-08-02 10:05:27 -07:00
mach-pxa Input: eeti_ts: pass gpio value instead of IRQ 2012-08-09 15:16:41 +02:00
mach-realview
mach-rpc
mach-s3c24xx ARM: s3c24xx: use new PWM driver 2012-08-09 15:16:43 +02:00
mach-s3c64xx ARM: arm-soc soc updates, take 2 2012-07-30 09:45:53 -07:00
mach-s3c2410
mach-s3c2412
mach-s3c2440
mach-s5p64x0 arm-soc: device tree description updates 2012-07-23 16:17:43 -07:00
mach-s5pc100 arm-soc: device tree description updates 2012-07-23 16:17:43 -07:00
mach-s5pv210 arm-soc: board specific updates 2012-07-23 17:34:48 -07:00
mach-sa1100 ARM: sa1100: include linux/io.h in hackkit leds code 2012-08-09 15:16:42 +02:00
mach-shark
mach-shmobile ARM: arm-soc board updates, take 2 2012-07-30 09:48:00 -07:00
mach-socfpga
mach-spear3xx Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
mach-spear6xx Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
mach-spear13xx
mach-tegra ARM: tegra: more regulator fixes for Harmony 2012-08-09 15:16:40 +02:00
mach-u300 spi/pl022: adopt pinctrl support 2012-09-20 09:02:53 -04:00
mach-ux500 MFD bits for the 3.6 merge window. 2012-07-30 12:41:17 -07:00
mach-versatile
mach-vexpress
mach-vt8500 Merge branch 'for-3.6' of git://gitorious.org/linux-pwm/linux-pwm 2012-07-30 09:22:37 -07:00
mach-w90x900
mach-zynq
mm ARM: dma-mapping: fix incorrect freeing of atomic allocations 2012-08-09 07:46:07 +02:00
net
nwfpe
oprofile
plat-iop
plat-mxc ARM: SoC fixes 2012-08-02 11:48:20 -07:00
plat-nomadik
plat-omap Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
plat-orion ARM: Orion: Add arch support needed for I2C via DT. 2012-07-27 16:48:29 +02:00
plat-pxa Merge branch 'for-3.6' of git://gitorious.org/linux-pwm/linux-pwm 2012-07-30 09:22:37 -07:00
plat-s3c24xx
plat-samsung ARM: s3c24xx: use new PWM driver 2012-08-09 15:16:43 +02:00
plat-spear Merge branch 'dmaengine' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:41:07 -07:00
plat-versatile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00
tools
vfp Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm 2012-08-01 16:30:45 -07:00
Kconfig ARM: arm-soc Marvell Orion device-tree updates 2012-08-02 11:50:24 -07:00
Kconfig-nommu
Kconfig.debug Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00
Makefile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-07-27 15:14:26 -07:00