All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH] ARM: vt8500: Convert arch-vt8500 to multiplatform
@ 2012-10-11  7:17 Tony Prisk
  2012-10-11  7:25 ` Alexey Charkov
  0 siblings, 1 reply; 8+ messages in thread
From: Tony Prisk @ 2012-10-11  7:17 UTC (permalink / raw)
  To: linux-arm-kernel

This patch completes the conversion to ARCH_MULTI_V5 for arch-vt8500.
Removed /mach/include/ and remaining unneeded files.

Signed-off-by: Tony Prisk <linux@prisktech.co.nz>
---
 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

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 32b62ac..e71ad2c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -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
diff --git a/arch/arm/mach-vt8500/include/mach/debug-macro.S b/arch/arm/mach-vt8500/include/mach/debug-macro.S
deleted file mode 100644
index ca292f2..0000000
--- a/arch/arm/mach-vt8500/include/mach/debug-macro.S
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * arch/arm/mach-vt8500/include/mach/debug-macro.S
- *
- *  Copyright (C) 2010 Alexey Charkov <alchark@gmail.com>
- *
- * 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
diff --git a/arch/arm/mach-vt8500/include/mach/timex.h b/arch/arm/mach-vt8500/include/mach/timex.h
deleted file mode 100644
index 8487e4c..0000000
--- a/arch/arm/mach-vt8500/include/mach/timex.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- *  arch/arm/mach-vt8500/include/mach/timex.h
- *
- *  Copyright (C) 2010 Alexey Charkov <alchark@gmail.com>
- *
- * 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 */
diff --git a/arch/arm/mach-vt8500/include/mach/uncompress.h b/arch/arm/mach-vt8500/include/mach/uncompress.h
deleted file mode 100644
index a9b6cae..0000000
--- a/arch/arm/mach-vt8500/include/mach/uncompress.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* arch/arm/mach-vt8500/include/mach/uncompress.h
- *
- * Copyright (C) 2010 Alexey Charkov <alchark@gmail.com>
- *
- * 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()
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [RFC PATCH] ARM: vt8500: Convert arch-vt8500 to multiplatform
  2012-10-11  7:17 [RFC PATCH] ARM: vt8500: Convert arch-vt8500 to multiplatform Tony Prisk
@ 2012-10-11  7:25 ` Alexey Charkov
  2012-10-11  7:47   ` Arnd Bergmann
  0 siblings, 1 reply; 8+ messages in thread
From: Alexey Charkov @ 2012-10-11  7:25 UTC (permalink / raw)
  To: linux-arm-kernel

2012/10/11 Tony Prisk <linux@prisktech.co.nz>:
> This patch completes the conversion to ARCH_MULTI_V5 for arch-vt8500.
> Removed /mach/include/ and remaining unneeded files.
>
> Signed-off-by: Tony Prisk <linux@prisktech.co.nz>
> ---
>  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
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 32b62ac..e71ad2c 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -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
> diff --git a/arch/arm/mach-vt8500/include/mach/debug-macro.S b/arch/arm/mach-vt8500/include/mach/debug-macro.S
> deleted file mode 100644
> index ca292f2..0000000
> --- a/arch/arm/mach-vt8500/include/mach/debug-macro.S
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -/*
> - * arch/arm/mach-vt8500/include/mach/debug-macro.S
> - *
> - *  Copyright (C) 2010 Alexey Charkov <alchark@gmail.com>
> - *
> - * 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

Does this imply that early printk won't be supported any longer, or am
I missing something?

Thanks,
Alexey

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [RFC PATCH] ARM: vt8500: Convert arch-vt8500 to multiplatform
  2012-10-11  7:25 ` Alexey Charkov
@ 2012-10-11  7:47   ` Arnd Bergmann
  2012-10-11 18:17     ` Tony Prisk
  0 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2012-10-11  7:47 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 11 October 2012, Alexey Charkov wrote:
> 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [RFC PATCH] ARM: vt8500: Convert arch-vt8500 to multiplatform
  2012-10-11  7:47   ` Arnd Bergmann
@ 2012-10-11 18:17     ` Tony Prisk
  2012-10-11 20:29       ` Arnd Bergmann
  0 siblings, 1 reply; 8+ messages in thread
From: Tony Prisk @ 2012-10-11 18:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, 2012-10-11 at 07:47 +0000, Arnd Bergmann wrote:
> On Thursday 11 October 2012, Alexey Charkov wrote:
> > 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

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [RFC PATCH] ARM: vt8500: Convert arch-vt8500 to multiplatform
  2012-10-11 18:17     ` Tony Prisk
@ 2012-10-11 20:29       ` Arnd Bergmann
  2012-10-11 22:33         ` linux at prisktech.co.nz
  0 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2012-10-11 20:29 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 11 October 2012, Tony Prisk wrote:
> > 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.

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [RFC PATCH] ARM: vt8500: Convert arch-vt8500 to multiplatform
  2012-10-11 20:29       ` Arnd Bergmann
@ 2012-10-11 22:33         ` linux at prisktech.co.nz
  2012-10-12  7:52           ` Arnd Bergmann
  0 siblings, 1 reply; 8+ messages in thread
From: linux at prisktech.co.nz @ 2012-10-11 22:33 UTC (permalink / raw)
  To: linux-arm-kernel

> On Thursday 11 October 2012, Tony Prisk wrote:
>> > 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.
>
> 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
>

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [RFC PATCH] ARM: vt8500: Convert arch-vt8500 to multiplatform
  2012-10-11 22:33         ` linux at prisktech.co.nz
@ 2012-10-12  7:52           ` Arnd Bergmann
  2012-10-13  4:58             ` Tony Prisk
  0 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2012-10-12  7:52 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 11 October 2012, linux at prisktech.co.nz wrote:
> 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.

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_SINGLE

This 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [RFC PATCH] ARM: vt8500: Convert arch-vt8500 to multiplatform
  2012-10-12  7:52           ` Arnd Bergmann
@ 2012-10-13  4:58             ` Tony Prisk
  0 siblings, 0 replies; 8+ messages in thread
From: Tony Prisk @ 2012-10-13  4:58 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, 2012-10-12 at 07:52 +0000, Arnd Bergmann wrote:
> On Thursday 11 October 2012, linux at prisktech.co.nz wrote:
> > 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.
> 
> 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_SINGLE
> 
> This 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

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-10-13  4:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-11  7:17 [RFC PATCH] ARM: vt8500: Convert arch-vt8500 to multiplatform Tony Prisk
2012-10-11  7:25 ` Alexey Charkov
2012-10-11  7:47   ` Arnd Bergmann
2012-10-11 18:17     ` Tony Prisk
2012-10-11 20:29       ` Arnd Bergmann
2012-10-11 22:33         ` linux at prisktech.co.nz
2012-10-12  7:52           ` Arnd Bergmann
2012-10-13  4:58             ` Tony Prisk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.