mbox series

[GIT,PULL] pwm: Changes for v5.11-rc1

Message ID 20201218160401.2478999-1-thierry.reding@gmail.com
State Accepted
Headers show
Series [GIT,PULL] pwm: Changes for v5.11-rc1 | expand

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git tags/pwm/for-5.11-rc1

Message

Thierry Reding Dec. 18, 2020, 4:04 p.m. UTC
Hi Linus,

The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec:

  Linux 5.10-rc1 (2020-10-25 15:14:11 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git tags/pwm/for-5.11-rc1

for you to fetch changes up to 6eefb79d6f5bc4086bd02c76f1072dd4a8d9d9f6:

  pwm: sun4i: Remove erroneous else branch (2020-12-17 14:23:49 +0100)

Thanks,
Thierry

----------------------------------------------------------------
pwm: Changes for v5.11-rc1

This is a fairly big release cycle from the PWM framework's point of
view. There's a large patcheset here which converts drivers to use the
new devm_platform_ioremap_resource() helper and a bunch of minor fixes
to existing drivers. Some of the existing drivers also add support for
more hardware, such as Atmel SAMA 5D2 and Mediatek MT8183.

Finally there's a couple of new drivers for Intel Keem Bay and LGM SoCs
as well as the DesignWare PWM controller.

----------------------------------------------------------------
Alexandre Belloni (3):
      dt-bindings: microchip: atmel,at91rm9200-tcb: Add atmel,tcb-pwm
      pwm: atmel-tcb: Switch to new binding
      pwm: atmel-tcb: Add sama5d2 support

Anson Huang (3):
      pwm: imx-tpm: Use dev_err_probe() to simplify error handling
      pwm: imx27: Use dev_err_probe() to simplify error handling
      pwm: imx1: Use dev_err_probe() to simplify error handling

Fabien Parent (4):
      dt-bindings: pwm: pwm-mediatek: Add documentation for MT8183 SoC
      pwm: mediatek: Always use bus clock
      pwm: mediatek: Add MT8183 SoC support
      dt-bindings: pwm: mtk-disp: add MT8167 SoC binding

Grygorii Strashko (1):
      pwm: tiehrpwm: Handle deferred probe with dev_err_probe()

Hans de Goede (3):
      pwm: lpss: Log error from pwm_lpss_is_updating() if the update bit is still set
      pwm: lpss: Use DPM_FLAG_NO_DIRECT_COMPLETE instead of declaring a prepare handler
      pwm: lpss: Set DPM_FLAG_SMART_SUSPEND on Cherry Trail devices

Jarkko Nikula (1):
      pwm: Add DesignWare PWM Controller Driver

Lino Sanfilippo (1):
      pwm: bcm2835: Support apply function for atomic configuration

Lokesh Vutla (1):
      pwm: lp3943: Dynamically allocate PWM chip base

Rahul Tanwar (2):
      Add DT bindings YAML schema for PWM fan controller of LGM SoC
      pwm: Add PWM fan controller driver for LGM SoC

Soham Biswas (1):
      pwm: core: Use octal permission

Thierry Reding (5):
      pwm: sti: Avoid conditional gotos
      pwm: sti: Remove unnecessary blank line
      pwm: Use -EINVAL for unsupported polarity
      pwm: sl28cpld: Set driver data before registering the PWM chip
      pwm: sun4i: Remove erroneous else branch

Uwe Kleine-K├Ânig (8):
      pwm: ab8500: Add error message if pwmchip_add() fails
      pwm: zx: Add missing cleanup in error path
      pwm: ab8500: Explicitly allocate pwm chip base dynamically
      pwm: Fix dependencies on HAS_IOMEM
      pwm: lpss: Make compilable with COMPILE_TEST
      pwm: keembay: Fix build failure with -Os
      pwm: imx27: Fix overflow for bigger periods
      pwm: Remove unused function pwmchip_add_inversed()

Vijayakannan Ayyathurai (2):
      dt-bindings: pwm: keembay: Add bindings for Intel Keem Bay PWM
      pwm: Add PWM driver for Intel Keem Bay

Yangtao Li (31):
      pwm: sun4i: Convert to devm_platform_ioremap_resource()
      pwm: fsl-ftm: Convert to devm_platform_ioremap_resource()
      pwm: rcar: Convert to devm_platform_ioremap_resource()
      pwm: renesas-tpu: Convert to devm_platform_ioremap_resource()
      pwm: ep93xx: Convert to devm_platform_ioremap_resource()
      pwm: tegra: Convert to devm_platform_ioremap_resource()
      pwm: mediatek: Convert to devm_platform_ioremap_resource()
      pwm: sti: Convert to devm_platform_ioremap_resource()
      pwm: pxa: Convert to devm_platform_ioremap_resource()
      pwm: zx: Convert to devm_platform_ioremap_resource()
      pwm: spear: Convert to devm_platform_ioremap_resource()
      pwm: bcm-kona: Convert to devm_platform_ioremap_resource()
      pwm: lpc32xx: Convert to devm_platform_ioremap_resource()
      pwm: meson: Convert to devm_platform_ioremap_resource()
      pwm: rockchip: Convert to devm_platform_ioremap_resource()
      pwm: bcm-iproc: Convert to devm_platform_ioremap_resource()
      pwm: samsung: Convert to devm_platform_ioremap_resource()
      pwm: tiehrpwm: Convert to devm_platform_ioremap_resource()
      pwm: imx: Convert to devm_platform_ioremap_resource()
      pwm: tiecap: Convert to devm_platform_ioremap_resource()
      pwm: bcm2835: Convert to devm_platform_ioremap_resource()
      pwm: berlin: Convert to devm_platform_ioremap_resource()
      pwm: vt8500: Convert to devm_platform_ioremap_resource()
      pwm: brcmstb: Convert to devm_platform_ioremap_resource()
      pwm: mtk-disp: Convert to devm_platform_ioremap_resource()
      pwm: clps711x: Convert to devm_platform_ioremap_resource()
      pwm: img: Convert to devm_platform_ioremap_resource()
      pwm: lpc18xx-sct: Convert to devm_platform_ioremap_resource()
      pwm: hibvt: Convert to devm_platform_ioremap_resource()
      pwm: sifive: Convert to devm_platform_ioremap_resource()
      pwm: atmel: Convert to devm_platform_ioremap_resource()

 .../devicetree/bindings/pwm/atmel-tcb-pwm.txt      |  16 --
 .../devicetree/bindings/pwm/intel,keembay-pwm.yaml |  47 +++
 .../devicetree/bindings/pwm/intel,lgm-pwm.yaml     |  44 +++
 .../devicetree/bindings/pwm/pwm-mediatek.txt       |   1 +
 .../devicetree/bindings/pwm/pwm-mtk-disp.txt       |   1 +
 .../soc/microchip/atmel,at91rm9200-tcb.yaml        |  34 ++-
 drivers/pwm/Kconfig                                |  71 ++++-
 drivers/pwm/Makefile                               |   3 +
 drivers/pwm/core.c                                 |   2 +-
 drivers/pwm/pwm-ab8500.c                           |   4 +-
 drivers/pwm/pwm-atmel-tcb.c                        | 264 ++++++++++-------
 drivers/pwm/pwm-atmel.c                            |   4 +-
 drivers/pwm/pwm-bcm-iproc.c                        |   4 +-
 drivers/pwm/pwm-bcm-kona.c                         |   4 +-
 drivers/pwm/pwm-bcm2835.c                          |  73 ++---
 drivers/pwm/pwm-berlin.c                           |   4 +-
 drivers/pwm/pwm-brcmstb.c                          |   4 +-
 drivers/pwm/pwm-clps711x.c                         |   4 +-
 drivers/pwm/pwm-crc.c                              |   2 +-
 drivers/pwm/pwm-dwc.c                              | 319 +++++++++++++++++++++
 drivers/pwm/pwm-ep93xx.c                           |   4 +-
 drivers/pwm/pwm-fsl-ftm.c                          |   4 +-
 drivers/pwm/pwm-hibvt.c                            |   7 +-
 drivers/pwm/pwm-img.c                              |   4 +-
 drivers/pwm/pwm-imx-tpm.c                          |  10 +-
 drivers/pwm/pwm-imx1.c                             |  25 +-
 drivers/pwm/pwm-imx27.c                            |  28 +-
 drivers/pwm/pwm-intel-lgm.c                        | 244 ++++++++++++++++
 drivers/pwm/pwm-iqs620a.c                          |   2 +-
 drivers/pwm/pwm-keembay.c                          | 245 ++++++++++++++++
 drivers/pwm/pwm-lp3943.c                           |   1 +
 drivers/pwm/pwm-lpc18xx-sct.c                      |   4 +-
 drivers/pwm/pwm-lpc32xx.c                          |   4 +-
 drivers/pwm/pwm-lpss-platform.c                    |  39 ++-
 drivers/pwm/pwm-lpss.c                             |   7 +-
 drivers/pwm/pwm-mediatek.c                         |  23 +-
 drivers/pwm/pwm-meson.c                            |   4 +-
 drivers/pwm/pwm-mtk-disp.c                         |   4 +-
 drivers/pwm/pwm-pxa.c                              |   4 +-
 drivers/pwm/pwm-rcar.c                             |   6 +-
 drivers/pwm/pwm-renesas-tpu.c                      |   4 +-
 drivers/pwm/pwm-rockchip.c                         |   4 +-
 drivers/pwm/pwm-samsung.c                          |   4 +-
 drivers/pwm/pwm-sifive.c                           |   4 +-
 drivers/pwm/pwm-sl28cpld.c                         |   4 +-
 drivers/pwm/pwm-spear.c                            |   4 +-
 drivers/pwm/pwm-sti.c                              |  54 ++--
 drivers/pwm/pwm-sun4i.c                            |  10 +-
 drivers/pwm/pwm-tegra.c                            |   4 +-
 drivers/pwm/pwm-tiecap.c                           |   4 +-
 drivers/pwm/pwm-tiehrpwm.c                         |  16 +-
 drivers/pwm/pwm-vt8500.c                           |   4 +-
 drivers/pwm/pwm-zx.c                               |   5 +-
 include/linux/pwm.h                                |   5 -
 54 files changed, 1307 insertions(+), 393 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/pwm/atmel-tcb-pwm.txt
 create mode 100644 Documentation/devicetree/bindings/pwm/intel,keembay-pwm.yaml
 create mode 100644 Documentation/devicetree/bindings/pwm/intel,lgm-pwm.yaml
 create mode 100644 drivers/pwm/pwm-dwc.c
 create mode 100644 drivers/pwm/pwm-intel-lgm.c
 create mode 100644 drivers/pwm/pwm-keembay.c

Comments

Linus Torvalds Dec. 18, 2020, 8:35 p.m. UTC | #1
On Fri, Dec 18, 2020 at 8:04 AM Thierry Reding <thierry.reding@gmail.com> wrote:
>
> This is a fairly big release cycle from the PWM framework's point of
> view.

Why does all of this have commit dates from the last day?

It clearly cannot have been in linux-next in this form, at least.

I pulled and then unpulled. Don't send me stuff that hasn't been in
next without a _lot_ of explanations for why, most certainly not the
week before Christmas.

            Linus
Thierry Reding Dec. 19, 2020, 12:57 a.m. UTC | #2
On Fri, Dec 18, 2020 at 12:35:09PM -0800, Linus Torvalds wrote:
> On Fri, Dec 18, 2020 at 8:04 AM Thierry Reding <thierry.reding@gmail.com> wrote:
> >
> > This is a fairly big release cycle from the PWM framework's point of
> > view.
> 
> Why does all of this have commit dates from the last day?
> 
> It clearly cannot have been in linux-next in this form, at least.
> 
> I pulled and then unpulled. Don't send me stuff that hasn't been in
> next without a _lot_ of explanations for why, most certainly not the
> week before Christmas.

I didn't realize that this would show up as all new commits. The reason
why this happens is because the first commit in the tree is a fix for an
issue for which Uwe had sent an alternative patch to you directly for
inclusion in v5.10.

After going over the patches again as I was preparing the pull request,
I realized that the commit message was no longer accurate, so I changed
the commit message of the first commit, which then caused all of the
subsequent patches (i.e. all of them) to be rewritten.

The only change that hasn't been in linux-next for at least a week is a
bugfix I merged two days ago. The rest should be identical except for
the commit message on that first commit.

For reference, here's a diff on my for-next branch that the pull request
is based on, compared to what it was like a week ago:

	$ git diff for-next@{8days}..pwm/for-5.11-rc1
	diff --git a/drivers/pwm/pwm-sun4i.c b/drivers/pwm/pwm-sun4i.c
	index cc1eb0818648..ce5c4fc8da6f 100644
	--- a/drivers/pwm/pwm-sun4i.c
	+++ b/drivers/pwm/pwm-sun4i.c
	@@ -294,12 +294,8 @@ static int sun4i_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
	 
		ctrl |= BIT_CH(PWM_CLK_GATING, pwm->hwpwm);
	 
	-       if (state->enabled) {
	+       if (state->enabled)
			ctrl |= BIT_CH(PWM_EN, pwm->hwpwm);
	-       } else {
	-               ctrl &= ~BIT_CH(PWM_EN, pwm->hwpwm);
	-               ctrl &= ~BIT_CH(PWM_CLK_GATING, pwm->hwpwm);
	-       }
	 
		sun4i_pwm_writel(sun4i_pwm, ctrl, PWM_CTRL_REG);
	 

And that corresponds to the topmost patch.

I hope this clarifies things, and sorry for not mentioning this in the
pull request.

Thierry
Linus Torvalds Dec. 19, 2020, 7:51 p.m. UTC | #3
On Fri, Dec 18, 2020 at 4:57 PM Thierry Reding <thierry.reding@gmail.com> wrote:
>
> I didn't realize that this would show up as all new commits. The reason
> why this happens is because the first commit in the tree is a fix for an
> issue for which Uwe had sent an alternative patch to you directly for
> inclusion in v5.10.
>
> After going over the patches again as I was preparing the pull request,
> I realized that the commit message was no longer accurate, so I changed
> the commit message of the first commit, which then caused all of the
> subsequent patches (i.e. all of them) to be rewritten.

Ok, when you do things like this, please mention it in the pull
request so that I can see why history has been changed.

In general, I'm not sure it's worth changing commit messages unless
they are just *horribly* bad. That's a gray area, of course, so
there's no hard rule about when to do it. If it's just "not really
true any more", I'd say let it go. If it's a horrible mess that will
be very misleading if people start looking at that commit, then yeah,
go ahead and fix up it, but remember that you _are_ changing history.

Changing history _can_ have good reasons. But particularly when they
happen just before a pull request, please please PLEASE make it clear
in the pull what happened.

            Linus
pr-tracker-bot@kernel.org Dec. 19, 2020, 9:06 p.m. UTC | #4
The pull request you sent on Fri, 18 Dec 2020 17:04:01 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git tags/pwm/for-5.11-rc1

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/d56154c7e8ba090126a5a2cb76098628bc2216a2

Thank you!