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

From: [email-masked] (Tomasz Figa)
Date: Fri, 04 Jul 2014 19:53:40 +0200

Aha, I forgot to add that the series is based on Kukjin's for-next
branch with "pwm: samsung: remove s5pc100 related pwm codes" patch
reverted and you can find a ready branch here:

https://github.com/tom3q/linux.git v3.17-s5pv210-dt

Sorry for the noise.

Best regards,
Tomasz

On 04.07.2014 19:48, Tomasz Figa wrote:
> 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
>