[PATCH 00/19] ARM: SAMSUNG: S5PV210 platform clean-up

Tomasz Figa t.figa at samsung.com
Fri Jul 4 10:44:34 PDT 2014


This huge series is a (hopefully final) attempt to convert Samsung S5PV210
into a DT-only and multiplatform-aware platform. It consists of several
steps to gradually replace legacy code with one meeting current standards
and then finally remove unused remnants.

Patches 1-6 migrate the platform to fully use the Common Clock Framework
and get rid of legacy private clock code, of which s5pv210 was the last
user. Then patch 7 adds generic PHY driver for USB PHY on S5PV210 to allow
USB to be supported when using DT. Further three patches (8-10) add DT
support for mach-s5pv210 and necessary DT sources for currently supported
boards. Patch 11 removes board files and code directly related to them,
effectively making s5pv210 a DT-only platform. In next step, patches 12-15
prepare remaining code for multiplatform enablement, which is finally done
in patch 16. Patches 17-19 are a final clean-up, which remove a lot of
unused code left after making the last S5P platform DT-only.

Build tested patch by patch on following configs:
 - s3c2410_defconfig (with DT support enabled),
 - s3c6400_defconfig (with DT support enabled),
 - s5pv210_defconfig (with DT support enabled after patches adding it),
 - exynos_defconfig,
 - exynos_defconfig with S5PV210 enabled in multiplatform configuration.

Boot tested on s5pv210-goni board.

Note that support for smdkc110, smdkv210 and torbreck boards is provided
by moving data from existing board files to new device tree sources. No
testing was performed due to mentioned board not being available anymore.
However I believe we agreed on this approach, because apparently there
are no active users of them. See the RFC from August 2013 asking for
removal of the whole platform [1].

[1] http://www.mail-archive.com/linux-samsung-soc%40vger.kernel.org/msg21882.html

Mateusz Krawczuk (6):
  clk: samsung: Add clock driver for S5PV210 and compatible SoCs
  ARM: s5pv210: Migrate clock handling to Common Clock Framework
  phy: Add support for S5PV210 to the Exynos USB 2.0 PHY driver
  ARM: s5pv210: Add board file for boot using Device Tree
  ARM: Samsung: DT: Add Device tree for s5pv210
  ARM: Samsung: DT: Add Device tree for S5PC110/S5PV210 Boards

Tomasz Figa (13):
  cpufreq: s3c24xx: Remove some dead code
  serial: samsung: Remove support for legacy clock code
  ARM: SAMSUNG: Remove legacy clock code
  clk: samsung: Add S5PV210 Audio Subsystem clock driver
  ARM: S5PV210: Remove support for board files
  ARM: S5PV210: Untie PM support from legacy code
  ARM: s5pv210: move debug-macro.S into the common space
  ARM: s5pv210: Register cpufreq platform device
  cpufreq: s5pv210: Make the driver multiplatform aware
  ARM: s5pv210: Enable multi-platform build support
  gpio: samsung: Remove legacy support of S5PV210
  ARM: SAMSUNG: Remove remaining legacy code
  clk: samsung: s5pv210: Remove legacy board support

 .../bindings/clock/clk-s5pv210-audss.txt           |   53 +
 .../bindings/clock/samsung,s5pv210-clock.txt       |   78 ++
 .../devicetree/bindings/phy/samsung-phy.txt        |    1 +
 arch/arm/Kconfig                                   |   22 +-
 arch/arm/Kconfig.debug                             |   12 +-
 arch/arm/Makefile                                  |    4 +-
 arch/arm/boot/dts/Makefile                         |    5 +
 arch/arm/boot/dts/s5pv210-aquila.dts               |  392 ++++++
 arch/arm/boot/dts/s5pv210-goni.dts                 |  449 +++++++
 arch/arm/boot/dts/s5pv210-pinctrl.dtsi             |  839 ++++++++++++
 arch/arm/boot/dts/s5pv210-smdkc110.dts             |   78 ++
 arch/arm/boot/dts/s5pv210-smdkv210.dts             |  238 ++++
 arch/arm/boot/dts/s5pv210-torbreck.dts             |   92 ++
 arch/arm/boot/dts/s5pv210.dtsi                     |  633 +++++++++
 arch/arm/include/debug/s5pv210.S                   |   34 +
 arch/arm/mach-exynos/pm.c                          |    1 -
 arch/arm/mach-s3c24xx/common.c                     |    2 -
 arch/arm/mach-s3c24xx/iotiming-s3c2412.c           |    1 -
 arch/arm/mach-s3c24xx/mach-h1940.c                 |    5 +-
 arch/arm/mach-s3c24xx/mach-jive.c                  |    1 -
 arch/arm/mach-s3c24xx/mach-smdk2413.c              |    1 -
 arch/arm/mach-s3c24xx/mach-smdk2416.c              |    1 -
 arch/arm/mach-s3c24xx/mach-smdk2443.c              |    1 -
 arch/arm/mach-s3c24xx/mach-vstms.c                 |    1 -
 arch/arm/mach-s3c24xx/s3c2410.c                    |    6 -
 arch/arm/mach-s3c24xx/s3c2412.c                    |    6 -
 arch/arm/mach-s3c24xx/s3c2442.c                    |    1 -
 arch/arm/mach-s3c24xx/s3c244x.c                    |    6 -
 arch/arm/mach-s3c64xx/mach-anw6410.c               |    1 -
 arch/arm/mach-s3c64xx/mach-crag6410.c              |    1 -
 arch/arm/mach-s3c64xx/mach-hmt.c                   |    1 -
 arch/arm/mach-s3c64xx/mach-ncp.c                   |    1 -
 arch/arm/mach-s3c64xx/mach-smartq.c                |    1 -
 arch/arm/mach-s3c64xx/mach-smdk6400.c              |    1 -
 arch/arm/mach-s3c64xx/mach-smdk6410.c              |    1 -
 arch/arm/mach-s3c64xx/s3c6400.c                    |    1 -
 arch/arm/mach-s3c64xx/s3c6410.c                    |    1 -
 arch/arm/mach-s5pv210/Kconfig                      |  197 +--
 arch/arm/mach-s5pv210/Makefile                     |   29 +-
 arch/arm/mach-s5pv210/Makefile.boot                |    2 -
 arch/arm/mach-s5pv210/clock.c                      | 1365 --------------------
 arch/arm/mach-s5pv210/common.c                     |  279 ----
 arch/arm/mach-s5pv210/common.h                     |   21 +-
 arch/arm/mach-s5pv210/dev-audio.c                  |  246 ----
 arch/arm/mach-s5pv210/dma.c                        |  130 --
 arch/arm/mach-s5pv210/include/mach/debug-macro.S   |   41 -
 arch/arm/mach-s5pv210/include/mach/dma.h           |   26 -
 arch/arm/mach-s5pv210/include/mach/gpio.h          |  140 --
 arch/arm/mach-s5pv210/include/mach/hardware.h      |   18 -
 arch/arm/mach-s5pv210/include/mach/irqs.h          |  137 --
 arch/arm/mach-s5pv210/include/mach/map.h           |  158 ---
 arch/arm/mach-s5pv210/include/mach/memory.h        |   27 -
 arch/arm/mach-s5pv210/include/mach/pm-core.h       |   46 -
 arch/arm/mach-s5pv210/include/mach/regs-clock.h    |    2 +-
 arch/arm/mach-s5pv210/include/mach/regs-gpio.h     |   41 -
 arch/arm/mach-s5pv210/include/mach/regs-irq.h      |   18 -
 arch/arm/mach-s5pv210/mach-aquila.c                |  687 ----------
 arch/arm/mach-s5pv210/mach-goni.c                  |  916 -------------
 arch/arm/mach-s5pv210/mach-smdkc110.c              |  159 ---
 arch/arm/mach-s5pv210/mach-smdkv210.c              |  337 -----
 arch/arm/mach-s5pv210/mach-torbreck.c              |  135 --
 arch/arm/mach-s5pv210/pm.c                         |  147 ++-
 arch/arm/mach-s5pv210/s5pv210.c                    |   77 ++
 arch/arm/mach-s5pv210/setup-fb-24bpp.c             |   49 -
 arch/arm/mach-s5pv210/setup-fimc.c                 |   43 -
 arch/arm/mach-s5pv210/setup-i2c0.c                 |   28 -
 arch/arm/mach-s5pv210/setup-i2c1.c                 |   28 -
 arch/arm/mach-s5pv210/setup-i2c2.c                 |   28 -
 arch/arm/mach-s5pv210/setup-ide.c                  |   39 -
 arch/arm/mach-s5pv210/setup-keypad.c               |   24 -
 arch/arm/mach-s5pv210/setup-sdhci-gpio.c           |  103 --
 arch/arm/mach-s5pv210/setup-spi.c                  |   34 -
 arch/arm/mach-s5pv210/setup-usb-phy.c              |   95 --
 arch/arm/mach-s5pv210/sleep.S                      |   36 +
 arch/arm/plat-samsung/Kconfig                      |  143 +-
 arch/arm/plat-samsung/Makefile                     |   15 -
 arch/arm/plat-samsung/clock-clksrc.c               |  212 ---
 arch/arm/plat-samsung/clock.c                      |  539 --------
 arch/arm/plat-samsung/cpu.c                        |    3 +-
 arch/arm/plat-samsung/devs.c                       |  330 -----
 arch/arm/plat-samsung/include/plat/camport.h       |   28 -
 arch/arm/plat-samsung/include/plat/clock-clksrc.h  |   83 --
 arch/arm/plat-samsung/include/plat/clock.h         |  152 ---
 arch/arm/plat-samsung/include/plat/cpu-freq-core.h |    3 -
 arch/arm/plat-samsung/include/plat/cpu.h           |   13 -
 arch/arm/plat-samsung/include/plat/devs.h          |   42 -
 arch/arm/plat-samsung/include/plat/fb-core.h       |   15 -
 arch/arm/plat-samsung/include/plat/fb.h            |   22 -
 arch/arm/plat-samsung/include/plat/fimc-core.h     |   51 -
 arch/arm/plat-samsung/include/plat/gpio-cfg.h      |   64 -
 arch/arm/plat-samsung/include/plat/hdmi.h          |   16 -
 arch/arm/plat-samsung/include/plat/irqs.h          |   72 --
 arch/arm/plat-samsung/include/plat/mfc.h           |   35 -
 arch/arm/plat-samsung/include/plat/pll.h           |  323 -----
 arch/arm/plat-samsung/include/plat/s5p-clock.h     |   65 -
 arch/arm/plat-samsung/include/plat/sdhci.h         |   47 -
 arch/arm/plat-samsung/include/plat/tv-core.h       |   44 -
 arch/arm/plat-samsung/init.c                       |    1 -
 arch/arm/plat-samsung/pm-gpio.c                    |    4 +-
 arch/arm/plat-samsung/s5p-clock.c                  |  294 -----
 arch/arm/plat-samsung/s5p-dev-mfc.c                |   81 +-
 arch/arm/plat-samsung/s5p-dev-uart.c               |   88 --
 arch/arm/plat-samsung/s5p-irq-eint.c               |  221 ----
 arch/arm/plat-samsung/s5p-irq-gpioint.c            |  218 ----
 arch/arm/plat-samsung/s5p-irq-pm.c                 |   92 --
 arch/arm/plat-samsung/s5p-irq.c                    |   31 -
 arch/arm/plat-samsung/s5p-pm.c                     |   40 -
 arch/arm/plat-samsung/s5p-sleep.S                  |   45 -
 drivers/clk/samsung/Makefile                       |    1 +
 drivers/clk/samsung/clk-s5pv210-audss.c            |  241 ++++
 drivers/clk/samsung/clk-s5pv210.c                  |  856 ++++++++++++
 drivers/cpufreq/s3c2410-cpufreq.c                  |    2 -
 drivers/cpufreq/s3c2412-cpufreq.c                  |    3 -
 drivers/cpufreq/s3c2440-cpufreq.c                  |    3 -
 drivers/cpufreq/s3c24xx-cpufreq.c                  |    1 -
 drivers/cpufreq/s5pv210-cpufreq.c                  |  131 +-
 drivers/gpio/gpio-samsung.c                        |  240 ----
 drivers/phy/Kconfig                                |   10 +
 drivers/phy/Makefile                               |    1 +
 drivers/phy/phy-s5pv210-usb2.c                     |  187 +++
 drivers/phy/phy-samsung-usb2.c                     |    6 +
 drivers/phy/phy-samsung-usb2.h                     |    1 +
 drivers/tty/serial/samsung.c                       |    4 -
 include/dt-bindings/clock/s5pv210-audss.h          |   34 +
 include/dt-bindings/clock/s5pv210.h                |  239 ++++
 125 files changed, 4843 insertions(+), 9409 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/clk-s5pv210-audss.txt
 create mode 100644 Documentation/devicetree/bindings/clock/samsung,s5pv210-clock.txt
 create mode 100644 arch/arm/boot/dts/s5pv210-aquila.dts
 create mode 100644 arch/arm/boot/dts/s5pv210-goni.dts
 create mode 100644 arch/arm/boot/dts/s5pv210-pinctrl.dtsi
 create mode 100644 arch/arm/boot/dts/s5pv210-smdkc110.dts
 create mode 100644 arch/arm/boot/dts/s5pv210-smdkv210.dts
 create mode 100644 arch/arm/boot/dts/s5pv210-torbreck.dts
 create mode 100644 arch/arm/boot/dts/s5pv210.dtsi
 create mode 100644 arch/arm/include/debug/s5pv210.S
 delete mode 100644 arch/arm/mach-s5pv210/Makefile.boot
 delete mode 100644 arch/arm/mach-s5pv210/clock.c
 delete mode 100644 arch/arm/mach-s5pv210/common.c
 delete mode 100644 arch/arm/mach-s5pv210/dev-audio.c
 delete mode 100644 arch/arm/mach-s5pv210/dma.c
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/debug-macro.S
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/dma.h
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/gpio.h
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/hardware.h
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/irqs.h
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/map.h
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/memory.h
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/pm-core.h
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/regs-gpio.h
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/regs-irq.h
 delete mode 100644 arch/arm/mach-s5pv210/mach-aquila.c
 delete mode 100644 arch/arm/mach-s5pv210/mach-goni.c
 delete mode 100644 arch/arm/mach-s5pv210/mach-smdkc110.c
 delete mode 100644 arch/arm/mach-s5pv210/mach-smdkv210.c
 delete mode 100644 arch/arm/mach-s5pv210/mach-torbreck.c
 create mode 100644 arch/arm/mach-s5pv210/s5pv210.c
 delete mode 100644 arch/arm/mach-s5pv210/setup-fb-24bpp.c
 delete mode 100644 arch/arm/mach-s5pv210/setup-fimc.c
 delete mode 100644 arch/arm/mach-s5pv210/setup-i2c0.c
 delete mode 100644 arch/arm/mach-s5pv210/setup-i2c1.c
 delete mode 100644 arch/arm/mach-s5pv210/setup-i2c2.c
 delete mode 100644 arch/arm/mach-s5pv210/setup-ide.c
 delete mode 100644 arch/arm/mach-s5pv210/setup-keypad.c
 delete mode 100644 arch/arm/mach-s5pv210/setup-sdhci-gpio.c
 delete mode 100644 arch/arm/mach-s5pv210/setup-spi.c
 delete mode 100644 arch/arm/mach-s5pv210/setup-usb-phy.c
 create mode 100644 arch/arm/mach-s5pv210/sleep.S
 delete mode 100644 arch/arm/plat-samsung/clock-clksrc.c
 delete mode 100644 arch/arm/plat-samsung/clock.c
 delete mode 100644 arch/arm/plat-samsung/include/plat/camport.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/clock-clksrc.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/clock.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/fimc-core.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/hdmi.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/irqs.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/mfc.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/pll.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/s5p-clock.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/tv-core.h
 delete mode 100644 arch/arm/plat-samsung/s5p-clock.c
 delete mode 100644 arch/arm/plat-samsung/s5p-dev-uart.c
 delete mode 100644 arch/arm/plat-samsung/s5p-irq-eint.c
 delete mode 100644 arch/arm/plat-samsung/s5p-irq-gpioint.c
 delete mode 100644 arch/arm/plat-samsung/s5p-irq-pm.c
 delete mode 100644 arch/arm/plat-samsung/s5p-irq.c
 delete mode 100644 arch/arm/plat-samsung/s5p-pm.c
 delete mode 100644 arch/arm/plat-samsung/s5p-sleep.S
 create mode 100644 drivers/clk/samsung/clk-s5pv210-audss.c
 create mode 100644 drivers/clk/samsung/clk-s5pv210.c
 create mode 100644 drivers/phy/phy-s5pv210-usb2.c
 create mode 100644 include/dt-bindings/clock/s5pv210-audss.h
 create mode 100644 include/dt-bindings/clock/s5pv210.h

-- 
1.9.3




More information about the linux-arm-kernel mailing list