Re: [PATCH v3 0/7] pwm: rockchip: Eliminate potential race condition when probing【请注意,邮件由kever.yang at gmail.com代发】
David Wu
david.wu at rock-chips.com
Tue Jan 5 06:26:16 EST 2021
Hi Simon,
This series of patches are okay for me, simplify to read pwm
register to check pwm whether it is enabled. So,
Revieded-by: David Wu <david.wu at rock-chips.com>
在 2020/12/25 下午3:10, Kever Yang 写道:
> + David and Steven,
>
> Hi Steven,
> please help to review this patch set.
>
> Thanks
> - Kever
> Simon South <simon at simonsouth.net <mailto:simon at simonsouth.net>> 于2020
> 年12月24日周四 上午12:01写道:
>
> This patch series aims to eliminate the race condition Trent Piepho
> identified[0] in the Rockchip PWM driver's rockchip_pwm_probe()
> function, by moving code that checks whether a device is enabled ahead
> of the code that registers it via pwmchip_add().
>
> It has grown to include a number of other small fixes and improvements
> to the driver. It now also
>
> - Fixes a potential kernel hang introduced by my earlier commit
> 457f74abbed0 ("pwm: rockchip: Keep enabled PWMs running while
> probing") by ensuring a device's APB clock is enabled before its
> registers are accessed;
>
> - Removes a superfluous call to clk_unprepare() that could result in
> warnings from the kernel;
>
> - Clarifies the driver's error messages by replacing "bus clk" with
> "PWM clk";
>
> - Removes the now-unneeded goto targets from rockchip_pwm_probe();
>
> - Tries to improve rockchip_pwm_probe() by having it enable the signal
> clock of only PWM devices that are already running; and
>
> - Ensures the driver enables a clock before querying its rate with
> clk_get_rate(), as stated as a requirement in that function's
> documentation.
>
> The first patch ("Enable APB clock...") is unchanged from version 2.
>
> New in version 3 are
>
> - Finer patch granularity, with patches 2 and 5 added to clarify
> changes included with others in v2;
>
> - A rewritten patch 6 ("Enable PWM clock...") with a smaller change
> and the use of if...else in place of a ternary operator;
>
> - Patches 3 and 7 with fixes suggested by Robin Murphy and Uwe
> Kleine-König; and
>
> - Rewritten and (hopefully) more accurate commit messages.
>
> I've tested these changes on my (RK3399-based) Pinebook Pro with its
> screen backlight enabled by U-Boot and each one appears to work fine.
>
> I'd (still) be grateful for help with testing on other devices,
> particularly those with SoCs like the RK3328 that use separate bus and
> signal clocks for their PWM devices. (My ROCK64 uses its PWM-output
> pins for other purposes and wasn't of help here.)
>
> [0] https://www.spinics.net/lists/linux-pwm/msg14611.html
>
> --
> Simon South
> simon at simonsouth.net <mailto:simon at simonsouth.net>
>
>
> Simon South (7):
> pwm: rockchip: Enable APB clock during register access while probing
> pwm: rockchip: rockchip_pwm_probe(): Remove superfluous
> clk_unprepare()
> pwm: rockchip: Replace "bus clk" with "PWM clk"
> pwm: rockchip: Eliminate potential race condition when probing
> pwm: rockchip: rockchip_pwm_probe(): Remove unneeded goto target
> pwm: rockchip: Enable PWM clock of probed device only if running
> pwm: rockchip: Enable clock before calling clk_get_rate()
>
> drivers/pwm/pwm-rockchip.c | 64 ++++++++++++++++++++++++--------------
> 1 file changed, 40 insertions(+), 24 deletions(-)
>
> --
> 2.29.2
>
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip at lists.infradead.org
> <mailto:Linux-rockchip at lists.infradead.org>
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>
More information about the linux-arm-kernel
mailing list