ARM: vt8500: Convert arch-vt8500 to multiplatform
Subsystems (3)
RFC PATCH 1/1 ARM: vt8500: Convert arch-vt8500 to multiplatform
This patch completes the conversion to ARCH_MULTI_V5 for arch-vt8500. Removed /mach/include/ and remaining unneeded files.
--- arch/arm/Kconfig | 18 ++---------- arch/arm/mach-vt8500/include/mach/debug-macro.S | 31 ------------------- arch/arm/mach-vt8500/include/mach/timex.h | 26 ---------------- arch/arm/mach-vt8500/include/mach/uncompress.h | 36 ----------------------- 4 files changed, 2 insertions(+), 109 deletions(-) delete mode 100644 arch/arm/mach-vt8500/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-vt8500/include/mach/timex.h delete mode 100644 arch/arm/mach-vt8500/include/mach/uncompress.h
arch/arm/Kconfig +2 -16
@@ -938,22 +938,6 @@ config PLAT_SPEAR help Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx). -config ARCH_VT8500 - bool "VIA/WonderMedia 85xx" - select CPU_ARM926T - select GENERIC_GPIO - select ARCH_HAS_CPUFREQ - select GENERIC_CLOCKEVENTS - select ARCH_REQUIRE_GPIOLIB - select USE_OF - select COMMON_CLK - select HAVE_CLK - select CLKDEV_LOOKUP - select MULTI_IRQ_HANDLER - select SPARSE_IRQ - help - Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip. - config ARCH_ZYNQ bool "Xilinx Zynq ARM Cortex A9 Platform" select CPU_V7
@@ -1125,6 +1109,8 @@ source "arch/arm/mach-versatile/Kconfig" source "arch/arm/mach-vexpress/Kconfig" source "arch/arm/plat-versatile/Kconfig" +source "arch/arm/mach-vt8500/Kconfig" + source "arch/arm/mach-w90x900/Kconfig" # Definitions to make life easier
arch/arm/mach-vt8500/include/mach/debug-macro.S deleted +0 -31
@@ -1,31 +0,0 @@ -/* - * arch/arm/mach-vt8500/include/mach/debug-macro.S - * - * Copyright (C) 2010 Alexey Charkov <[email protected]> - * - * Debugging macro include header - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * -*/ - - .macro addruart, rp, rv, tmp - mov \rp, #0x00200000 - orr \rv, \rp, #0xf8000000 - orr \rp, \rp, #0xd8000000 - .endm - - .macro senduart,rd,rx - strb \rd, [\rx, #0] - .endm - - .macro busyuart,rd,rx -1001: ldr \rd, [\rx, #0x1c] - ands \rd, \rd, #0x2 - bne 1001b - .endm - - .macro waituart,rd,rx - .endm
arch/arm/mach-vt8500/include/mach/timex.h deleted +0 -26
@@ -1,26 +0,0 @@ -/* -* arch/arm/mach-vt8500/include/mach/timex.h -* -* Copyright (C) 2010 Alexey Charkov <[email protected]> -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 2 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#ifndef MACH_TIMEX_H -#define MACH_TIMEX_H - -#define CLOCK_TICK_RATE (3000000) - -#endif /* MACH_TIMEX_H */
arch/arm/mach-vt8500/include/mach/uncompress.h deleted +0 -36
@@ -1,36 +0,0 @@ -/* arch/arm/mach-vt8500/include/mach/uncompress.h -* -* Copyright (C) 2010 Alexey Charkov <[email protected]> -* -* Based on arch/arm/mach-dove/include/mach/uncompress.h -* -* This software is licensed under the terms of the GNU General Public -* License version 2, as published by the Free Software Foundation, and -* may be copied, distributed, and modified under those terms. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -*/ -#define UART0_PHYS 0xd8200000 -#define UART0_ADDR (x) *(volatile unsigned char *)(UART0_PHYS + x) - -static void putc (const char c) -{ -while (UART0_ADDR (0x1c ) &0x2 ) -/* Tx busy, wait and poll */ ; - -UART0_ADDR (0 ) = c; -} - -static void flush (void ) -{ -} - -/* -* nothing to do -*/ -#define arch_decomp_setup () -#define arch_decomp_wdog ()
Signature · 1 line
1.7.9.5
Alexey Charkov
maintainerRFC PATCH 1/1 ARM: vt8500: Convert arch-vt8500 to multiplatform
2012/10/11 Tony Prisk <[email protected]>:
Quoted 77 lines
This patch completes the conversion to
ARCH_MULTI_V5for arch-vt8500. Removed /mach/include/ and remaining unneeded files.Signed-off-by Tony Prisk <[email protected]>--- arch/arm/Kconfig | 18 ++---------- arch/arm/mach-vt8500/include/mach/debug-macro.S | 31 ------------------- arch/arm/mach-vt8500/include/mach/timex.h | 26 ---------------- arch/arm/mach-vt8500/include/mach/uncompress.h | 36 ----------------------- 4 files changed, 2 insertions(+), 109 deletions(-) delete mode 100644 arch/arm/mach-vt8500/include/mach/debug-macro.S delete mode 100644 arch/arm/mach-vt8500/include/mach/timex.h delete mode 100644 arch/arm/mach-vt8500/include/mach/uncompress.harch/arm/Kconfig +2
-16@@ -938,22 +938,6 @@ config PLAT_SPEAR help Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx). -config ARCH_VT8500 - bool "VIA/WonderMedia 85xx" - select CPU_ARM926T - select GENERIC_GPIO - select ARCH_HAS_CPUFREQ - select GENERIC_CLOCKEVENTS - select ARCH_REQUIRE_GPIOLIB - select USE_OF - select COMMON_CLK - select HAVE_CLK - select CLKDEV_LOOKUP - select MULTI_IRQ_HANDLER - select SPARSE_IRQ - help - Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip. - config ARCH_ZYNQ bool "Xilinx Zynq ARM Cortex A9 Platform" select CPU_V7@@ -1125,6 +1109,8 @@ source "arch/arm/mach-versatile/Kconfig" source "arch/arm/mach-vexpress/Kconfig" source "arch/arm/plat-versatile/Kconfig" +source "arch/arm/mach-vt8500/Kconfig" + source "arch/arm/mach-w90x900/Kconfig" # Definitions to make life easierarch/arm/mach-vt8500/include/mach/debug-macro.S deleted +0
-21@@ -1,31 +0,0 @@ -/* - * arch/arm/mach-vt8500/include/mach/debug-macro.S - * - * Copyright (C) 2010 Alexey Charkov <[email protected]> - * - * Debugging macro include header - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * -*/ - - .macro addruart, rp, rv, tmp - mov \rp, #0x00200000 - orr \rv, \rp, #0xf8000000 - orr \rp, \rp, #0xd8000000 - .endm - - .macro senduart,rd,rx - strb \rd, [\rx, #0]
arch/arm/mach-vt8500/include/mach/debug-macro.S line 31
Quoted 10 lines
arch/arm/mach-vt8500/include/mach/debug-macro.S deleted +0
-10- .endm - - .macro busyuart,rd,rx -1001: ldr \rd, [\rx, #0x1c] - ands \rd, \rd, #0x2 - bne 1001b - .endm - - .macro waituart,rd,rx - .endm
Does this imply that early printk won't be supported any longer, or am I missing something?
Thanks,
Alexey
RFC PATCH 1/1 ARM: vt8500: Convert arch-vt8500 to multiplatform
Quoted 2 lines · Alexey Charkov
Does this imply that early printk won't be supported any longer, or am I missing something?
You are correct. However, there is work under way to bring it back. If you want to keep it around in the meantime, you could let the user enable VT8500 either in MULTIPLATFORM or standalone using some Kconfig logic like:
choice "Platform selection"
...
config VT8500_SINGLE
bool "Via/Wondermedia VT8500 / WM8505 / WM8650"
...
endchoice
...
config VT8500
bool "Via/Wondermedia VT8500 / WM8505 / WM8650" if ARCH_MULTIPLATFORM default VT8500_SINGLE Arnd
RFC PATCH 1/1 ARM: vt8500: Convert arch-vt8500 to multiplatform
Quoted 20 lines · Arnd Bergmann
Quoted 2 lines · Alexey Charkov
Does this imply that early printk won't be supported any longer, or am I missing something?
You are correct. However, there is work under way to bring it back. If you want to keep it around in the meantime, you could let the user enable VT8500 either in MULTIPLATFORM or standalone using some
Kconfiglogic like:choice "Platform selection"
...
config
VT8500_SINGLEbool "Via/Wondermedia VT8500 / WM8505 / WM8650"...
endchoice
Quoted 7 lines
...
config VT8500
bool "Via/Wondermedia VT8500 / WM8505 / WM8650" if ARCH_MULTIPLATFORM default VT8500_SINGLE Arnd
Alexey (or anyone else),
Do you want it kept in the meantime?
I think the easiest way to add/keep it would be to create:
ARCH_VT8500_SINGLE (arm/Kconfig) and ARCH_VT8500_MULTI (arch-vt8500/Kconfig) and have them both select ARCH_VT8500 as an option to make drivers available.
Regards
Tony P
RFC PATCH 1/1 ARM: vt8500: Convert arch-vt8500 to multiplatform
Quoted 8 lines · Tony Prisk
Quoted 5 lines
config VT8500
bool "Via/Wondermedia VT8500 / WM8505 / WM8650" if ARCH_MULTIPLATFORM default VT8500_SINGLE ArndAlexey (or anyone else),
Quoted 7 lines
Do you want it kept in the meantime?
I think the easiest way to add/keep it would be to create:
ARCH_VT8500_SINGLE(arm/Kconfig) andARCH_VT8500_MULTI(arch-vt8500/Kconfig) and have them both selectARCH_VT8500as an option to make drivers available.
You only need one new symbol, not too. Keeping CONFIG_VT8500 as the user-selectable option as I outlined in the example means that existing .config files keep working, which is sometimes useful.
Arnd
RFC PATCH 1/1 ARM: vt8500: Convert arch-vt8500 to multiplatform
Quoted 17 lines · Tony Prisk
Quoted 8 lines
Quoted 5 lines
config VT8500
bool "Via/Wondermedia VT8500 / WM8505 / WM8650" if ARCH_MULTIPLATFORM default VT8500_SINGLE ArndAlexey (or anyone else),
Quoted 7 lines
Do you want it kept in the meantime?
I think the easiest way to add/keep it would be to create:
ARCH_VT8500_SINGLE(arm/Kconfig) andARCH_VT8500_MULTI(arch-vt8500/Kconfig) and have them both selectARCH_VT8500as an option to make drivers available.
Quoted 6 lines
You only need one new symbol, not too. Keeping
CONFIG_VT8500as the user-selectable option as I outlined in the example means that existing .config files keep working, which is sometimes useful.Arnd
To clarify what you said (because I'm not sure I got it the first time)...
Keep ARCH_VT8500 as the single-platform Kconfig option.
Add a new ARCH_VT8500_MULTI (for example) as the multiplatform Kconfig option.
Have ARCH_VT8500_MULTI select ARCH_VT8500??
The last bit confuses me (and seems a little backwards, although I suspect it would work since none of the options would cause conflicts). Without ARCH_VT8500 selected, we have no driver options without changing all the Kconfig's.
If this is correct, we are basically using _MULTI to add more options on top of _VT8500.
Am I close or did I completely misunderstand? :)
Regards
Tony P
RFC PATCH 1/1 ARM: vt8500: Convert arch-vt8500 to multiplatform
Quoted 5 lines · linux at prisktech.co.nz
To clarify what you said (because I'm not sure I got it the first time)...
Keep
ARCH_VT8500as the single-platformKconfigoption.
Add a newARCH_VT8500_MULTI(for example) as the multiplatformKconfigoption.
Quoted 8 lines
Have
ARCH_VT8500_MULTIselectARCH_VT8500??The last bit confuses me (and seems a little backwards, although I suspect it would work since none of the options would cause conflicts). Without
ARCH_VT8500selected, we have no driver options without changing all the Kconfig's.If this is correct, we are basically using
_MULTIto add more options on top of_VT8500.
No, this would not work, because Kconfig does not let you 'select' a symbol that is inside of a 'choice' list.
The other way round works though: rename the existing ARCH_VT8500 to ARCH_VT8500_SINGLE, and add a new symbol in arch/arm/mach-vt8500/Kconfig like
config VT8500
bool "Via/Wondermedia VT8500 / WM8505 / WM8650" if ARCH_MULTI_V5
default ARCH_VT8500_SINGLEThis one becomes visible when ARCH_MULTI_V5 is set but invisible in a other cases. The 'default ARCH_VT8500_SINGLE' statement means it is automatically enabled (but still invisible) if ARCH_VT8500_SINGLE is selected in the 'choice', and it's invisible and disabled in all other cases.
Arnd
RFC PATCH 1/1 ARM: vt8500: Convert arch-vt8500 to multiplatform
Quoted 26 lines · Arnd Bergmann
Quoted 5 lines · linux at prisktech.co.nz
To clarify what you said (because I'm not sure I got it the first time)...
Keep
ARCH_VT8500as the single-platformKconfigoption.
Add a newARCH_VT8500_MULTI(for example) as the multiplatformKconfigoption.Quoted 8 lines
Have
ARCH_VT8500_MULTIselectARCH_VT8500??The last bit confuses me (and seems a little backwards, although I suspect it would work since none of the options would cause conflicts). Without
ARCH_VT8500selected, we have no driver options without changing all the Kconfig's.If this is correct, we are basically using
_MULTIto add more options on top of_VT8500.No, this would not work, because
Kconfigdoes not let you 'select' a symbol that is inside of a 'choice' list.The other way round works though: rename the existing
ARCH_VT8500toARCH_VT8500_SINGLE, and add a new symbol inarch/arm/mach-vt8500/Kconfiglikeconfig VT8500
bool "Via/Wondermedia VT8500 / WM8505 / WM8650" if ARCH_MULTI_V5 default ARCH_VT8500_SINGLE
Quoted 7 lines
This one becomes visible when
ARCH_MULTI_V5is set but invisible in a other cases. The 'defaultARCH_VT8500_SINGLE' statement means it is automatically enabled (but still invisible) ifARCH_VT8500_SINGLEis selected in the 'choice', and it's invisible and disabled in all other cases.Arnd
I will leave the patch as is unless someone specifically needs earlyprintk in the mean time - at the moment, I don't need it again until we look to add WM8750 and WM8850 (Framebuffer problems at the moment).
There is plenty of other stuff to do for the existing platforms, and earlyprintk will be re-enabled once the support is readded.
Tony P