linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/16] ARM: at91: PMC driver rework
@ 2015-09-30 16:10 Alexandre Belloni
  2015-09-30 16:10 ` [PATCH 01/16] clk: at91: utmi: use pmc_read when the at91_pmc is available Alexandre Belloni
                   ` (16 more replies)
  0 siblings, 17 replies; 26+ messages in thread
From: Alexandre Belloni @ 2015-09-30 16:10 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

This patch set is a cleanup that properly separate drivers needing to access the
PMC (PM and USB) from the clock driver by exposing the PMC as a syscon.

This also allows to implement a fix for preempt-rt. Currently, at91 platform are
crashing when using preempt-rt because the irq handler are transformed in
threaded irq handler but at the time the pmc registers its clocks, it is not
possible to creat threads, leading to a NULL pointer dereference in the kernel.

The new infrastructure uses polling until it is late enough to register threaded
irqs.

:w
Cc: Felipe Balbi <balbi@ti.com>
Cc: linux-usb at vger.kernel.org

Alexandre Belloni (13):
  clk: at91: utmi: use pmc_read when the at91_pmc is available
  clk: at91: system: don't try to free_irq when there is no IRQ
  ARM: at91/dt: use syscon for PMC
  clk: at91: clk-main: factorize irq handling
  clk: at91: make IRQ optional and register them later
  clk: at91: pmc: merge at91_pmc_init in atmel_pmc_probe
  clk: at91: pmc: move pmc structures to C file
  ARM: at91: pm: simply call at91_pm_init
  ARM: at91: pm: find and remap the pmc
  ARM: at91: pm: move idle functions to pm.c
  ARM: at91: remove useless includes and function prototypes
  usb: gadget: atmel: access the PMC using regmap
  clk: at91: pmc: drop at91_pmc_base

Boris Brezillon (3):
  clk: at91: make use of syscon to share PMC registers in several
    drivers
  clk: at91: make use of syscon/regmap internally
  clk: at91: only enable available IRQs

 arch/arm/boot/dts/at91rm9200.dtsi       |   2 +-
 arch/arm/boot/dts/at91sam9260.dtsi      |   2 +-
 arch/arm/boot/dts/at91sam9261.dtsi      |   2 +-
 arch/arm/boot/dts/at91sam9263.dtsi      |   2 +-
 arch/arm/boot/dts/at91sam9g45.dtsi      |   2 +-
 arch/arm/boot/dts/at91sam9n12.dtsi      |   2 +-
 arch/arm/boot/dts/at91sam9rl.dtsi       |   2 +-
 arch/arm/boot/dts/at91sam9x5.dtsi       |   2 +-
 arch/arm/boot/dts/sama5d2.dtsi          |   2 +-
 arch/arm/boot/dts/sama5d3.dtsi          |   2 +-
 arch/arm/boot/dts/sama5d4.dtsi          |   2 +-
 arch/arm/mach-at91/Kconfig              |   1 +
 arch/arm/mach-at91/at91rm9200.c         |   2 -
 arch/arm/mach-at91/at91sam9.c           |   2 -
 arch/arm/mach-at91/generic.h            |  13 +-
 arch/arm/mach-at91/pm.c                 |  69 +++++-
 arch/arm/mach-at91/sama5.c              |   2 +-
 drivers/clk/at91/clk-h32mx.c            |  33 ++-
 drivers/clk/at91/clk-main.c             | 403 +++++++++++++++++++-------------
 drivers/clk/at91/clk-master.c           | 134 +++++++----
 drivers/clk/at91/clk-peripheral.c       | 131 +++++++----
 drivers/clk/at91/clk-pll.c              | 190 +++++++++------
 drivers/clk/at91/clk-plldiv.c           |  42 ++--
 drivers/clk/at91/clk-programmable.c     |  92 ++++----
 drivers/clk/at91/clk-slow.c             |  27 ++-
 drivers/clk/at91/clk-smd.c              |  54 +++--
 drivers/clk/at91/clk-system.c           | 128 ++++++----
 drivers/clk/at91/clk-usb.c              | 121 +++++-----
 drivers/clk/at91/clk-utmi.c             | 116 +++++----
 drivers/clk/at91/pmc.c                  | 300 ++++++------------------
 drivers/clk/at91/pmc.h                  |  93 +-------
 drivers/usb/gadget/udc/atmel_usba_udc.c |  20 +-
 drivers/usb/gadget/udc/atmel_usba_udc.h |   2 +
 include/linux/clk/at91_pmc.h            |  12 -
 34 files changed, 1059 insertions(+), 950 deletions(-)

-- 
2.1.4

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2015-10-01 17:49 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-30 16:10 [PATCH 00/16] ARM: at91: PMC driver rework Alexandre Belloni
2015-09-30 16:10 ` [PATCH 01/16] clk: at91: utmi: use pmc_read when the at91_pmc is available Alexandre Belloni
2015-09-30 16:10 ` [PATCH 02/16] clk: at91: system: don't try to free_irq when there is no IRQ Alexandre Belloni
2015-09-30 16:10 ` [PATCH 03/16] ARM: at91/dt: use syscon for PMC Alexandre Belloni
2015-09-30 16:10 ` [PATCH 04/16] clk: at91: make use of syscon to share PMC registers in several drivers Alexandre Belloni
2015-10-01 17:49   ` Stephen Boyd
2015-09-30 16:10 ` [PATCH 05/16] clk: at91: make use of syscon/regmap internally Alexandre Belloni
2015-09-30 16:10 ` [PATCH 06/16] clk: at91: clk-main: factorize irq handling Alexandre Belloni
2015-10-01  8:34   ` Boris Brezillon
2015-09-30 16:11 ` [PATCH 07/16] clk: at91: make IRQ optional and register them later Alexandre Belloni
2015-09-30 16:11 ` [PATCH 08/16] clk: at91: only enable available IRQs Alexandre Belloni
2015-10-01  8:24   ` Ludovic Desroches
2015-09-30 16:11 ` [PATCH 09/16] clk: at91: pmc: merge at91_pmc_init in atmel_pmc_probe Alexandre Belloni
2015-09-30 16:11 ` [PATCH 10/16] clk: at91: pmc: move pmc structures to C file Alexandre Belloni
2015-09-30 16:11 ` [PATCH 11/16] ARM: at91: pm: simply call at91_pm_init Alexandre Belloni
2015-09-30 16:11 ` [PATCH 12/16] ARM: at91: pm: find and remap the pmc Alexandre Belloni
2015-09-30 16:11 ` [PATCH 13/16] ARM: at91: pm: move idle functions to pm.c Alexandre Belloni
2015-09-30 16:11 ` [PATCH 14/16] ARM: at91: remove useless includes and function prototypes Alexandre Belloni
2015-09-30 16:11 ` [PATCH 15/16] usb: gadget: atmel: access the PMC using regmap Alexandre Belloni
2015-09-30 16:31   ` Felipe Balbi
2015-09-30 16:39     ` Nicolas Ferre
2015-09-30 16:43       ` Felipe Balbi
2015-09-30 16:59     ` Alexandre Belloni
2015-09-30 16:59       ` Alexandre Belloni
2015-09-30 16:11 ` [PATCH 16/16] clk: at91: pmc: drop at91_pmc_base Alexandre Belloni
2015-09-30 16:17 ` [PATCH 00/16] ARM: at91: PMC driver rework Alexandre Belloni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).