aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pwm/pwm-imx-tpm.c
diff options
context:
space:
mode:
authorPaolo Bonzini <[email protected]>2024-11-14 12:06:24 +0000
committerPaolo Bonzini <[email protected]>2024-11-14 12:06:24 +0000
commit0586ade9e7f9491ccbe1e00975978cb9c2093006 (patch)
tree3dbb536e37d3e86086bd51dcee4bf81041bac087 /drivers/pwm/pwm-imx-tpm.c
parentMerge tag 'kvmarm-6.13' of https://git.kernel.org/pub/scm/linux/kernel/git/kv... (diff)
parentirqchip/loongson-eiointc: Add virt extension support (diff)
downloadkernel-0586ade9e7f9491ccbe1e00975978cb9c2093006.tar.gz
kernel-0586ade9e7f9491ccbe1e00975978cb9c2093006.zip
Merge tag 'loongarch-kvm-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson into HEAD
LoongArch KVM changes for v6.13 1. Add iocsr and mmio bus simulation in kernel. 2. Add in-kernel interrupt controller emulation. 3. Add virt extension support for eiointc irqchip.
Diffstat (limited to 'drivers/pwm/pwm-imx-tpm.c')
-rw-r--r--drivers/pwm/pwm-imx-tpm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pwm/pwm-imx-tpm.c b/drivers/pwm/pwm-imx-tpm.c
index 96ea343856f0..7ee7b65b9b90 100644
--- a/drivers/pwm/pwm-imx-tpm.c
+++ b/drivers/pwm/pwm-imx-tpm.c
@@ -106,7 +106,9 @@ static int pwm_imx_tpm_round_state(struct pwm_chip *chip,
p->prescale = prescale;
period_count = (clock_unit + ((1 << prescale) >> 1)) >> prescale;
- p->mod = period_count;
+ if (period_count == 0)
+ return -EINVAL;
+ p->mod = period_count - 1;
/* calculate real period HW can support */
tmp = (u64)period_count << prescale;