2014-07-04 17:45:42

by Tomasz Figa

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

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


2014-07-05 04:46:13

by Viresh Kumar

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

On Fri, Jul 4, 2014 at 11:14 PM, Tomasz Figa <[email protected]> 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

> Tomasz Figa (13):
> cpufreq: s3c24xx: Remove some dead code
> cpufreq: s5pv210: Make the driver multiplatform aware

Looks like you used --suppress-cc=all while sending these and none of
CPUFreq/PM guys received it :(

Anyways, for cpufreq part:

Acked-by: Viresh Kumar <[email protected]>

2014-07-05 11:01:07

by Tomasz Figa

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

On 05.07.2014 06:46, Viresh Kumar wrote:
> On Fri, Jul 4, 2014 at 11:14 PM, Tomasz Figa <[email protected]> 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
>
>> Tomasz Figa (13):
>> cpufreq: s3c24xx: Remove some dead code
>> cpufreq: s5pv210: Make the driver multiplatform aware
>
> Looks like you used --suppress-cc=all while sending these and none of
> CPUFreq/PM guys received it :(

Oops, I had a feeling that I has screwed up something with this series
and now we know what. Sorry for this. Will resend properly next Tuesday.

>
> Anyways, for cpufreq part:
>
> Acked-by: Viresh Kumar <[email protected]>
>

Thanks. Will add to the patches when resending.

Best regards,
Tomasz

2014-07-05 11:04:34

by Heiko Stübner

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

Am Samstag, 5. Juli 2014, 13:00:43 schrieb Tomasz Figa:
> On 05.07.2014 06:46, Viresh Kumar wrote:
> > On Fri, Jul 4, 2014 at 11:14 PM, Tomasz Figa <[email protected]> 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>>
> >> Tomasz Figa (13):
> >> cpufreq: s3c24xx: Remove some dead code
> >> cpufreq: s5pv210: Make the driver multiplatform aware
> >
> > Looks like you used --suppress-cc=all while sending these and none of
> > CPUFreq/PM guys received it :(
>
> Oops, I had a feeling that I has screwed up something with this series
> and now we know what. Sorry for this. Will resend properly next Tuesday.

I got the cover-letter 3 times (19:44, 19:46 and 19:48). The one from 19:48
also did contain all 19 patches ;-)


Heiko