mbox series

[RESEND,v4,0/6] mips: Add DT bindings for MIPS CDMM and MIPS GIC

Message ID 20200617223201.23259-1-Sergey.Semin@baikalelectronics.ru
Headers show
Series mips: Add DT bindings for MIPS CDMM and MIPS GIC | expand

Message

Serge Semin June 17, 2020, 10:31 p.m. UTC
Daniel, Rafael, Thomas (Gleixner), could you specifically take a look at
the last patch in this series? If you are ok with that, please explicitly
ack. We need at least one of your blessing to merge the series in, since
the code and DT-related patches here have been mostly reviewed. We've
missed the last merge window. It would be pity to miss the next one...

Regarding this patchset origin. Recently I've submitted a series of
patchset's which provided multiple fixes for the MIPS arch subsystem and
the MIPS GIC and DW APB Timer drivers, which were required for the
Baikal-T1 SoC correctly working with those drivers. Mostly those patchsets
have been already merged into the corresponding subsystems, but several
patches have been left floating since noone really responded for review
except Rob provided his approval regarding DT bindings. Thus in this
patchset I've collected all the leftovers so not to loose them in a pale
of the maintainers email logs.

The patchset includes the following updates: MIPS CPC and GIC DT bindings
legacy text-based file are converted to the DT schema (Rob has already
reviewed them), add MIPS CDMM DT node support to place the CDMM block at
the platform-specific MMIO range, make sure MIPS CDMM is available for
MIPS_R5 CPUs.

Seeing the series concerns the MIPS-related drivers it's better to merge
it in through the MIPS repository:
https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/

This patchset is rebased and tested on the mainline Linux kernel 5.7-rc4:
base-commit: 0e698dfa2822 ("Linux 5.7-rc4")
tag: v5.7-rc4

Suggestion.
Since Paul isn't looking after the MIPS arch code anymore, Ralf hasn't
been seen maintaining MIPS for a long time, Thomas is only responsible
for the next part of it:
	F:      Documentation/devicetree/bindings/mips/
	F:      Documentation/mips/
	F:      arch/mips/
	F:      drivers/platform/mips/
the MIPS-specific drivers like:
	F:	drivers/bus/mips_cdmm.c
	F:	drivers/irqchip/irq-mips-cpu.c
	F:	drivers/irqchip/irq-mips-gic.c
	F:	drivers/clocksource/mips-gic-timer.c
	F:	drivers/cpuidle/cpuidle-cps.c
seem to be left for the subsystems maintainers to support. So if you don't
mind or unless there is a better alternative, I can help with looking
after them to ease the maintainers review burden and since I'll be working
on our MIPS-based SoC drivers integrating into the mainline kernel repo
anyway. Thomas agreed to join in maintaining that drivers.

Previous patchsets:
mips: Prepare MIPS-arch code for Baikal-T1 SoC support:
Link: https://lore.kernel.org/linux-mips/20200306124807.3596F80307C2@mail.baikalelectronics.ru
Link: https://lore.kernel.org/linux-mips/20200506174238.15385-1-Sergey.Semin@baikalelectronics.ru
Link: https://lore.kernel.org/linux-mips/20200521140725.29571-1-Sergey.Semin@baikalelectronics.ru

clocksource: Fix MIPS GIC and DW APB Timer for Baikal-T1 SoC support:
Link: https://lore.kernel.org/linux-rtc/20200324174325.14213-1-Sergey.Semin@baikalelectronics.ru
Link: https://lore.kernel.org/linux-rtc/20200506214107.25956-1-Sergey.Semin@baikalelectronics.ru
Link: https://lore.kernel.org/linux-rtc/20200521005321.12129-1-Sergey.Semin@baikalelectronics.ru

Changelog prev:
- Add yaml-based bindings file for MIPS CDMM dt-node.
- Convert mti,mips-cpc to DT schema.
- Use a shorter summary describing the bindings modification patches.
- Rearrange the SoBs with adding Alexey' co-development tag.
- Lowercase the hex numbers in the dt-bindings.

Changelog v2:
- Resend.

Link: https://lore.kernel.org/linux-mips/20200601122121.15809-1-Sergey.Semin@baikalelectronics.ru
Changelog v3:
- Keep F: MAINTAINERS section alphabetically ordered.
- Add Thomas as the co-maintainer of the MIPS CPU and GIC IRQchip, MIPS
  GIC timer and MIPS CPS CPUidle drivers.

Link: https://lore.kernel.org/linux-mips/20200602100921.1155-1-Sergey.Semin@baikalelectronics.ru
Changelog v4:
- Resend.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Marc Zyngier <maz@kernel.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Serge Semin (6):
  dt-bindings: power: Convert mti,mips-cpc to DT schema
  dt-bindings: interrupt-controller: Convert mti,gic to DT schema
  dt-bindings: bus: Add MIPS CDMM controller
  mips: cdmm: Add mti,mips-cdmm dtb node support
  bus: cdmm: Add MIPS R5 arch support
  MAINTAINERS: Add maintainers for MIPS core drivers

 .../bindings/bus/mti,mips-cdmm.yaml           |  35 +++++
 .../interrupt-controller/mips-gic.txt         |  67 --------
 .../interrupt-controller/mti,gic.yaml         | 148 ++++++++++++++++++
 .../bindings/power/mti,mips-cpc.txt           |   8 -
 .../bindings/power/mti,mips-cpc.yaml          |  35 +++++
 MAINTAINERS                                   |  11 ++
 drivers/bus/Kconfig                           |   2 +-
 drivers/bus/mips_cdmm.c                       |  15 ++
 8 files changed, 245 insertions(+), 76 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/bus/mti,mips-cdmm.yaml
 delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/mips-gic.txt
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/mti,gic.yaml
 delete mode 100644 Documentation/devicetree/bindings/power/mti,mips-cpc.txt
 create mode 100644 Documentation/devicetree/bindings/power/mti,mips-cpc.yaml

Comments

Daniel Lezcano July 1, 2020, 7 a.m. UTC | #1
On 18/06/2020 00:32, Serge Semin wrote:
> Add Thomas and myself as maintainers of the MIPS CPU and GIC IRQchip, MIPS
> GIC timer and MIPS CPS CPUidle drivers.

Why will you add yourself in the MAINTAINERS file for those drivers when
git shows just one contribution for the mips-gic-timer for the timer
stability ?

git shortlog --numbered --summary drivers/cpuidle/cpuidle-cps.c
     4  Paul Burton
     1  Daniel Lezcano
     1  Marcin Nowakowski
     1  Matt Redfearn
     1  Thomas Gleixner

git shortlog --numbered --summary drivers/clocksource/mips-gic-timer.c
    11  Andrew Bresticker
     4  Ezequiel Garcia
     4  Matt Redfearn
     4  Paul Burton
     3  Daniel Lezcano
     3  Thomas Gleixner
     2  Linus Torvalds
     1  Alex Smith
     1  Christophe Jaillet
     1  Felix Fietkau
     1  Ingo Molnar
     1  Markos Chandras
     1  Paul Gortmaker
     1  Rafał Miłecki
     1  Richard Cochran
     1  Serge Semin
     1  Viresh Kumar
     1  YueHaibing

Also, in the cpuidle-cps.c history, there is no signed-off from Rafael,
neither an Acked-by when it was merged. That make me think the patch
went through another path than the linux-pm tree without a cpuidle
framework maintainer acknowledgement.

Perhaps it is a mistake and the patch was actually acked-by, but I would
like to remind the patches have to be acked by the upper maintainers and
being listed in the MAINTAINERS file does not give the right of override
this rule.



> Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> Acked-by: Marc Zyngier <maz@kernel.org>
> Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
> Cc: linux-mips@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> 
> ---
> 
> Changelog v3:
> - Keep the files list alphabetically ordered.
> - Add Thomas as the co-maintainer of the designated drivers.
> ---
>  MAINTAINERS | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 2926327e4976..20532e0287d7 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -11278,6 +11278,17 @@ F:	arch/mips/configs/generic/board-boston.config
>  F:	drivers/clk/imgtec/clk-boston.c
>  F:	include/dt-bindings/clock/boston-clock.h
>  
> +MIPS CORE DRIVERS
> +M:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> +M:	Serge Semin <fancer.lancer@gmail.com>
> +L:	linux-mips@vger.kernel.org
> +S:	Supported
> +F:	drivers/bus/mips_cdmm.c
> +F:	drivers/clocksource/mips-gic-timer.c
> +F:	drivers/cpuidle/cpuidle-cps.c
> +F:	drivers/irqchip/irq-mips-cpu.c
> +F:	drivers/irqchip/irq-mips-gic.c
> +
>  MIPS GENERIC PLATFORM
>  M:	Paul Burton <paulburton@kernel.org>
>  L:	linux-mips@vger.kernel.org
>
Serge Semin July 1, 2020, 9:28 p.m. UTC | #2
Hello Daniel

On Wed, Jul 01, 2020 at 09:00:03AM +0200, Daniel Lezcano wrote:
> On 18/06/2020 00:32, Serge Semin wrote:
> > Add Thomas and myself as maintainers of the MIPS CPU and GIC IRQchip, MIPS
> > GIC timer and MIPS CPS CPUidle drivers.
> 

> Why will you add yourself in the MAINTAINERS file for those drivers when
> git shows just one contribution for the mips-gic-timer for the timer
> stability ?
> 
> git shortlog --numbered --summary drivers/cpuidle/cpuidle-cps.c
>      4  Paul Burton
>      1  Daniel Lezcano
>      1  Marcin Nowakowski
>      1  Matt Redfearn
>      1  Thomas Gleixner
> 
> git shortlog --numbered --summary drivers/clocksource/mips-gic-timer.c
>     11  Andrew Bresticker
>      4  Ezequiel Garcia
>      4  Matt Redfearn
>      4  Paul Burton
>      3  Daniel Lezcano
>      3  Thomas Gleixner
>      2  Linus Torvalds
>      1  Alex Smith
>      1  Christophe Jaillet
>      1  Felix Fietkau
>      1  Ingo Molnar
>      1  Markos Chandras
>      1  Paul Gortmaker
>      1  Rafał Miłecki
>      1  Richard Cochran
>      1  Serge Semin
>      1  Viresh Kumar
>      1  YueHaibing

I suppose that the number of commits isn't a main criteria to make someone of
being a maintainer of a particular driver, though it might be a sufficient
condition why someone could be appointed with the role. Anyway as I said in
the cover letter that was a mere suggestion:

> > Suggestion.
> > Since Paul isn't looking after the MIPS arch code anymore, Ralf hasn't
> > been seen maintaining MIPS for a long time, Thomas is only responsible
> > for the next part of it:
> >         F:      Documentation/devicetree/bindings/mips/
> >         F:      Documentation/mips/
> >         F:      arch/mips/
> >         F:      drivers/platform/mips/
> > the MIPS-specific drivers like:
> >         F:      drivers/bus/mips_cdmm.c
> >         F:      drivers/irqchip/irq-mips-cpu.c
> >         F:      drivers/irqchip/irq-mips-gic.c
> >         F:      drivers/clocksource/mips-gic-timer.c
> >         F:      drivers/cpuidle/cpuidle-cps.c
> > seem to be left for the subsystems maintainers to support. So if you don't
> > mind or unless there is a better alternative, I can help with looking
> > after them to ease the maintainers review burden and since I'll be working
> > on our MIPS-based SoC drivers integrating into the mainline kernel repo
> > anyway. Thomas agreed to join in maintaining that drivers."

Primarily I've propose my help with looking after those drivers, since I'll be
working on our SoC drivers with those components installed anyway.

Another reason why I've decided to create this patch is that I've discovered there
is noone looking after the drivers/bus/mips_cdmm.c driver. Noone responded to
accept/decline the CDMM-related changes proposed in this patchset
(mips_cdmm.c driver), noone except Rob responded to the DT bindings conversion
patches (irq-mips-gic.c, mips_cdmm.c drivers):
  68d4fa5d0bb8 dt-bindings: bus: Add MIPS CDMM controller
  7256641fe15e dt-bindings: interrupt-controller: Convert mti,gic to DT schema
  da16cdddd947 dt-bindings: power: Convert mti,mips-cpc to DT schema
Finally I didn't say it in the cover letter, but cpuidle-cps wasn't working for
our SoC, so I'll have to dig into that driver anyway. Moreover It seems to me
that cpuidle-cps.c will be abandoned by the author since Paul Burton stopped
working for MIPS. So based on that I collected all MIPS-related but scattered
around the kernel subsystems drivers (MIPS CDMM, MIPS CPU/GIC IRQ-chip,
MIPS GIC-timer and MIPS CPU-idle CPS) in the dedicated maintainers entry and
proposed my help with their maintenance. By Marc' suggestion Thomas agreed to
join in.

If you don't need our help in maintaining the mips-gic-timer.c and cpuidle-cps.c
drivers, then just say so. I'll discard them from the maintenance entry created
by this patch. Though in that case the list won't be full.)

> 
> Also, in the cpuidle-cps.c history, there is no signed-off from Rafael,
> neither an Acked-by when it was merged. That make me think the patch
> went through another path than the linux-pm tree without a cpuidle
> framework maintainer acknowledgement.
> 
> Perhaps it is a mistake and the patch was actually acked-by, but I would
> like to remind the patches have to be acked by the upper maintainers and
> being listed in the MAINTAINERS file does not give the right of override
> this rule.

Sorry. I don't really get it what patch you are talking about. But I
totally aware of the rule you've mentioned.

-Sergey

> 
> 
> 
> > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
> > Acked-by: Marc Zyngier <maz@kernel.org>
> > Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
> > Cc: linux-mips@vger.kernel.org
> > Cc: devicetree@vger.kernel.org
> > 
> > ---
> > 
> > Changelog v3:
> > - Keep the files list alphabetically ordered.
> > - Add Thomas as the co-maintainer of the designated drivers.
> > ---
> >  MAINTAINERS | 11 +++++++++++
> >  1 file changed, 11 insertions(+)
> > 
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 2926327e4976..20532e0287d7 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -11278,6 +11278,17 @@ F:	arch/mips/configs/generic/board-boston.config
> >  F:	drivers/clk/imgtec/clk-boston.c
> >  F:	include/dt-bindings/clock/boston-clock.h
> >  
> > +MIPS CORE DRIVERS
> > +M:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> > +M:	Serge Semin <fancer.lancer@gmail.com>
> > +L:	linux-mips@vger.kernel.org
> > +S:	Supported
> > +F:	drivers/bus/mips_cdmm.c
> > +F:	drivers/clocksource/mips-gic-timer.c
> > +F:	drivers/cpuidle/cpuidle-cps.c
> > +F:	drivers/irqchip/irq-mips-cpu.c
> > +F:	drivers/irqchip/irq-mips-gic.c
> > +
> >  MIPS GENERIC PLATFORM
> >  M:	Paul Burton <paulburton@kernel.org>
> >  L:	linux-mips@vger.kernel.org
> > 
> 
> 
> -- 
> <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
> 
> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog