summaryrefslogtreecommitdiff
path: root/drivers/pwm
diff options
context:
space:
mode:
authorMarkus Probst <markus.probst@posteo.de>2025-12-02 18:17:52 +0000
committerUwe Kleine-König <ukleinek@kernel.org>2026-01-20 18:38:05 +0100
commit85a5ffbd56b236e96a7a22a631f9febf36d7ead5 (patch)
tree396ca6eb22cff8c927555515a9236c97a0abfae8 /drivers/pwm
parent5025569cb63060255834c95ab3779905aecf67b0 (diff)
downloadlwn-85a5ffbd56b236e96a7a22a631f9febf36d7ead5.tar.gz
lwn-85a5ffbd56b236e96a7a22a631f9febf36d7ead5.zip
rust: pwm: Add UnregisteredChip wrapper around Chip
The `pwm::Registration::register` function provides no guarantee that the function isn't called twice with the same pwm chip, which is considered unsafe. Add `pwm::UnregisteredChip` as wrapper around `pwm::Chip`. Implement `pwm::UnregisteredChip::register` for the registration. This function takes ownership of `pwm::UnregisteredChip` and therefore guarantees that the registration can't be called twice on the same pwm chip. Signed-off-by: Markus Probst <markus.probst@posteo.de> Tested-by: Michal Wilczynski <m.wilczynski@samsung.com> Acked-by: Michal Wilczynski <m.wilczynski@samsung.com> Link: https://patch.msgid.link/20251202-pwm_safe_register-v2-1-7a2e0d1e287f@posteo.de [ukleinek: fixes a typo that Michal pointed out during review] Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
Diffstat (limited to 'drivers/pwm')
-rw-r--r--drivers/pwm/pwm_th1520.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pwm/pwm_th1520.rs b/drivers/pwm/pwm_th1520.rs
index e3b7e77356fc..71b80761ec31 100644
--- a/drivers/pwm/pwm_th1520.rs
+++ b/drivers/pwm/pwm_th1520.rs
@@ -372,7 +372,7 @@ impl platform::Driver for Th1520PwmPlatformDriver {
}),
)?;
- pwm::Registration::register(dev, chip)?;
+ chip.register()?;
Ok(Th1520PwmPlatformDriver)
}