linux/drivers/pwm
Uwe Kleine-König 23f96f86de pwm: sti: Fix capture for st,pwm-num-chan < st,capture-num-chan
[ Upstream commit 5f62383558 ]

The driver only used the number of pwm channels to set the pwm_chip's
npwm member. The result is that if there are more capture channels than
PWM channels specified in the device tree, only a part of the capture
channel is usable. Fix that by passing the bigger channel count to the
pwm framework. This makes it possible that the .apply() callback is
called with .hwpwm >= pwm_num_devs, catch that case and return an error
code.

Fixes: c97267ae83 ("pwm: sti: Add PWM capture callback")
Link: https://lore.kernel.org/r/20240204212043.2951852-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-03-26 18:20:34 -04:00
..
core.c pwm: Fix out-of-bounds access in of_pwm_single_xlate() 2024-01-25 15:27:42 -08:00
Kconfig pwm: Add clock based PWM output driver 2022-07-29 13:41:18 +02:00
Makefile pwm: Add clock based PWM output driver 2022-07-29 13:41:18 +02:00
pwm-ab8500.c pwm: ab8500: Fix error code in probe() 2023-07-19 16:21:59 +02:00
pwm-atmel-hlcdc.c pwm: atmel-hlcdc: Fix clock imbalance related to suspend support 2024-03-26 18:20:33 -04:00
pwm-atmel-tcb.c pwm: atmel-tcb: Fix resource freeing in error path and remove 2023-09-19 12:27:59 +02:00
pwm-atmel.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-bcm-iproc.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-bcm-kona.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
pwm-bcm2835.c pwm: Simplify all drivers with explicit of_pwm_n_cells = 3 2021-05-25 18:19:15 +02:00
pwm-berlin.c pwm: berlin: Ensure configuring period and duty_cycle isn't wrongly skipped 2021-07-08 16:09:17 +02:00
pwm-brcmstb.c pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume 2023-11-20 11:52:15 +01:00
pwm-clk.c pwm: Add clock based PWM output driver 2022-07-29 13:41:18 +02:00
pwm-clps711x.c pwm: clps71xx: Implement .apply() callback 2022-04-22 18:52:30 +02:00
pwm-crc.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-cros-ec.c pwm: cros-ec: Explicitly set .polarity in .get_state() 2023-04-13 16:55:18 +02:00
pwm-dwc.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-ep93xx.c pwm: ep93xx: Simplify using devm_pwmchip_add() 2021-09-02 21:38:41 +02:00
pwm-fsl-ftm.c pwm: fsl-ftm: Simplify using devm_pwmchip_add() 2021-09-02 21:38:41 +02:00
pwm-hibvt.c pwm: hibvt: Explicitly set .polarity in .get_state() 2023-04-13 16:55:18 +02:00
pwm-img.c pwm: img: Rename variable pointing to driver private data 2022-02-02 17:06:05 +01:00
pwm-imx-tpm.c pwm: imx-tpm: force 'real_period' to be zero in suspend 2023-07-19 16:21:59 +02:00
pwm-imx1.c pwm: imx1: Implement .apply callback 2022-02-02 17:05:19 +01:00
pwm-imx27.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-intel-lgm.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-iqs620a.c pwm: iqs620a: Explicitly set .polarity in .get_state() 2023-04-13 16:55:19 +02:00
pwm-jz4740.c pwm: jz4740: Don't use dev_err_probe() in .request() 2024-01-25 15:27:42 -08:00
pwm-keembay.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-lp3943.c pwm: lp3943: Implement .apply() callback 2022-04-22 18:43:09 +02:00
pwm-lpc18xx-sct.c pwm: lpc18xx: Fix period handling 2022-07-29 13:41:18 +02:00
pwm-lpc32xx.c pwm: lpc32xx: Remove handling of PWM channels 2023-09-19 12:28:00 +02:00
pwm-lpss-pci.c pwm: lpss: Use DEFINE_RUNTIME_DEV_PM_OPS() and pm_ptr() macros 2022-09-28 16:18:57 +02:00
pwm-lpss-platform.c pwm: lpss: Use device_get_match_data() to get device data 2022-09-28 16:18:11 +02:00
pwm-lpss.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-lpss.h pwm: lpss: Add a comment to the bypass field 2022-09-28 16:21:46 +02:00
pwm-mediatek.c pwm: mediatek: always use bus clock for PWM on MT7622 2022-12-31 13:32:51 +01:00
pwm-meson.c pwm: meson: fix handling of period/duty if greater than UINT_MAX 2023-07-23 13:49:46 +02:00
pwm-mtk-disp.c pwm: mtk_disp: Fix the disable flow of disp_pwm 2023-07-19 16:21:59 +02:00
pwm-mxs.c pwm: mxs: Simplify using devm_pwmchip_add() 2021-09-02 21:38:45 +02:00
pwm-ntxec.c pwm: ntxec: Simplify using devm_pwmchip_add() 2021-09-02 21:38:46 +02:00
pwm-omap-dmtimer.c pwm: omap-dmtimer: Don't check the return code of pwmchip_remove() 2021-09-02 21:38:52 +02:00
pwm-pca9685.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-pxa.c pwm: pxa: Implement .apply() callback 2022-02-02 18:03:05 +01:00
pwm-raspberrypi-poe.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-rcar.c pwm: rcar: Simplify multiplication/shift logic 2022-02-24 15:14:56 +01:00
pwm-renesas-tpu.c pwm: renesas-tpu: Improve precision of period and duty_cycle calculation 2022-05-20 16:18:40 +02:00
pwm-rockchip.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-samsung.c pwm: samsung: Implement .apply() callback 2022-05-20 15:59:34 +02:00
pwm-sifive.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-sl28cpld.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-spear.c pwm: spear: Ensure configuring period and duty_cycle isn't wrongly skipped 2021-07-08 16:08:38 +02:00
pwm-sprd.c pwm: sprd: Explicitly set .polarity in .get_state() 2023-04-13 16:55:19 +02:00
pwm-sti.c pwm: sti: Fix capture for st,pwm-num-chan < st,capture-num-chan 2024-03-26 18:20:34 -04:00
pwm-stm32-lp.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-stm32.c pwm: stm32: Fix enable count for clk in .probe() 2024-01-25 15:27:37 -08:00
pwm-stmpe.c pwm: stmpe: Implement .apply() callback 2022-05-20 16:28:35 +02:00
pwm-sun4i.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-sunplus.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-tegra.c pwm: tegra: Fix 32 bit build 2022-12-31 13:33:12 +01:00
pwm-tiecap.c pwm: tiecap: Simplify using devm_pwmchip_add() 2021-09-02 21:38:48 +02:00
pwm-tiehrpwm.c pwm: tiehrpwm: Implement .apply() callback 2022-02-24 13:52:59 +01:00
pwm-twl-led.c pwm: twl-led: Document some limitations and link to the reference manual 2022-07-29 13:41:18 +02:00
pwm-twl.c pwm: twl: Implement .apply() callback 2021-11-17 17:12:42 +01:00
pwm-visconti.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
pwm-vt8500.c pwm: vt8500: Rename variable pointing to driver private data 2022-02-24 14:35:20 +01:00
pwm-xilinx.c pwm: Make .get_state() callback return an error code 2023-04-13 16:55:18 +02:00
sysfs.c pwm: sysfs: Do not apply state to already disabled PWMs 2023-07-19 16:21:59 +02:00