On Mon, Jan 16, 2017 at 07:45:04AM +0100, Marek Szyprowski wrote: > Pad retention control after suspend/resume cycle should be done from pin > controller driver instead of PMU (power management unit) driver to avoid > possible ordering and logical dependencies. Till now it worked fine only > because PMU driver registered its sys_ops after pin controller. > > This patch adds infrastructure to handle pad retention during pin control > driver resume. > > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > --- > drivers/pinctrl/samsung/pinctrl-samsung.c | 12 ++++++--- > drivers/pinctrl/samsung/pinctrl-samsung.h | 42 +++++++++++++++++++++++++++++++ > 2 files changed, 51 insertions(+), 3 deletions(-) > > diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c > index 86f23842f681..95a84086a2e9 100644 > --- a/drivers/pinctrl/samsung/pinctrl-samsung.c > +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c > @@ -1075,6 +1075,9 @@ static int samsung_pinctrl_probe(struct platform_device *pdev) > ctrl->eint_gpio_init(drvdata); > if (ctrl->eint_wkup_init) > ctrl->eint_wkup_init(drvdata); > + if (ctrl->retention_data && ctrl->retention_data->init) > + drvdata->retention_ctrl = ctrl->retention_data->init(drvdata, > + ctrl->retention_data); > > platform_set_drvdata(pdev, drvdata); > > @@ -1127,15 +1130,15 @@ static void samsung_pinctrl_suspend_dev( > > if (drvdata->suspend) > drvdata->suspend(drvdata); > + if (drvdata->retention_ctrl && drvdata->retention_ctrl->on) > + drvdata->retention_ctrl->on(drvdata); > + This new line is not needed (checkpatch might complain... either in normal mode or in strict). Beside that, thanks for splitting the patch for interface from the implementation: Reviewed-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx> Best regards, Krzysztof -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html