diff options
-rw-r--r-- | drivers/pinctrl/pinctrl-rockchip.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index 59a54617bf75..28b12187c2c1 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c | |||
@@ -1796,6 +1796,23 @@ static struct rockchip_pin_ctrl *rockchip_pinctrl_get_soc_data( | |||
1796 | return ctrl; | 1796 | return ctrl; |
1797 | } | 1797 | } |
1798 | 1798 | ||
1799 | static int __maybe_unused rockchip_pinctrl_suspend(struct device *dev) | ||
1800 | { | ||
1801 | struct rockchip_pinctrl *info = dev_get_drvdata(dev); | ||
1802 | |||
1803 | return pinctrl_force_sleep(info->pctl_dev); | ||
1804 | } | ||
1805 | |||
1806 | static int __maybe_unused rockchip_pinctrl_resume(struct device *dev) | ||
1807 | { | ||
1808 | struct rockchip_pinctrl *info = dev_get_drvdata(dev); | ||
1809 | |||
1810 | return pinctrl_force_default(info->pctl_dev); | ||
1811 | } | ||
1812 | |||
1813 | static SIMPLE_DEV_PM_OPS(rockchip_pinctrl_dev_pm_ops, rockchip_pinctrl_suspend, | ||
1814 | rockchip_pinctrl_resume); | ||
1815 | |||
1799 | static int rockchip_pinctrl_probe(struct platform_device *pdev) | 1816 | static int rockchip_pinctrl_probe(struct platform_device *pdev) |
1800 | { | 1817 | { |
1801 | struct rockchip_pinctrl *info; | 1818 | struct rockchip_pinctrl *info; |
@@ -2009,6 +2026,7 @@ static struct platform_driver rockchip_pinctrl_driver = { | |||
2009 | .driver = { | 2026 | .driver = { |
2010 | .name = "rockchip-pinctrl", | 2027 | .name = "rockchip-pinctrl", |
2011 | .owner = THIS_MODULE, | 2028 | .owner = THIS_MODULE, |
2029 | .pm = &rockchip_pinctrl_dev_pm_ops, | ||
2012 | .of_match_table = rockchip_pinctrl_dt_match, | 2030 | .of_match_table = rockchip_pinctrl_dt_match, |
2013 | }, | 2031 | }, |
2014 | }; | 2032 | }; |