pinctrl: mediatek: Add pm_ops to pinctrl-paris
pinctrl variants that include pinctrl-paris.h (and not pinctrl-mtk-common.h) also need to use pm_ops to setup wake mask properly, so copy over the pm_ops from common to paris variant. It is not easy to merge the 2 copies (or move mtk_eint_suspend/resume to mtk-eint.c), as we need to dereference pctrl->eint, and struct mtk_pinctrl *pctl has a different structure definition for v1 and v2 (which is what paris variant uses). Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Acked-by: Sean Wang <sean.wang@kernel.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
fcae009397
commit
5c0904488a
2 changed files with 21 additions and 0 deletions
|
@ -926,3 +926,22 @@ int mtk_paris_pinctrl_probe(struct platform_device *pdev,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int mtk_paris_pinctrl_suspend(struct device *device)
|
||||||
|
{
|
||||||
|
struct mtk_pinctrl *pctl = dev_get_drvdata(device);
|
||||||
|
|
||||||
|
return mtk_eint_do_suspend(pctl->eint);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int mtk_paris_pinctrl_resume(struct device *device)
|
||||||
|
{
|
||||||
|
struct mtk_pinctrl *pctl = dev_get_drvdata(device);
|
||||||
|
|
||||||
|
return mtk_eint_do_resume(pctl->eint);
|
||||||
|
}
|
||||||
|
|
||||||
|
const struct dev_pm_ops mtk_paris_pinctrl_pm_ops = {
|
||||||
|
.suspend_noirq = mtk_paris_pinctrl_suspend,
|
||||||
|
.resume_noirq = mtk_paris_pinctrl_resume,
|
||||||
|
};
|
||||||
|
|
|
@ -60,4 +60,6 @@
|
||||||
int mtk_paris_pinctrl_probe(struct platform_device *pdev,
|
int mtk_paris_pinctrl_probe(struct platform_device *pdev,
|
||||||
const struct mtk_pin_soc *soc);
|
const struct mtk_pin_soc *soc);
|
||||||
|
|
||||||
|
extern const struct dev_pm_ops mtk_paris_pinctrl_pm_ops;
|
||||||
|
|
||||||
#endif /* __PINCTRL_PARIS_H */
|
#endif /* __PINCTRL_PARIS_H */
|
||||||
|
|
Loading…
Reference in a new issue