On Tue, 2019-11-05 at 14:14 +0100, Clément Péron wrote: > From: Jernej Skrabec <jernej.skrabec@xxxxxxxx> > > H6 PWM core needs deasserted reset line in order to work. > > Add an optional probe for it. > > Signed-off-by: Jernej Skrabec <jernej.skrabec@xxxxxxxx> > Signed-off-by: Clément Péron <peron.clem@xxxxxxxxx> Reviewed-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > --- > drivers/pwm/pwm-sun4i.c | 33 +++++++++++++++++++++++++++++++-- > 1 file changed, 31 insertions(+), 2 deletions(-) > > diff --git a/drivers/pwm/pwm-sun4i.c b/drivers/pwm/pwm-sun4i.c > index 6f5840a1a82d..9ba83769a478 100644 > --- a/drivers/pwm/pwm-sun4i.c > +++ b/drivers/pwm/pwm-sun4i.c [...] > @@ -365,6 +367,21 @@ static int sun4i_pwm_probe(struct platform_device *pdev) > if (IS_ERR(pwm->clk)) > return PTR_ERR(pwm->clk); > > + pwm->rst = devm_reset_control_get_optional_shared(&pdev->dev, NULL); > + if (IS_ERR(pwm->rst)) { > + if (PTR_ERR(pwm->rst) != -EPROBE_DEFER) > + dev_err(&pdev->dev, "get reset failed %ld\n", > + PTR_ERR(pwm->rst)); > + return PTR_ERR(pwm->rst); > + } > + > + /* Deassert reset */ Nitpick: isn't the API function name explanatory enough? regards Philipp