Message ID | cover.1722261050.git.u.kleine-koenig@baylibre.com |
---|---|
Headers | show |
Series | pwm: New abstraction and userspace API | expand |
On Mon, Jul 29, 2024 at 04:34:16PM +0200, Uwe Kleine-König wrote: > Hello, > > here comes v3 of the series to add support for duty offset in PWM > waveforms. For a single PWM output there is no gain, but if you have a > chip with two (or more) outputs and both operate with the same period, > you can generate an output like: > > > ______ ______ ______ ______ > PWM #0 ___/ \_______/ \_______/ \_______/ \_______ > __ __ __ __ > PWM #1 _____/ \___________/ \___________/ \___________/ \_________ > ^ ^ ^ ^ > > Changes since v2, which is available from > https://lore.kernel.org/linux-pwm/cover.1721040875.git.u.kleine-koenig@baylibre.com > include: > > - Degrade a dev_alert() to dev_warn() on feedback by David Lechner > > - Improvement of various comments (partly in reply to David Lechner) > > - Add _ns suffixes for members of pwm_waveform, thanks David for that suggestion. > > - Rebased to v6.11-rc1 + pwm/for-next. > > Because of these changes I didn't add Trevor's Reviewed-by tag for patch > #3. > > I kept the BUG_ONs. There are a few check_patch warnings about it, but I still > prefer these given that it is safe they don't trigger without further (bogus) > code changes and when they trigger crashing early is better than stack > corruption. Also checkpatch tells > WARNING: Comparisons should place the constant on the right side of the test > #158: FILE: drivers/pwm/core.c:262: > + BUG_ON(WFHWSIZE < ops->sizeof_wfhw); > > But as the BUG_ON is about WFHWSIZE being wrong, this order is OK. > > There are a few more checkpatch warnings about line lengths. Breaking > the criticised lines further hurts readability IMHO, so I kept them. It > gets a bit better once stm32_pwm_mul_u64_u64_div_u64_roundup() is > implemented (without the stm32_pwm prefix) alongside > mul_u64_u64_div_u64() in lib/math/div64.c, but I don't want to wait for > that. I will address that once Nicolas's patch improving precision of > mul_u64_u64_div_u64() landed. (Hmm, it's not in next any more since > next-20240724, before it was 3cc8bf1a81efde105d8e57398cf8554b57768777 + > dbbe95af0fad2a9d22a4b910cfc4b87949d61a3c). > > Best regards > Uwe > > Uwe Kleine-König (8): > pwm: Simplify pwm_capture() > pwm: Add more locking > pwm: New abstraction for PWM waveforms > pwm: Provide new consumer API functions for waveforms > pwm: Add support for pwmchip devices for faster and easier userspace > access > pwm: Add tracing for waveform callbacks > pwm: axi-pwmgen: Implementation of the waveform callbacks > pwm: stm32: Implementation of the waveform callbacks I applied patch #1 which is a harmless cleanup for now. I will wait a bit for the rest of the series, as during August I won't be able to react to fall-outs reliably and quickly. I plan to apply this series with PWM_IOCTL_GET_NUM_PWMS dropped directly after the next merge window for cooking in next as long as possible. Best regards Uwe