Skip to content

Commit aa8f351

Browse files
ojedaUwe Kleine-König
authored andcommitted
pwm: th1520: fix CLIPPY=1 warning
The Rust kernel code should be kept `CLIPPY=1`-clean [1]. Clippy reports: error: this pattern reimplements `Option::unwrap_or` --> drivers/pwm/pwm_th1520.rs:64:5 | 64 | / (match ns.checked_mul(rate_hz) { 65 | | Some(product) => product, 66 | | None => u64::MAX, 67 | | }) / NSEC_PER_SEC_U64 | |______^ help: replace with: `ns.checked_mul(rate_hz).unwrap_or(u64::MAX)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#manual_unwrap_or = note: `-D clippy::manual-unwrap-or` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(clippy::manual_unwrap_or)]` Applying the suggestion then triggers: error: manual saturating arithmetic --> drivers/pwm/pwm_th1520.rs:64:5 | 64 | ns.checked_mul(rate_hz).unwrap_or(u64::MAX) / NSEC_PER_SEC_U64 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `saturating_mul`: `ns.saturating_mul(rate_hz)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#manual_saturating_arithmetic = note: `-D clippy::manual-saturating-arithmetic` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(clippy::manual_saturating_arithmetic)]` Thus fix it by using saturating arithmetic, which simplifies the code as well. Link: https://rust-for-linux.com/contributing#submit-checklist-addendum [1] Fixes: e03724a ("pwm: Add Rust driver for T-HEAD TH1520 SoC") Signed-off-by: Miguel Ojeda <ojeda@kernel.org> Reviewed-by: Danilo Krummrich <dakr@kernel.org> Reviewed-by: Michal Wilczynski <m.wilczynski@samsung.com> Link: https://patch.msgid.link/20260121183719.71659-1-ojeda@kernel.org Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
1 parent 8ab1fc9 commit aa8f351

1 file changed

Lines changed: 1 addition & 4 deletions

File tree

drivers/pwm/pwm_th1520.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,7 @@ const TH1520_PWM_REG_SIZE: usize = 0xB0;
6464
fn ns_to_cycles(ns: u64, rate_hz: u64) -> u64 {
6565
const NSEC_PER_SEC_U64: u64 = time::NSEC_PER_SEC as u64;
6666

67-
(match ns.checked_mul(rate_hz) {
68-
Some(product) => product,
69-
None => u64::MAX,
70-
}) / NSEC_PER_SEC_U64
67+
ns.saturating_mul(rate_hz) / NSEC_PER_SEC_U64
7168
}
7269

7370
fn cycles_to_ns(cycles: u64, rate_hz: u64) -> u64 {

0 commit comments

Comments
 (0)