FAILED: patch "[PATCH] pwm: meson: modify and simplify calculation in" failed to apply to 5.10-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.10.y
git checkout FETCH_HEAD
git cherry-pick -x 6b9352f3f8a1a35faf0efc1ad1807ee303467796
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023072119-angling-cryptic-51ea@gregkh' --subject-prefix 'PATCH 5.10.y' HEAD^..
Possible dependencies:
6b9352f3f8a1 ("pwm: meson: modify and simplify calculation in meson_pwm_get_state")6c452cff79f8 ("pwm: Make .get_state() callback return an error code")8eca6b0a647a ("Merge tag 'pwm/for-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 6b9352f3f8a1a35faf0efc1ad1807ee303467796 Mon Sep 17 00:00:00 2001
From: Heiner Kallweit <[email protected]>
Date: Wed, 24 May 2023 21:47:43 +0200
Subject: [PATCH] pwm: meson: modify and simplify calculation in
meson_pwm_get_state
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
I don't see a reason why we should treat the case lo < hi differently and return 0 as period and duty_cycle. The current logic was added with c375bcbaabdb ("pwm: meson: Read the full hardware state in meson_pwm_get_state()"), Martin as original author doesn't remember why it was implemented this way back then.
So let's handle it as normal use case and also remove the optimization for lo == 0. I think the improved readability is worth it.
drivers/pwm/pwm-meson.c +2 -12
@@ -351,18 +351,8 @@ static int meson_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm, channel->lo =FIELD_GET (PWM_LOW_MASK , value); channel->hi =FIELD_GET (PWM_HIGH_MASK , value); -if (channel->lo ==0 ) { - state->period =meson_pwm_cnt_to_ns (chip, pwm, channel->hi); - state->duty_cycle = state->period; - }else if (channel->lo >= channel->hi) { - state->period =meson_pwm_cnt_to_ns (chip, pwm, - channel->lo + channel->hi); - state->duty_cycle =meson_pwm_cnt_to_ns (chip, pwm, - channel->hi); - }else { - state->period =0 ; - state->duty_cycle =0 ; - } + state->period =meson_pwm_cnt_to_ns (chip, pwm, channel->lo + channel->hi); + state->duty_cycle =meson_pwm_cnt_to_ns (chip, pwm, channel->hi); state->polarity =PWM_POLARITY_NORMAL ;