summaryrefslogtreecommitdiff
path: root/rust/kernel/pwm.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/kernel/pwm.rs')
-rw-r--r--rust/kernel/pwm.rs56
1 files changed, 1 insertions, 55 deletions
diff --git a/rust/kernel/pwm.rs b/rust/kernel/pwm.rs
index 6f2f78c687d5..b19661b83b0f 100644
--- a/rust/kernel/pwm.rs
+++ b/rust/kernel/pwm.rs
@@ -15,38 +15,7 @@ use crate::{
prelude::*,
types::{ARef, AlwaysRefCounted, Opaque},
};
-use core::{convert::TryFrom, marker::PhantomData, ptr::NonNull};
-
-/// PWM polarity. Mirrors [`enum pwm_polarity`](srctree/include/linux/pwm.h).
-#[derive(Copy, Clone, Debug, PartialEq, Eq)]
-pub enum Polarity {
- /// Normal polarity (duty cycle defines the high period of the signal).
- Normal,
-
- /// Inversed polarity (duty cycle defines the low period of the signal).
- Inversed,
-}
-
-impl TryFrom<bindings::pwm_polarity> for Polarity {
- type Error = Error;
-
- fn try_from(polarity: bindings::pwm_polarity) -> Result<Self, Error> {
- match polarity {
- bindings::pwm_polarity_PWM_POLARITY_NORMAL => Ok(Polarity::Normal),
- bindings::pwm_polarity_PWM_POLARITY_INVERSED => Ok(Polarity::Inversed),
- _ => Err(EINVAL),
- }
- }
-}
-
-impl From<Polarity> for bindings::pwm_polarity {
- fn from(polarity: Polarity) -> Self {
- match polarity {
- Polarity::Normal => bindings::pwm_polarity_PWM_POLARITY_NORMAL,
- Polarity::Inversed => bindings::pwm_polarity_PWM_POLARITY_INVERSED,
- }
- }
-}
+use core::{marker::PhantomData, ptr::NonNull};
/// Represents a PWM waveform configuration.
/// Mirrors struct [`struct pwm_waveform`](srctree/include/linux/pwm.h).
@@ -89,22 +58,6 @@ impl From<Waveform> for bindings::pwm_waveform {
}
}
-/// Wrapper for PWM state [`struct pwm_state`](srctree/include/linux/pwm.h).
-#[repr(transparent)]
-pub struct State(bindings::pwm_state);
-
-impl State {
- /// Creates a `State` wrapper by taking ownership of a C `pwm_state` value.
- pub(crate) fn from_c(c_state: bindings::pwm_state) -> Self {
- State(c_state)
- }
-
- /// Returns `true` if the PWM signal is enabled.
- pub fn enabled(&self) -> bool {
- self.0.enabled
- }
-}
-
/// Describes the outcome of a `round_waveform` operation.
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum RoundingOutcome {
@@ -164,13 +117,6 @@ impl Device {
Some(unsafe { CStr::from_char_ptr(label_ptr) })
}
- /// Gets a copy of the current state of this PWM device.
- pub fn state(&self) -> State {
- // SAFETY: `self.as_raw()` gives a valid pointer. `(*self.as_raw()).state`
- // is a valid `pwm_state` struct. `State::from_c` copies this data.
- State::from_c(unsafe { (*self.as_raw()).state })
- }
-
/// Sets the PWM waveform configuration and enables the PWM signal.
pub fn set_waveform(&self, wf: &Waveform, exact: bool) -> Result {
let c_wf = bindings::pwm_waveform::from(*wf);