]> git.baikalelectronics.ru Git - kernel.git/commit
serial/amba-pl011: move custom pin control to driver
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 23 May 2012 19:18:46 +0000 (21:18 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Jun 2012 22:41:44 +0000 (15:41 -0700)
commite31074717fc5c72431d80a19f026df787ec2681a
tree79821058633366fa9bca66038439dde67673680b
parent80ae43a3fba325ff2ece528346f0b0fbba72a0f5
serial/amba-pl011: move custom pin control to driver

We had a boot regression in Ux500 in the merge window because
two orthogonal pin control schemes for the PL011 were merged
at the same time:

- One using the .init() and .exit() hooks into the platform
  for Ux500 putting the pins into default vs sleep state
  respectively as the port was started/stopped.
  commit bc423598d7017ef1841acc245ea1778c379f2b74
  "ARM: ux500: switch to using pinctrl for uart0"

- One hogging the default setting at PL011 probe()
  commit 4e7d435c02bd654da912a28f0eeb6281287e39f6
  "serial: amba-pl011: adopt pinctrl support"

To get a solution that works for both let's scrap the stuff
in the platform callbacks, instead have the driver itself
select default and sleep states when the port is
started/stopped. Hopefully this works for all clients.
Platform callbacks are bad for device tree migration anyway,
so this rids us of another problem in Ux500.

Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Reported-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/mach-ux500/board-mop500.c
drivers/tty/serial/amba-pl011.c