i.MX: Convert v4/v5 based SoCs to common clock framework

Sascha Hauer s.hauer at pengutronix.de
Mon Mar 19 09:35:58 EDT 2012


Hi All,

The following patches convert the i.MX v4/v5 based SoCs to the common
clock framework.  They may not be completely ready, I am posting it now
because I'd like to show that the function based clock initializers are
indeed usable in real life and that the end result does not look too
bad.

This series depends on another series not yet posted which convert the
i.MX drivers to not depend on grouped clocks. I will follow up on this
after the merge window. My plan for these patches is to put them into
the arm-soc staging area after the merge window to let them stabilize
until hopefully before the next merge window there are no regressions
left.

Except the i.MX21 port all SoCs are runtime tested with the basic
devices (at least uart and network; I tested more, but not
systematically). Testers for these patches are very welcome, I will
happily integrate fixups into this series. A branch containing Mikes
latest clock patches, the driver fixups and this series can be found
here:

git://git.pengutronix.de/git/imx/linux-2.6.git work/imx-clk-v4-v5

As a side note, we currently compile all i.MX v4/v5 based SoCs in a
single defconfig. Since a kernel can only be built with or without the
common clock framework this series is not fully bisectable, you have to
disable the not yet converted SoCs in between.

The patch for removing the old clock support is not included in this
post, but with the removal the overall diffstat looks like this:

 arch/arm/mach-imx/clock-imx1.c           |  636 ---------------
 arch/arm/mach-imx/clock-imx21.c          | 1239 -------------------------------
 arch/arm/mach-imx/clock-imx25.c          |  346 --------
 arch/arm/mach-imx/clock-imx27.c          |  766 -------------------
 b/arch/arm/mach-imx/Kconfig              |    4 
 b/arch/arm/mach-imx/Makefile             |   10 
 b/arch/arm/mach-imx/clk-imx1.c           |  118 ++
 b/arch/arm/mach-imx/clk-imx21.c          |  177 ++++
 b/arch/arm/mach-imx/clk-imx25.c          |  242 ++++++
 b/arch/arm/mach-imx/clk-imx27.c          |  277 ++++++
 b/arch/arm/mach-imx/clk-pllv1.c          |   59 +
 b/arch/arm/mach-imx/clk.h                |   44 +
 b/arch/arm/plat-mxc/clock.c              |   11 
 b/arch/arm/plat-mxc/include/mach/clock.h |    4 
 b/arch/arm/plat-mxc/time.c               |    5 
 15 files changed, 946 insertions(+), 2992 deletions(-)

----------------------------------------------------------------
Sascha Hauer (7):
      ARM i.MX: prepare for common clock framework
      ARM i.MX timer: request correct clock
      ARM i.MX: Add common clock support for pllv1
      ARM i.MX1: implement clocks using common clock framework
      ARM i.MX21: implement clocks using common clock framework
      ARM i.MX25: implement clocks using common clock framework
      ARM i.MX27: implement clocks using common clock framework

 arch/arm/mach-imx/Kconfig              |    4 +
 arch/arm/mach-imx/Makefile             |   10 +-
 arch/arm/mach-imx/clk-imx1.c           |  118 ++++++++++++++
 arch/arm/mach-imx/clk-imx21.c          |  177 ++++++++++++++++++++
 arch/arm/mach-imx/clk-imx25.c          |  242 ++++++++++++++++++++++++++++
 arch/arm/mach-imx/clk-imx27.c          |  277 ++++++++++++++++++++++++++++++++
 arch/arm/mach-imx/clk-pllv1.c          |   59 +++++++
 arch/arm/mach-imx/clk.h                |   44 +++++
 arch/arm/plat-mxc/clock.c              |   11 ++
 arch/arm/plat-mxc/include/mach/clock.h |    4 +
 arch/arm/plat-mxc/time.c               |    5 +-
 11 files changed, 946 insertions(+), 5 deletions(-)
 create mode 100644 arch/arm/mach-imx/clk-imx1.c
 create mode 100644 arch/arm/mach-imx/clk-imx21.c
 create mode 100644 arch/arm/mach-imx/clk-imx25.c
 create mode 100644 arch/arm/mach-imx/clk-imx27.c
 create mode 100644 arch/arm/mach-imx/clk-pllv1.c
 create mode 100644 arch/arm/mach-imx/clk.h



More information about the linux-arm-kernel mailing list