| From u.kleine-koenig@pengutronix.de Tue Jul 14 18:58:26 2020 |
| From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> |
| Date: Fri, 10 Jul 2020 12:27:58 +0200 |
| Subject: pwm: jz4740: Fix build failure |
| To: stable@vger.kernel.org |
| Cc: "H. Nikolaus Schaller" <hns@goldelico.com>, Paul Cercueil <paul@crapouillou.net>, Thierry Reding <thierry.reding@gmail.com>, linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org, letux-kernel@openphoenux.org, linux-mips@vger.kernel.org, tsbogend@alpha.franken.de |
| Message-ID: <20200710102758.8341-1-u.kleine-koenig@pengutronix.de> |
| |
| From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de> |
| |
| When commit 9017dc4fbd59 ("pwm: jz4740: Enhance precision in calculation |
| of duty cycle") from v5.8-rc1 was backported to v5.4.x its dependency on |
| commit ce1f9cece057 ("pwm: jz4740: Use clocks from TCU driver") was not |
| noticed which made the pwm-jz4740 driver fail to build. |
| |
| As ce1f9cece057 depends on still more rework, just backport a small part |
| of this commit to make the driver build again. (There is no dependency |
| on the functionality introduced in ce1f9cece057, just the rate variable |
| is needed.) |
| |
| Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
| Reported-by: H. Nikolaus Schaller <hns@goldelico.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/pwm/pwm-jz4740.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/pwm/pwm-jz4740.c |
| +++ b/drivers/pwm/pwm-jz4740.c |
| @@ -92,11 +92,12 @@ static int jz4740_pwm_apply(struct pwm_c |
| { |
| struct jz4740_pwm_chip *jz4740 = to_jz4740(pwm->chip); |
| unsigned long long tmp; |
| - unsigned long period, duty; |
| + unsigned long rate, period, duty; |
| unsigned int prescaler = 0; |
| uint16_t ctrl; |
| |
| - tmp = (unsigned long long)clk_get_rate(jz4740->clk) * state->period; |
| + rate = clk_get_rate(jz4740->clk); |
| + tmp = rate * state->period; |
| do_div(tmp, 1000000000); |
| period = tmp; |
| |