[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20211027073204.GA3978@gofer.mess.org>
Date: Wed, 27 Oct 2021 08:32:04 +0100
From: Sean Young <sean@...s.org>
To: Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>
Cc: kernel test robot <lkp@...el.com>,
Maíra Canal <maira.canal@....br>,
mchehab@...nel.org, thierry.reding@...il.com, lee.jones@...aro.org,
llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pwm@...r.kernel.org
Subject: Re: [PATCH v3] media: rc: pwm-ir-tx: Switch to atomic PWM API
On Wed, Oct 27, 2021 at 08:15:52AM +0200, Uwe Kleine-König wrote:
> On Wed, Oct 27, 2021 at 02:07:19PM +0800, kernel test robot wrote:
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@...el.com>
> >
> > All errors (new ones prefixed by >>, old ones prefixed by <<):
> >
> > >> ERROR: modpost: "__udivdi3" [drivers/media/rc/pwm-ir-tx.ko] undefined!
>
> This comes from the line:
>
> state.duty_cycle = DIV_ROUND_CLOSEST(pwm_ir->duty_cycle * state.period, 100);
>
> where DIV_ROUND_CLOSEST expands to a normal division but state.period is
> a u64. So this should use DIV64_U64_ROUND_CLOSEST I guess.
DIV64_U64_ROUND_CLOSEST is for dividing a u64 with a u64. We're dividing
by 100 here so this is not necessary.
It should use DIV_ROUND_CLOSEST_ULL, however it might be nicer to use:
pwm_set_relative_duty_cycle(&state, pwm_ir->duty_cycle, 100);
Thanks
Sean
Powered by blists - more mailing lists