[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191016101539.GC1303817@ulmo>
Date: Wed, 16 Oct 2019 12:15:39 +0200
From: Thierry Reding <thierry.reding@...il.com>
To: Guru Das Srinagesh <gurus@...eaurora.org>
Cc: linux-pwm@...r.kernel.org, kernel-team@...roid.com,
Mark Salyzyn <salyzyn@...gle.com>,
Sandeep Patil <sspatil@...gle.com>,
Subbaraman Narayanamurthy <subbaram@...eaurora.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] pwm: Convert period and duty cycle to u64
On Tue, Oct 15, 2019 at 07:11:39PM -0700, Guru Das Srinagesh wrote:
> Because period and duty cycle are defined as ints with units of
> nanoseconds, the maximum time duration that can be set is limited to
> ~2.147 seconds. Change their definitions to u64 so that higher durations
> may be set.
>
> Signed-off-by: Guru Das Srinagesh <gurus@...eaurora.org>
> ---
> drivers/pwm/core.c | 4 ++--
> drivers/pwm/sysfs.c | 10 +++++-----
> include/linux/pwm.h | 16 ++++++++--------
> 3 files changed, 15 insertions(+), 15 deletions(-)
Actually, we can't do that without further preparatory work. The reason
is that consumers use the period and duty_cycle members in computations
of their own, which lead to errors such as this:
armv7l-unknown-linux-gnueabihf-ld: drivers/video/backlight/pwm_bl.o: in function `pwm_backlight_probe':
pwm_bl.c:(.text+0x3b0): undefined reference to `__aeabi_uldivmod'
So I think we need to audit all consumers carefully and make sure that
they use do_div() where necessary to avoid such errors.
Thierry
Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)
Powered by blists - more mailing lists