mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jason Cooper <jason@lakedaemon.net>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Russell King <linux@arm.linux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Gregory CLEMENT <gregory.clement@free-electrons.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 5/7] ARM: kirkwood: convert to DT irqchip and clocksource
Date: Tue, 2 Jul 2013 07:53:11 -0400	[thread overview]
Message-ID: <20130702115311.GG19937@titan.lakedaemon.net> (raw)
In-Reply-To: <1372763023-12374-6-git-send-email-sebastian.hesselbarth@gmail.com>

On Tue, Jul 02, 2013 at 01:03:41PM +0200, Sebastian Hesselbarth wrote:
> With recent support for true irqchip and clocksource drivers for Orion
> SoCs, now make use of it on DT enabled Kirkwood boards.
> 
> This also introduces a new Kconfig option for legacy (non-DT) Kirkwood
> where old code is moved out to and polishes DT board file a little bit.
> 
> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
> --- 
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Jason Cooper <jason@lakedaemon.net>
> Cc: Andrew Lunn <andrew@lunn.ch>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> ---
>  arch/arm/mach-kirkwood/Kconfig    |   22 ++++++++++++++++++++++
>  arch/arm/mach-kirkwood/Makefile   |    4 ++--
>  arch/arm/mach-kirkwood/board-dt.c |   24 +++++++++++++++++-------
>  3 files changed, 41 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
> index 493c71a..ede131e 100644
> --- a/arch/arm/mach-kirkwood/Kconfig
> +++ b/arch/arm/mach-kirkwood/Kconfig
> @@ -2,67 +2,81 @@ if ARCH_KIRKWOOD
>  
>  menu "Marvell Kirkwood Implementations"
>  
> +config KIRKWOOD_LEGACY
> +	bool
> +
>  config MACH_D2NET_V2
>  	bool "LaCie d2 Network v2 NAS Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  LaCie d2 Network v2 NAS.
>  
>  config MACH_DOCKSTAR
>  	bool "Seagate FreeAgent DockStar"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  Seagate FreeAgent DockStar.
>  
>  config MACH_ESATA_SHEEVAPLUG
>  	bool "Marvell eSATA SheevaPlug Reference Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  Marvell eSATA SheevaPlug Reference Board.
>  
>  config MACH_GURUPLUG
>  	bool "Marvell GuruPlug Reference Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  Marvell GuruPlug Reference Board.
>  
>  config MACH_INETSPACE_V2
>  	bool "LaCie Internet Space v2 NAS Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  LaCie Internet Space v2 NAS.
>  
>  config MACH_MV88F6281GTW_GE
>  	bool "Marvell 88F6281 GTW GE Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  Marvell 88F6281 GTW GE Board.
>  
>  config MACH_NET2BIG_V2
>  	bool "LaCie 2Big Network v2 NAS Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  LaCie 2Big Network v2 NAS.
>  
>  config MACH_NET5BIG_V2
>  	bool "LaCie 5Big Network v2 NAS Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  LaCie 5Big Network v2 NAS.
>  
>  config MACH_NETSPACE_MAX_V2
>  	bool "LaCie Network Space Max v2 NAS Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  LaCie Network Space Max v2 NAS.
>  
>  config MACH_NETSPACE_V2
>  	bool "LaCie Network Space v2 NAS Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  LaCie Network Space v2 NAS.
>  
>  config MACH_OPENRD
> +	select KIRKWOOD_LEGACY
>          bool
>  
>  config MACH_OPENRD_BASE
> @@ -88,30 +102,35 @@ config MACH_OPENRD_ULTIMATE
>  
>  config MACH_RD88F6192_NAS
>  	bool "Marvell RD-88F6192-NAS Reference Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  Marvell RD-88F6192-NAS Reference Board.
>  
>  config MACH_RD88F6281
>  	bool "Marvell RD-88F6281 Reference Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  Marvell RD-88F6281 Reference Board.
>  
>  config MACH_SHEEVAPLUG
>  	bool "Marvell SheevaPlug Reference Board"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  Marvell SheevaPlug Reference Board.
>  
>  config MACH_T5325
>  	bool "HP t5325 Thin Client"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  HP t5325 Thin Client.
>  
>  config MACH_TS219
>  	bool "QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and TS-219P+ Turbo NAS"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  QNAP TS-110, TS-119, TS-119P+, TS-210, TS-219, TS-219P and
> @@ -119,6 +138,7 @@ config MACH_TS219
>  
>  config MACH_TS41X
>  	bool "QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo NAS"
> +	select KIRKWOOD_LEGACY
>  	help
>  	  Say 'Y' here if you want your kernel to support the
>  	  QNAP TS-410, TS-410U, TS-419P, TS-419P+ and TS-419U Turbo
> @@ -129,6 +149,8 @@ comment "Device tree entries"
>  config ARCH_KIRKWOOD_DT
>  	bool "Marvell Kirkwood Flattened Device Tree"
>  	select KIRKWOOD_CLK
> +	select ORION_IRQCHIP
> +	select ORION_TIMER
>  	select POWER_SUPPLY
>  	select POWER_RESET
>  	select POWER_RESET_GPIO
> diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile
> index 062f8c7..f78f333 100644
> --- a/arch/arm/mach-kirkwood/Makefile
> +++ b/arch/arm/mach-kirkwood/Makefile
> @@ -1,5 +1,5 @@
> -obj-y				+= common.o irq.o pcie.o mpp.o
> -
> +obj-y				+= common.o pcie.o
> +obj-$(CONFIG_KIRKWOOD_LEGACY)	+= irq.o mpp.o
>  obj-$(CONFIG_MACH_D2NET_V2)		+= d2net_v2-setup.o lacie_v2-common.o
>  obj-$(CONFIG_MACH_DOCKSTAR)		+= dockstar-setup.o
>  obj-$(CONFIG_MACH_ESATA_SHEEVAPLUG)	+= sheevaplug-setup.o
> diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
> index 881f37e..385244c 100644
> --- a/arch/arm/mach-kirkwood/board-dt.c
> +++ b/arch/arm/mach-kirkwood/board-dt.c
> @@ -15,6 +15,9 @@
>  #include <linux/of.h>
>  #include <linux/of_platform.h>
>  #include <linux/clk-provider.h>
> +#include <linux/clocksource.h>
> +#include <linux/dma-mapping.h>
> +#include <linux/irqchip.h>
>  #include <linux/kexec.h>
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
> @@ -67,10 +70,18 @@ static void __init kirkwood_legacy_clk_init(void)
>  	clk_prepare_enable(clk);
>  }
>  
> -static void __init kirkwood_of_clk_init(void)
> +static void __init kirkwood_dt_time_init(void)
>  {
>  	of_clk_init(NULL);
> -	kirkwood_legacy_clk_init();
> +	clocksource_of_init();
> +}
> +
> +static void __init kirkwood_dt_init_early(void)
> +{


> +	init_dma_coherent_pool_size(SZ_1M);

This shouldn't be needed any more.  Is there a reason you're adding it
back in?

thx,

Jason.

> +	mvebu_mbus_init("marvell,kirkwood-mbus",
> +			BRIDGE_WINS_BASE, BRIDGE_WINS_SZ,
> +			DDR_WINDOW_CPU_BASE, DDR_WINDOW_CPU_SZ);
>  }
>  
>  static void __init kirkwood_dt_init(void)
> @@ -91,8 +102,8 @@ static void __init kirkwood_dt_init(void)
>  
>  	kirkwood_cpufreq_init();
>  
> -	/* Setup root of clk tree */
> -	kirkwood_of_clk_init();
> +	/* Setup clocks for legacy devices */
> +	kirkwood_legacy_clk_init();
>  
>  	kirkwood_cpuidle_init();
>  
> @@ -114,9 +125,8 @@ static const char * const kirkwood_dt_board_compat[] = {
>  DT_MACHINE_START(KIRKWOOD_DT, "Marvell Kirkwood (Flattened Device Tree)")
>  	/* Maintainer: Jason Cooper <jason@lakedaemon.net> */
>  	.map_io		= kirkwood_map_io,
> -	.init_early	= kirkwood_init_early,
> -	.init_irq	= orion_dt_init_irq,
> -	.init_time	= kirkwood_timer_init,
> +	.init_early	= kirkwood_dt_init_early,
> +	.init_time	= kirkwood_dt_time_init,
>  	.init_machine	= kirkwood_dt_init,
>  	.restart	= kirkwood_restart,
>  	.dt_compat	= kirkwood_dt_board_compat,
> -- 
> 1.7.2.5
> 

  reply	other threads:[~2013-07-02 11:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-02 11:03 [PATCH v4 0/7] ARM: mvebu: switch to DT probed " Sebastian Hesselbarth
2013-07-02 11:03 ` [PATCH v4 1/7] ARM: dove: move device tree nodes to DT " Sebastian Hesselbarth
2013-07-02 11:03 ` [PATCH v4 2/7] ARM: kirkwood: " Sebastian Hesselbarth
2013-07-02 11:03 ` [PATCH v4 3/7] ARM: orion5x: update intc device tree node to new reg layout Sebastian Hesselbarth
2013-07-02 11:03 ` [PATCH v4 4/7] ARM: dove: convert to DT irqchip and clocksource Sebastian Hesselbarth
2013-07-02 11:03 ` [PATCH v4 5/7] ARM: kirkwood: " Sebastian Hesselbarth
2013-07-02 11:53   ` Jason Cooper [this message]
2013-07-02 12:51     ` Sebastian Hesselbarth
2013-07-02 13:00       ` Jason Cooper
2013-07-02 13:15   ` [PATCH v5 " Sebastian Hesselbarth
2013-07-02 13:36     ` Jason Cooper
2013-07-02 11:03 ` [PATCH v4 6/7] ARM: kirkwood: remove obsolete SDIO clock gate workaround Sebastian Hesselbarth
2013-07-02 11:03 ` [PATCH v4 7/7] ARM: plat-orion: add reg offset to DT irq driver stub Sebastian Hesselbarth
2013-07-25 18:19 ` [PATCH v4 0/7] ARM: mvebu: switch to DT probed irqchip and clocksource Jason Cooper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130702115311.GG19937@titan.lakedaemon.net \
    --to=jason@lakedaemon.net \
    --cc=andrew@lunn.ch \
    --cc=gregory.clement@free-electrons.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=thomas.petazzoni@free-electrons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®