OpenCloudOS-Kernel/drivers/pwm
Uwe Kleine-König e326c0d888 pwm: sti: Fix capture for st,pwm-num-chan < st,capture-num-chan
[ Upstream commit 5f623835584f1c8d1030666796f40c47a448ce0b ]

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>
2024-03-26 18:19:27 -04:00
..
Kconfig mfd: rz-mtu3: Link time dependencies 2023-08-18 21:48:04 +01:00
Makefile pwm: Add Renesas RZ/G2L MTU3a PWM driver 2023-06-23 15:46:29 +02:00
core.c pwm: Fix out-of-bounds access in of_pwm_single_xlate() 2024-01-25 15:35:46 -08:00
pwm-ab8500.c pwm: ab8500: Fix error code in probe() 2023-06-23 15:43:49 +02:00
pwm-apple.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-atmel-hlcdc.c pwm: atmel-hlcdc: Fix clock imbalance related to suspend support 2024-03-26 18:19:26 -04:00
pwm-atmel-tcb.c pwm: atmel-tcb: Don't track polarity in driver data 2023-07-28 09:34:44 +02:00
pwm-atmel.c pwm: atmel: Simplify using devm functions 2023-07-28 10:15:44 +02:00
pwm-bcm-iproc.c pwm: bcm-iproc: Convert to platform remove callback returning void 2023-03-30 16:26:24 +02:00
pwm-bcm-kona.c pwm: bcm-kona: Consistently name pwm_chip variables "chip" 2023-07-21 20:23:31 +02:00
pwm-bcm2835.c pwm: bcm2835: Convert to platform remove callback returning void 2023-03-30 16:26:25 +02:00
pwm-berlin.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-brcmstb.c pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume 2023-11-20 11:59:34 +01:00
pwm-clk.c pwm: clk: Use the devm_clk_get_prepared() helper function 2023-06-23 15:34:33 +02:00
pwm-clps711x.c pwm: clps71xx: Implement .apply() callback 2022-04-22 18:52:30 +02:00
pwm-crc.c pwm: crc: Consistently name pwm_chip variables "chip" 2023-07-21 20:23:31 +02:00
pwm-cros-ec.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-dwc.c pwm: dwc: Use devm_pwmchip_add() 2023-02-20 12:26:35 +01:00
pwm-ep93xx.c pwm: ep93xx: Simplify using devm_pwmchip_add() 2021-09-02 21:38:41 +02:00
pwm-fsl-ftm.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-hibvt.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-img.c pwm: img: Convert to platform remove callback returning void 2023-03-30 16:26:29 +02:00
pwm-imx-tpm.c pwm: imx-tpm: force 'real_period' to be zero in suspend 2023-06-23 15:42:44 +02:00
pwm-imx1.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-imx27.c pwm: imx27: Propagate errors in .get_state() to the caller 2022-12-06 12:46:26 +01:00
pwm-intel-lgm.c pwm: Make .get_state() callback return an error code 2022-12-06 12:46:22 +01:00
pwm-iqs620a.c pwm: iqs620a: Explicitly set .polarity in .get_state() 2023-03-23 14:44:41 +01:00
pwm-jz4740.c pwm: jz4740: Don't use dev_err_probe() in .request() 2024-01-25 15:35:46 -08:00
pwm-keembay.c pwm: Make .get_state() callback return an error code 2022-12-06 12:46:22 +01:00
pwm-lp3943.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-lpc18xx-sct.c pwm: lpc18xx-sct: Simplify using devm_clk_get_enabled() 2023-07-28 09:38:04 +02:00
pwm-lpc32xx.c pwm: lpc32xx: Remove handling of PWM channels 2023-08-22 10:14:16 +02:00
pwm-lpss-pci.c pwm: lpss: Rename pwm_lpss_probe() --> devm_pwm_lpss_probe() 2022-11-22 16:36:27 +02:00
pwm-lpss-platform.c pwm: lpss-platform: Convert to platform remove callback returning void 2023-03-30 16:26:32 +02:00
pwm-lpss.c pwm: Changes for v6.2-rc1 2022-12-21 09:41:28 -08:00
pwm-lpss.h pwm: lpss: Allow other drivers to enable PWM LPSS 2022-11-22 16:36:27 +02:00
pwm-mediatek.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-meson.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-microchip-core.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-mtk-disp.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +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: Use device_set_of_node_from_dev() 2023-07-28 09:39:02 +02:00
pwm-omap-dmtimer.c pwm: omap-dmtimer: Convert to platform remove callback returning void 2023-03-30 16:26:33 +02:00
pwm-pca9685.c pwm: pca9685: Switch i2c driver back to use .probe() 2023-06-23 15:44:00 +02:00
pwm-pxa.c pwm: pxa: Don't reimplement of_device_get_match_data() 2023-07-28 09:38:18 +02:00
pwm-raspberrypi-poe.c pwm: Make .get_state() callback return an error code 2022-12-06 12:46:22 +01:00
pwm-rcar.c pwm: rcar: Drop of_match_ptr for ID table 2023-04-06 15:41:24 +02: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: rockchip: Consistently name pwm_chip variables "chip" 2023-07-21 20:23:31 +02:00
pwm-rz-mtu3.c pwm: rz-mtu3: Fix build warning 'num_channel_ios' not described 2023-07-28 09:24:43 +02:00
pwm-samsung.c pwm: samsung: Convert to platform remove callback returning void 2023-03-30 16:26:34 +02:00
pwm-sifive.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-sl28cpld.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-spear.c pwm: spear: Convert to platform remove callback returning void 2023-03-30 16:26:35 +02:00
pwm-sprd.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-sti.c pwm: sti: Fix capture for st,pwm-num-chan < st,capture-num-chan 2024-03-26 18:19:27 -04:00
pwm-stm32-lp.c pwm: stm32-lp: Drop of_match_ptr for ID table 2023-04-06 15:42:22 +02:00
pwm-stm32.c pwm: stm32: Fix enable count for clk in .probe() 2024-01-25 15:35:39 -08:00
pwm-stmpe.c pwm: stmpe: Handle errors when disabling the signal 2023-07-28 09:49:18 +02:00
pwm-sun4i.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-sunplus.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-tegra.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-tiecap.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-tiehrpwm.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02: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: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-vt8500.c pwm: Explicitly include correct DT includes 2023-07-24 13:28:05 +02:00
pwm-xilinx.c pwm: xilinx: Convert to platform remove callback returning void 2023-03-30 16:26:40 +02:00
sysfs.c pwm: sysfs: Do not apply state to already disabled PWMs 2023-06-23 15:42:58 +02:00