Mathieu Poirier <[email protected]> writes: > On 1 December 2015 at 15:55, Stefan Wahren <[email protected]> wrote: >> It's possible that the pwm clock become an orphan. So better >> check the result of clk_get_rate in order to prevent a division >> by zero. >> >> Signed-off-by: Stefan Wahren <[email protected]> >> --- >> drivers/pwm/pwm-bcm2835.c | 10 +++++++++- >> 1 file changed, 9 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/pwm/pwm-bcm2835.c b/drivers/pwm/pwm-bcm2835.c >> index 174cca9..31a6992 100644 >> --- a/drivers/pwm/pwm-bcm2835.c >> +++ b/drivers/pwm/pwm-bcm2835.c >> @@ -65,7 +65,15 @@ static int bcm2835_pwm_config(struct pwm_chip *chip, >> struct pwm_device *pwm, >> int duty_ns, int period_ns) >> { >> struct bcm2835_pwm *pc = to_bcm2835_pwm(chip); >> - unsigned long scaler = NSEC_PER_SEC / clk_get_rate(pc->clk); >> + unsigned long rate = clk_get_rate(pc->clk); >> + unsigned long scaler; >> + >> + if (!rate) { >> + dev_err(pc->dev, "failed to get clock rate\n"); >> + return -EINVAL; >> + } >> + >> + scaler = NSEC_PER_SEC / rate; > > Stefan, > > Please merge this code into patch 1/3. That way it is done the right > way the first time around.
They're separate changes and are good as separate patches.
signature.asc
Description: PGP signature
