linux/drivers/pwm
Uwe Kleine-König d44d635635 pwm: stm32: Fix for settings using period > UINT32_MAX
stm32_pwm_config() took the duty_cycle and period values with the type
int, however stm32_pwm_apply() passed u64 values there. Expand the
function parameters to u64 to not discard relevant bits and adapt the
calculations to the wider type.

To ensure the calculations won't overflow, check in .probe() the input
clk doesn't run faster than 1 GHz.

Link: https://lore.kernel.org/r/06b4a650a608d0887d934c1b2b8919e0f78e4db2.1710711976.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
2024-04-30 18:57:08 +02:00
..
core.c pwm: Don't check pointer for being non-NULL after use 2024-04-30 18:56:55 +02:00
Kconfig pwm: Move contents of sysfs.c into core.c 2024-04-26 21:29:17 +02:00
Makefile pwm: Move contents of sysfs.c into core.c 2024-04-26 21:29:17 +02:00
pwm-ab8500.c pwm: ab8500: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:19 +01:00
pwm-apple.c pwm: apple: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:19 +01:00
pwm-atmel-hlcdc.c pwm: atmel-hlcdc: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:19 +01:00
pwm-atmel-tcb.c pwm: atmel-tcb: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-atmel.c pwm: atmel: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:19 +01:00
pwm-bcm2835.c pwm: bcm2835: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-bcm-iproc.c pwm: bcm-iproc: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-bcm-kona.c pwm: bcm-kona: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-berlin.c pwm: berlin: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-brcmstb.c pwm: brcmstb: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-clk.c pwm: clk: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:20 +01:00
pwm-clps711x.c pwm: clps711x: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:21 +01:00
pwm-crc.c pwm: crc: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:21 +01:00
pwm-cros-ec.c pwm: cros-ec: Make use of devm_pwmchip_alloc() function 2024-02-15 12:59:21 +01:00
pwm-dwc-core.c pwm: dwc: allow suspend/resume for 16 channels 2024-04-15 17:28:13 +02:00
pwm-dwc.c pwm: dwc: allow suspend/resume for 16 channels 2024-04-15 17:28:13 +02:00
pwm-dwc.h pwm: dwc: allow suspend/resume for 16 channels 2024-04-15 17:28:13 +02:00
pwm-ep93xx.c pwm: ep93xx: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:08 +01:00
pwm-fsl-ftm.c pwm: fsl-ftm: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:09 +01:00
pwm-hibvt.c pwm: hibvt: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:09 +01:00
pwm-img.c pwm: img: fix pwm clock lookup 2024-03-25 07:31:26 +01:00
pwm-imx1.c pwm: imx1: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:09 +01:00
pwm-imx27.c pwm: imx27: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:09 +01:00
pwm-imx-tpm.c pwm: imx-tpm: fix probe crash due to access registers without clock 2024-03-04 11:45:22 +01:00
pwm-intel-lgm.c pwm: intel-lgm: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:10 +01:00
pwm-iqs620a.c pwm: iqs620a: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:10 +01:00
pwm-jz4740.c pwm: jz4740: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:10 +01:00
pwm-keembay.c pwm: keembay: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:10 +01:00
pwm-lp3943.c pwm: lp3943: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:10 +01:00
pwm-lpc18xx-sct.c pwm: lpc18xx-sct: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-lpc32xx.c pwm: lpc32xx: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-lpss-pci.c pwm: lpss-*: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-lpss-platform.c pwm: lpss-*: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-lpss.c pwm: lpss-*: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-lpss.h pwm: lpss-*: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-mediatek.c pwm: mediatek: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:11 +01:00
pwm-meson.c pwm: meson: generalize 4 inputs clock on meson8 pwm type 2024-03-02 11:00:45 +01:00
pwm-microchip-core.c pwm: microchip-core: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:12 +01:00
pwm-mtk-disp.c pwm: mtk-disp: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:12 +01:00
pwm-mxs.c pwm: mxs: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:12 +01:00
pwm-ntxec.c pwm: ntxec: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:12 +01:00
pwm-omap-dmtimer.c pwm: omap-dmtimer: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:12 +01:00
pwm-pca9685.c pwm: pca9685: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:13 +01:00
pwm-pxa.c pwm: pxa: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:13 +01:00
pwm-raspberrypi-poe.c pwm: raspberrypi-poe: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:13 +01:00
pwm-rcar.c pwm: rcar: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:13 +01:00
pwm-renesas-tpu.c pwm: renesas-tpu: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:13 +01:00
pwm-rockchip.c pwm: rockchip: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:14 +01:00
pwm-rz-mtu3.c pwm: rz-mtu3: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:14 +01:00
pwm-samsung.c pwm: samsung: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:14 +01:00
pwm-sifive.c pwm: sifive: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:15 +01:00
pwm-sl28cpld.c pwm: sl28cpld: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:15 +01:00
pwm-spear.c pwm: spear: Make use of devm_pwmchip_alloc() function 2024-02-19 11:04:15 +01:00
pwm-sprd.c pwm: sprd: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:10 +01:00
pwm-sti.c pwm: sti: Prefer local variable over pointer dereference 2024-04-26 21:29:17 +02:00
pwm-stm32-lp.c pwm: stm32-lp: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:25 +01:00
pwm-stm32.c pwm: stm32: Fix for settings using period > UINT32_MAX 2024-04-30 18:57:08 +02:00
pwm-stmpe.c pwm: stmpe: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:25 +01:00
pwm-sun4i.c pwm: sun4i: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:25 +01:00
pwm-sunplus.c pwm: sunplus: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:25 +01:00
pwm-tegra.c pwm: tegra: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:26 +01:00
pwm-tiecap.c pwm: tiecap: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:26 +01:00
pwm-tiehrpwm.c pwm: tiehrpwm: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:26 +01:00
pwm-twl-led.c pwm: twl-led: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:27 +01:00
pwm-twl.c pwm: twl: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:27 +01:00
pwm-visconti.c pwm: visconti: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:27 +01:00
pwm-vt8500.c pwm: vt8500: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:27 +01:00
pwm-xilinx.c pwm: xilinx: Make use of devm_pwmchip_alloc() function 2024-02-22 14:39:28 +01:00