From 753f5bec8e26da9f79f630f9215d9ad3c09c7c8c Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Mon, 11 May 2015 19:21:12 +0800 Subject: [PATCH] HDMI:rk3288: fix pinctrl mode switch error. For 3288, i25 pinctrl gpio mode name is "sleep", not "gpio" any more. Signed-off-by: Zheng Yang --- .../hdmi/rockchip-hdmiv2/rockchip_hdmiv2.c | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.c b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.c index fe23627ac46c..be008fb64d20 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2.c @@ -251,6 +251,9 @@ static int rockchip_hdmiv2_fb_event_notify(struct notifier_block *self, struct hdmi *hdmi = hdmi_dev->hdmi; struct delayed_work *delay_work; struct pinctrl_state *gpio_state; +#ifdef CONFIG_PINCTRL + struct dev_pin_info *pins = hdmi_dev->dev->pins; +#endif if (action == FB_EARLY_EVENT_BLANK) { switch (blank_mode) { @@ -266,8 +269,18 @@ static int rockchip_hdmiv2_fb_event_notify(struct notifier_block *self, if (delay_work) flush_delayed_work(delay_work); rockchip_hdmiv2_clk_disable(hdmi_dev); - gpio_state = pinctrl_lookup_state(hdmi_dev->dev->pins->p, "gpio"); - pinctrl_select_state(hdmi_dev->dev->pins->p, gpio_state); + #ifdef CONFIG_PINCTRL + if (hdmi_dev->soctype == HDMI_SOC_RK3288) + gpio_state = + pinctrl_lookup_state(pins->p, + "sleep"); + else + gpio_state = + pinctrl_lookup_state(pins->p, + "gpio"); + pinctrl_select_state(pins->p, + gpio_state); + #endif } break; } @@ -276,8 +289,10 @@ static int rockchip_hdmiv2_fb_event_notify(struct notifier_block *self, case FB_BLANK_UNBLANK: HDMIDBG("resume hdmi\n"); if (hdmi->sleep) { - pinctrl_select_state(hdmi_dev->dev->pins->p, - hdmi_dev->dev->pins->default_state); + #ifdef CONFIG_PINCTRL + pinctrl_select_state(pins->p, + pins->default_state); + #endif rockchip_hdmiv2_clk_enable(hdmi_dev); rockchip_hdmiv2_dev_initial(hdmi_dev); if (hdmi->ops->hdcp_power_on_cb) -- 2.34.1