MFD: ucb1x00-core: fix missing restore of io output data on resume
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 21 Jan 2012 18:15:24 +0000 (18:15 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 21 Jan 2012 18:32:24 +0000 (18:32 +0000)
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>
drivers/mfd/ucb1x00-core.c

index b281217334eb3c68d35c7695b8104dd327e6bcf6..8ebda97981e1a31088bed973df65e45a1db5e6ab 100644 (file)
@@ -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) {