summaryrefslogtreecommitdiff
path: root/drivers/mfd/ucb1x00-core.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-01-21 22:15:24 +0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-01-21 22:32:24 +0400
commit2e95e51e184bd107380881502ea0f483c4500706 (patch)
tree472a3f839cc36d871ef551e26206feb8f90d7f74 /drivers/mfd/ucb1x00-core.c
parent2a7f51a3e08cdaeea78d9e101a0079422a55bbc3 (diff)
downloadlinux-2e95e51e184bd107380881502ea0f483c4500706.tar.xz
MFD: ucb1x00-core: fix missing restore of io output data on resume
We were not restoring the UCB1x00 gpio output data on resume, resulting in incorrect GPIO output data after a resume. Add the missing register write. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/mfd/ucb1x00-core.c')
-rw-r--r--drivers/mfd/ucb1x00-core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c
index b281217334eb..8ebda97981e1 100644
--- a/drivers/mfd/ucb1x00-core.c
+++ b/drivers/mfd/ucb1x00-core.c
@@ -687,6 +687,7 @@ static int ucb1x00_resume(struct mcp *mcp)
struct ucb1x00 *ucb = mcp_get_drvdata(mcp);
struct ucb1x00_dev *dev;
+ ucb1x00_reg_write(ucb, UCB_IO_DATA, ucb->io_out);
ucb1x00_reg_write(ucb, UCB_IO_DIR, ucb->io_dir);
mutex_lock(&ucb1x00_mutex);
list_for_each_entry(dev, &ucb->devs, dev_node) {