public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: arnd@arndb•de (Arnd Bergmann)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v4 3/9] arm: mach-mvebu: add source files
Date: Tue, 26 Jun 2012 16:17:19 +0000	[thread overview]
Message-ID: <201206261617.20954.arnd@arndb.de> (raw)
In-Reply-To: <1340699313-29331-4-git-send-email-gregory.clement@free-electrons.com>

On Tuesday 26 June 2012, Gregory Clement wrote:
> From: Gregory CLEMENT <gregory.clement@free-electrons•com>
> 
> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons•com>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons•com>
> Signed-off-by: Lior Amsalem <alior@marvell•com>

This driver seems to do all the right things now, good work.

> +static void __iomem *system_controller_base;
> +static void __iomem *reset_base;
> +static unsigned long rstoutn_mask_reset_out_en;
> +
> +/* System controller registers */
> +#define ARMADA_370_XP_RESET_OFFSET		  0x60
> +#define OTHER_MVEBU_RESET_OFFSET		 0x108
> +#define MVEBU_RSTOUTN_MASK_OFFSET		   0x0
> +#define   OTHER_MVEBU_RSTOUTN_MASK_RESET_OUT_EN	   0x4
> +#define   ARMADA_370_XP_RSTOUTN_MASK_RESET_OUT_EN  0x1
> +#define MVEBU_SYSTEM_SOFT_RESET_OFFSET		   0x4
> +#define   MVEBU_SYSTEM_SOFT_RESET		   0x1
> +
> +#define OTHER_MVEBU_VARIANT	1
> +#define ARMADA_370_XP_VARIANT	2

I think this can be expressed nicer with pointers to data structures,
like

static void __iomem *system_controller_base;

struct mvebu_system_controller {
	u32 rstoutn_mask_offset;
	u32 system_soft_reset_offset;

	u32 rstoutn_mask_reset_out_en;
	u32 system_soft_reset;
};

const struct mvebu_system_controller armada_370_xp_system_controller = {
	.rstoutn_mask_offset = 0x60,
	.system_soft_reset_offset = 0x64,
	.rstoutn_mask_reset_out_en = 0x1,
	.system_soft_reset = 0x1,
};

const struct mvebu_system_controller orion_system_controller = {
	.rstoutn_mask_offset = 0x108,
	.system_soft_reset_offset = 0x10c,
	.rstoutn_mask_reset_out_en = 0x4,
	.system_soft_reset = 0x1,
};

static struct of_device_id of_system_controller_table[] = {
	{.compatible = "marvell,orion-system-controller",
	 .data = &orion,system_controller},
	{.compatible = "marvell,armada-370-xp-system-controller",
	 .data = &armada_370_xp_system_controller,
	{ /* end of list */ },
};

> +void mvebu_restart(char mode, const char *cmd)
> +{
> +	if (!system_controller_base) {
> +		pr_warn("Cannot restart, system-controller not available\n");
> +		return;
> +	}

I guess returning here is a bug, you should just enter the endless
loop.

	Arnd

  parent reply	other threads:[~2012-06-26 16:17 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-26  8:28 [PATCH v4] arm: Add basic support for new Marvell Armada 370 and Armada XP SoC Gregory Clement
2012-06-26  8:28 ` [PATCH v4 1/9] clocksource: time-armada-370-xp: Marvell Armada 370/XP SoC timer driver Gregory Clement
2012-06-26  8:28 ` [PATCH v4 2/9] arm: mach-mvebu: add header Gregory Clement
2012-06-26  8:28 ` [PATCH v4 3/9] arm: mach-mvebu: add source files Gregory Clement
2012-06-26  8:47   ` Andrew Lunn
2012-06-26 10:05     ` Gregory CLEMENT
2012-06-26 10:21       ` Andrew Lunn
2012-06-26 16:17   ` Arnd Bergmann [this message]
2012-06-27  7:52     ` Gregory CLEMENT
2012-06-27  9:02     ` Ben Dooks
2012-06-26  8:28 ` [PATCH v4 4/9] arm: mach-mvebu: add support for Armada 370 and Armada XP with DT Gregory Clement
2012-06-26  8:28 ` [PATCH v4 5/9] arm: mach-mvebu: add documentation for new device tree bindings Gregory Clement
2012-06-26  8:53   ` Andrew Lunn
2012-06-26  9:42     ` Gregory CLEMENT
2012-06-26  8:28 ` [PATCH v4 6/9] arm: mach-mvebu: add defconfig Gregory Clement
2012-06-26  8:28 ` [PATCH v4 7/9] arm: mach-mvebu: add compilation/configuration change Gregory Clement
2012-06-26  8:28 ` [PATCH v4 8/9] arm: mach-mvebu: add entry to MAINTAINERS Gregory Clement
2012-06-26  8:28 ` [PATCH v4 9/9] ARM: mvebu: MPIC: read number of interrupts from control register Gregory Clement
2012-06-27  8:57 ` [PATCH v4] arm: Add basic support for new Marvell Armada 370 and Armada XP SoC Ben Dooks
2012-06-27  9:03   ` Gregory CLEMENT

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=201206261617.20954.arnd@arndb.de \
    --to=arnd@arndb$(echo .)de \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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