[PATCH] common clk support
Sascha Hauer
s.hauer at pengutronix.de
Mon Sep 24 07:04:29 EDT 2012
The following introduces common clk support based on the Linux common clk
support and switches the i.MX architecture over to use it.
For i.MX we now have real drivers for the clk support. I have taken the
approach that all clocks we need are enabled from the driver, so we do
not need to support all the gates which lowers the overhead of the clock
support quite a bit.
This series has been tested on all i.MX SoCs except the i.MX21 (which I still
don't have).
Sascha
----------------------------------------------------------------
Sascha Hauer (23):
err.h: introduce IS_ERR_OR_NULL
clk clkdev: Add clkdev matching based on physbase
clk: initial common clk support
commands: Add clk commands
ARM i.MX: initial clk support
ARM i.MX27: implement clk support
ARM i.MX25: Switch to common clk support
ARM i.MX5: Switch to common clk support
ARM i.MX1: Switch to common clk support
ARM i.MX31: Switch to common clk
ARM i.MX6: Switch to common clk
ARM i.MX21: Switch to common clk
ARM i.MX35: Switch to common clk
net fec: Switch to clk support
serial i.MX: Switch to clk support
spi i.MX: Switch to clk support
ARM i.MX: Switch clocksource to clk_get
mci i.MX ESDHC: Switch to clock support
mci i.MX: Switch to clock support
i2c i.MX: Switch to clock support
video i.MX: Switch to clock support
video i.MX IPU: Switch to clock support
ARM i.MX: Remove old clock support
arch/arm/Kconfig | 2 +
arch/arm/mach-imx/Kconfig | 8 -
arch/arm/mach-imx/Makefile | 21 +-
arch/arm/mach-imx/clk-imx1.c | 108 ++++++++
arch/arm/mach-imx/clk-imx21.c | 119 ++++++++
arch/arm/mach-imx/clk-imx25.c | 154 +++++++++++
arch/arm/mach-imx/clk-imx27.c | 154 +++++++++++
arch/arm/mach-imx/clk-imx31.c | 133 +++++++++
arch/arm/mach-imx/clk-imx35.c | 186 +++++++++++++
arch/arm/mach-imx/clk-imx5.c | 298 ++++++++++++++++++++
arch/arm/mach-imx/clk-imx6.c | 306 +++++++++++++++++++++
arch/arm/mach-imx/clk-pfd.c | 148 ++++++++++
arch/arm/mach-imx/{speed.c => clk-pllv1.c} | 70 +++--
arch/arm/mach-imx/clk-pllv2.c | 164 +++++++++++
arch/arm/mach-imx/clk-pllv3.c | 386 ++++++++++++++++++++++++++
arch/arm/mach-imx/clk.h | 66 +++++
arch/arm/mach-imx/clko.c | 60 -----
arch/arm/mach-imx/clocksource.c | 18 +-
arch/arm/mach-imx/imx1.c | 3 +-
arch/arm/mach-imx/imx21.c | 1 +
arch/arm/mach-imx/imx25.c | 3 +-
arch/arm/mach-imx/imx27.c | 4 +-
arch/arm/mach-imx/imx31.c | 3 +-
arch/arm/mach-imx/imx35.c | 3 +-
arch/arm/mach-imx/imx51.c | 3 +-
arch/arm/mach-imx/imx53.c | 3 +-
arch/arm/mach-imx/imx6.c | 3 +-
arch/arm/mach-imx/include/mach/clkdev.h | 7 +
arch/arm/mach-imx/include/mach/clock.h | 42 +--
arch/arm/mach-imx/speed-imx1.c | 91 -------
arch/arm/mach-imx/speed-imx21.c | 193 -------------
arch/arm/mach-imx/speed-imx25.c | 155 -----------
arch/arm/mach-imx/speed-imx27.c | 227 ----------------
arch/arm/mach-imx/speed-imx31.c | 79 ------
arch/arm/mach-imx/speed-imx35.c | 255 ------------------
arch/arm/mach-imx/speed-imx51.c | 311 ---------------------
arch/arm/mach-imx/speed-imx53.c | 236 ----------------
arch/arm/mach-imx/speed-imx6.c | 404 ----------------------------
commands/Kconfig | 8 +
commands/Makefile | 1 +
commands/clk.c | 133 +++++++++
drivers/clk/Kconfig | 3 +
drivers/clk/Makefile | 2 +-
drivers/clk/clk-divider.c | 98 +++++++
drivers/clk/clk-fixed-factor.c | 63 +++++
drivers/clk/clk-fixed.c | 55 ++++
drivers/clk/clk-mux.c | 77 ++++++
drivers/clk/clk.c | 224 +++++++++++++++
drivers/clk/clkdev.c | 47 ++++
drivers/i2c/busses/i2c-imx.c | 23 +-
drivers/mci/imx-esdhc.c | 16 +-
drivers/mci/imx.c | 15 +-
drivers/net/fec_imx.c | 27 +-
drivers/net/fec_imx.h | 1 +
drivers/serial/serial_imx.c | 18 +-
drivers/spi/imx_spi.c | 13 +-
drivers/video/imx-ipu-fb.c | 10 +-
drivers/video/imx.c | 10 +-
include/linux/clk.h | 42 +++
include/linux/clkdev.h | 3 +
include/linux/err.h | 5 +
61 files changed, 3184 insertions(+), 2137 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-imx31.c
create mode 100644 arch/arm/mach-imx/clk-imx35.c
create mode 100644 arch/arm/mach-imx/clk-imx5.c
create mode 100644 arch/arm/mach-imx/clk-imx6.c
create mode 100644 arch/arm/mach-imx/clk-pfd.c
rename arch/arm/mach-imx/{speed.c => clk-pllv1.c} (53%)
create mode 100644 arch/arm/mach-imx/clk-pllv2.c
create mode 100644 arch/arm/mach-imx/clk-pllv3.c
create mode 100644 arch/arm/mach-imx/clk.h
delete mode 100644 arch/arm/mach-imx/clko.c
create mode 100644 arch/arm/mach-imx/include/mach/clkdev.h
delete mode 100644 arch/arm/mach-imx/speed-imx1.c
delete mode 100644 arch/arm/mach-imx/speed-imx21.c
delete mode 100644 arch/arm/mach-imx/speed-imx25.c
delete mode 100644 arch/arm/mach-imx/speed-imx27.c
delete mode 100644 arch/arm/mach-imx/speed-imx31.c
delete mode 100644 arch/arm/mach-imx/speed-imx35.c
delete mode 100644 arch/arm/mach-imx/speed-imx51.c
delete mode 100644 arch/arm/mach-imx/speed-imx53.c
delete mode 100644 arch/arm/mach-imx/speed-imx6.c
create mode 100644 commands/clk.c
create mode 100644 drivers/clk/clk-divider.c
create mode 100644 drivers/clk/clk-fixed-factor.c
create mode 100644 drivers/clk/clk-fixed.c
create mode 100644 drivers/clk/clk-mux.c
create mode 100644 drivers/clk/clk.c
More information about the barebox
mailing list