mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
pwm: Add actual hardware state to pwm debugfs file
Traditionally /sys/kernel/debug/pwm only contained info from pwm->state. Most of the time this data represents the last requested setting which might differ considerably from the actually configured in hardware setting. Expand the information in the debugfs file with the actual values. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com> Reviewed-by: Trevor Gamblin <tgamblin@baylibre.com> Link: https://lore.kernel.org/r/20250404104844.543479-2-u.kleine-koenig@baylibre.com Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
This commit is contained in:
parent
7cfe1e208b
commit
461d68d43d
|
|
@ -2221,25 +2221,28 @@ static void pwm_dbg_show(struct pwm_chip *chip, struct seq_file *s)
|
|||
|
||||
for (i = 0; i < chip->npwm; i++) {
|
||||
struct pwm_device *pwm = &chip->pwms[i];
|
||||
struct pwm_state state;
|
||||
struct pwm_state state, hwstate;
|
||||
|
||||
pwm_get_state(pwm, &state);
|
||||
pwm_get_state_hw(pwm, &hwstate);
|
||||
|
||||
seq_printf(s, " pwm-%-3d (%-20.20s):", i, pwm->label);
|
||||
|
||||
if (test_bit(PWMF_REQUESTED, &pwm->flags))
|
||||
seq_puts(s, " requested");
|
||||
|
||||
if (state.enabled)
|
||||
seq_puts(s, " enabled");
|
||||
seq_puts(s, "\n");
|
||||
|
||||
seq_printf(s, " period: %llu ns", state.period);
|
||||
seq_printf(s, " duty: %llu ns", state.duty_cycle);
|
||||
seq_printf(s, " polarity: %s",
|
||||
seq_printf(s, " requested configuration: %3sabled, %llu/%llu ns, %s polarity",
|
||||
state.enabled ? "en" : "dis", state.duty_cycle, state.period,
|
||||
state.polarity ? "inverse" : "normal");
|
||||
|
||||
if (state.usage_power)
|
||||
seq_puts(s, " usage_power");
|
||||
seq_puts(s, ", usage_power");
|
||||
seq_puts(s, "\n");
|
||||
|
||||
seq_printf(s, " actual configuration: %3sabled, %llu/%llu ns, %s polarity",
|
||||
hwstate.enabled ? "en" : "dis", hwstate.duty_cycle, hwstate.period,
|
||||
hwstate.polarity ? "inverse" : "normal");
|
||||
|
||||
seq_puts(s, "\n");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user