From mboxrd@z Thu Jan 1 00:00:00 1970 From: s.hauer@pengutronix.de (Sascha Hauer) Date: Mon, 19 Mar 2012 14:35:58 +0100 Subject: i.MX: Convert v4/v5 based SoCs to common clock framework Message-ID: <1332164166-6055-1-git-send-email-s.hauer@pengutronix.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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