OSDN Git Service

pinctrl: sh-pfc: only use dummy states for non-DT platforms
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Mon, 7 Mar 2016 18:40:57 +0000 (19:40 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2016 06:42:08 +0000 (15:42 +0900)
commit8536e37882600eaf011663aafb8abeb556bfca86
tree2d692b770ebd09508cc50e35622804b6612c7292
parent01f083c7e37adf613dca8e7177b460fc3e0a3e56
pinctrl: sh-pfc: only use dummy states for non-DT platforms

commit 0129801be4b87226bf502f18f5a9eabd356d1058 upstream.

If pinctrl_provide_dummies() is used unconditionally, then the dummy
state will be used even on DT platforms when the "init" state was
intentionally left out. Instead of "default", the dummy "init" state
will then be used during probe. Thus, when probing an I2C controller on
cold boot, communication triggered by bus notifiers broke because the
pins were not initialized.

Do it like OMAP2: use the dummy state only for non-DT platforms.

Fixes: ef0eebc05130 ("drivers/pinctrl: Add the concept of an "init" state")
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pinctrl/sh-pfc/core.c