linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC/PATCH] ARM: mvebu: Don't apply the quirks if the SoC revision is unknown
Date: Tue, 10 Jun 2014 10:21:09 +0200	[thread overview]
Message-ID: <5621673.VW5TXctBgm@wuerfel> (raw)
In-Reply-To: <1402342036-9168-1-git-send-email-ezequiel.garcia@free-electrons.com>

On Monday 09 June 2014 16:27:16 Ezequiel Garcia wrote:
> We currently skip the I2C and thermal quirks only if the SoC revision is
> known to be one that does not need them. If the SoC revision cannot be
> obtained, the current behavior is to apply the quirk assuming it's needed.
> 
> This commit changes this, by requiring the SoC revision to be known in order
> to peform a quirk.

This clearly needs a better description if we want to apply it. We had
a rather long discussion when the code was first added exactly this
way and you should explain which of the assumptions we made back then
are now incorrect.

Is it ever wrong (as opposed to inefficient) to apply the quirk even on a
newer SoC?

IIRC, the reasoning was that almost all machines have the new SoC version,
so they should have their DTs marked with the correct IDs already.

	Arnd

> diff --git a/arch/arm/mach-mvebu/board-v7.c b/arch/arm/mach-mvebu/board-v7.c
> index 594262b..14bf590 100644
> --- a/arch/arm/mach-mvebu/board-v7.c
> +++ b/arch/arm/mach-mvebu/board-v7.c
> @@ -89,13 +89,15 @@ static void __init i2c_quirk(void)
>  {
>  	struct device_node *np;
>  	u32 dev, rev;
> +	int res;
>  
>  	/*
>  	 * Only revisons more recent than A0 support the offload
>  	 * mechanism. We can exit only if we are sure that we can
>  	 * get the SoC revision and it is more recent than A0.
>  	 */
> -	if (mvebu_get_soc_id(&dev, &rev) == 0 && rev > MV78XX0_A0_REV)
> +	res = mvebu_get_soc_id(&dev, &rev);
> +	if (res < 0 || (res == 0 &&  rev > MV78XX0_A0_REV))
>  		return;
>  
>  	for_each_compatible_node(np, NULL, "marvell,mv78230-i2c") {
> @@ -119,8 +121,10 @@ static void __init thermal_quirk(void)
>  {
>  	struct device_node *np;
>  	u32 dev, rev;
> +	int res;
>  
> -	if (mvebu_get_soc_id(&dev, &rev) == 0 && rev > ARMADA_375_Z1_REV)
> +	res = mvebu_get_soc_id(&dev, &rev);
> +	if (res < 0 || (res == 0 && rev > ARMADA_375_Z1_REV))
>  		return;
>  
>  	for_each_compatible_node(np, NULL, "marvell,armada375-thermal") {
> 

  reply	other threads:[~2014-06-10  8:21 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-09 19:27 [RFC/PATCH] ARM: mvebu: Don't apply the quirks if the SoC revision is unknown Ezequiel Garcia
2014-06-10  8:21 ` Arnd Bergmann [this message]
2014-06-10 13:40   ` Ezequiel Garcia
2014-06-10 15:39     ` Gregory CLEMENT
2014-06-10 15:49       ` Ezequiel Garcia

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=5621673.VW5TXctBgm@wuerfel \
    --to=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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;
as well as URLs for NNTP newsgroup(s).