All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Peter De Schrijver
	<pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Thierry Reding
	<thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Herbert Xu
	<herbert-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org>,
	Prashant Gaikwad
	<pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Alexandre Courbot
	<acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
	Danny Huang <dahuang-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH v2 4/6] ARM: tegra: rework fuse.c
Date: Mon, 06 Jan 2014 13:50:42 -0700	[thread overview]
Message-ID: <52CB1722.70306@wwwdotorg.org> (raw)
In-Reply-To: <1387891931-9854-5-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

On 12/24/2013 06:32 AM, Peter De Schrijver wrote:
> Reduce fuse.c to the minimum functionality required for the early bootstages.
>
> Also export tegra_read_straps() for use by the fuse driver.

Since the fuse driver is tristate, it could be a module. Doesn't it
literally need to be EXPORT_SYMBOL'd, not simply not static?

I'm rather worried that this series isn't bisectable, since this patch
removes a bunch of code that's replaced by code in the fuse driver which
can't be built/linked at this point in the series. I'm also worried
about initialization ordering, since a lot of the fuse code could be a
module...

> diff --git a/arch/arm/mach-tegra/fuse.c b/arch/arm/mach-tegra/fuse.c

> -/* Tegra20 only */
>  #define FUSE_UID_LOW		0x108
>  #define FUSE_UID_HIGH		0x10c

Why remove that comment but leave the two defines it applies to?

>  #define TEGRA20_FUSE_SPARE_BIT		0x200

That define, and tegra_spare_fuse() which uses it, are no longer used
after patch 5/6, but aren't removed in patch 5/6. Perhaps it'd be better
to squash or re-order the two patches, so this dead code can be removed?

> -int tegra_sku_id;
> -int tegra_cpu_process_id;
> -int tegra_core_process_id;
>  int tegra_chip_id;
> -int tegra_cpu_speedo_id;		/* only exist in Tegra30 and later */
> -int tegra_soc_speedo_id;
>  enum tegra_revision tegra_revision;

It's a bit odd to remove most of this, but leave a few parts hanging
around. Wouldn't it be better to the drivers/misc/fuse code to export
this, so that /all/ the fuse logic was there, rather than part of it
being left over in arch/arm/? We'll need to fix that up anyway when we
start using these globals on ARMv8, so may as well get it right now.
Also, I rather think that the new drivers/misc/fuse code shouldn't be a
module or driver, so that we can guarantee it's always there to provide
the globals and that they are initialized early enough...

WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 4/6] ARM: tegra: rework fuse.c
Date: Mon, 06 Jan 2014 13:50:42 -0700	[thread overview]
Message-ID: <52CB1722.70306@wwwdotorg.org> (raw)
In-Reply-To: <1387891931-9854-5-git-send-email-pdeschrijver@nvidia.com>

On 12/24/2013 06:32 AM, Peter De Schrijver wrote:
> Reduce fuse.c to the minimum functionality required for the early bootstages.
>
> Also export tegra_read_straps() for use by the fuse driver.

Since the fuse driver is tristate, it could be a module. Doesn't it
literally need to be EXPORT_SYMBOL'd, not simply not static?

I'm rather worried that this series isn't bisectable, since this patch
removes a bunch of code that's replaced by code in the fuse driver which
can't be built/linked at this point in the series. I'm also worried
about initialization ordering, since a lot of the fuse code could be a
module...

> diff --git a/arch/arm/mach-tegra/fuse.c b/arch/arm/mach-tegra/fuse.c

> -/* Tegra20 only */
>  #define FUSE_UID_LOW		0x108
>  #define FUSE_UID_HIGH		0x10c

Why remove that comment but leave the two defines it applies to?

>  #define TEGRA20_FUSE_SPARE_BIT		0x200

That define, and tegra_spare_fuse() which uses it, are no longer used
after patch 5/6, but aren't removed in patch 5/6. Perhaps it'd be better
to squash or re-order the two patches, so this dead code can be removed?

> -int tegra_sku_id;
> -int tegra_cpu_process_id;
> -int tegra_core_process_id;
>  int tegra_chip_id;
> -int tegra_cpu_speedo_id;		/* only exist in Tegra30 and later */
> -int tegra_soc_speedo_id;
>  enum tegra_revision tegra_revision;

It's a bit odd to remove most of this, but leave a few parts hanging
around. Wouldn't it be better to the drivers/misc/fuse code to export
this, so that /all/ the fuse logic was there, rather than part of it
being left over in arch/arm/? We'll need to fix that up anyway when we
start using these globals on ARMv8, so may as well get it right now.
Also, I rather think that the new drivers/misc/fuse code shouldn't be a
module or driver, so that we can guarantee it's always there to provide
the globals and that they are initialized early enough...

WARNING: multiple messages have this Message-ID (diff)
From: Stephen Warren <swarren@wwwdotorg.org>
To: Peter De Schrijver <pdeschrijver@nvidia.com>
Cc: linux-arm-kernel@lists.infradead.org,
	linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org,
	Russell King <linux@arm.linux.org.uk>,
	Thierry Reding <thierry.reding@gmail.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Prashant Gaikwad <pgaikwad@nvidia.com>,
	Alexandre Courbot <acourbot@nvidia.com>,
	Olof Johansson <olof@lixom.net>, Danny Huang <dahuang@nvidia.com>
Subject: Re: [PATCH v2 4/6] ARM: tegra: rework fuse.c
Date: Mon, 06 Jan 2014 13:50:42 -0700	[thread overview]
Message-ID: <52CB1722.70306@wwwdotorg.org> (raw)
In-Reply-To: <1387891931-9854-5-git-send-email-pdeschrijver@nvidia.com>

On 12/24/2013 06:32 AM, Peter De Schrijver wrote:
> Reduce fuse.c to the minimum functionality required for the early bootstages.
>
> Also export tegra_read_straps() for use by the fuse driver.

Since the fuse driver is tristate, it could be a module. Doesn't it
literally need to be EXPORT_SYMBOL'd, not simply not static?

I'm rather worried that this series isn't bisectable, since this patch
removes a bunch of code that's replaced by code in the fuse driver which
can't be built/linked at this point in the series. I'm also worried
about initialization ordering, since a lot of the fuse code could be a
module...

> diff --git a/arch/arm/mach-tegra/fuse.c b/arch/arm/mach-tegra/fuse.c

> -/* Tegra20 only */
>  #define FUSE_UID_LOW		0x108
>  #define FUSE_UID_HIGH		0x10c

Why remove that comment but leave the two defines it applies to?

>  #define TEGRA20_FUSE_SPARE_BIT		0x200

That define, and tegra_spare_fuse() which uses it, are no longer used
after patch 5/6, but aren't removed in patch 5/6. Perhaps it'd be better
to squash or re-order the two patches, so this dead code can be removed?

> -int tegra_sku_id;
> -int tegra_cpu_process_id;
> -int tegra_core_process_id;
>  int tegra_chip_id;
> -int tegra_cpu_speedo_id;		/* only exist in Tegra30 and later */
> -int tegra_soc_speedo_id;
>  enum tegra_revision tegra_revision;

It's a bit odd to remove most of this, but leave a few parts hanging
around. Wouldn't it be better to the drivers/misc/fuse code to export
this, so that /all/ the fuse logic was there, rather than part of it
being left over in arch/arm/? We'll need to fix that up anyway when we
start using these globals on ARMv8, so may as well get it right now.
Also, I rather think that the new drivers/misc/fuse code shouldn't be a
module or driver, so that we can guarantee it's always there to provide
the globals and that they are initialized early enough...

  parent reply	other threads:[~2014-01-06 20:50 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-24 13:32 [PATCH v2 0/6] efuse driver for Tegra Peter De Schrijver
2013-12-24 13:32 ` Peter De Schrijver
2013-12-24 13:32 ` Peter De Schrijver
     [not found] ` <1387891931-9854-1-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-12-24 13:32   ` [PATCH v2 1/6] ARM: tegra: export apb dma readl/writel Peter De Schrijver
2013-12-24 13:32     ` Peter De Schrijver
2013-12-24 13:32     ` Peter De Schrijver
     [not found]     ` <1387891931-9854-2-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-01-06 20:07       ` Stephen Warren
2014-01-06 20:07         ` Stephen Warren
2014-01-06 20:07         ` Stephen Warren
     [not found]         ` <52CB0CFE.4070901-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-01-07 12:54           ` Peter De Schrijver
2014-01-07 12:54             ` Peter De Schrijver
2014-01-07 12:54             ` Peter De Schrijver
2013-12-24 13:32   ` [PATCH v2 4/6] ARM: tegra: rework fuse.c Peter De Schrijver
2013-12-24 13:32     ` Peter De Schrijver
2013-12-24 13:32     ` Peter De Schrijver
2014-01-03 11:19     ` Alexandre Courbot
2014-01-03 11:19       ` Alexandre Courbot
2014-01-03 11:19       ` Alexandre Courbot
     [not found]     ` <1387891931-9854-5-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-01-06 20:50       ` Stephen Warren [this message]
2014-01-06 20:50         ` Stephen Warren
2014-01-06 20:50         ` Stephen Warren
     [not found]         ` <52CB1722.70306-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-01-07 14:10           ` Peter De Schrijver
2014-01-07 14:10             ` Peter De Schrijver
2014-01-07 14:10             ` Peter De Schrijver
     [not found]             ` <20140107141004.GF26588-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org>
2014-01-07 20:47               ` Stephen Warren
2014-01-07 20:47                 ` Stephen Warren
2014-01-07 20:47                 ` Stephen Warren
     [not found]                 ` <52CC67C9.9000704-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-01-08  8:31                   ` Peter De Schrijver
2014-01-08  8:31                     ` Peter De Schrijver
2014-01-08  8:31                     ` Peter De Schrijver
2013-12-24 13:32 ` [PATCH v2 2/6] misc: fuse: Add efuse driver for Tegra Peter De Schrijver
2013-12-24 13:32   ` Peter De Schrijver
2013-12-24 13:32   ` Peter De Schrijver
2014-01-06 20:32   ` Stephen Warren
2014-01-06 20:32     ` Stephen Warren
     [not found]     ` <52CB12D8.7000203-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-01-07 14:05       ` Peter De Schrijver
2014-01-07 14:05         ` Peter De Schrijver
2014-01-07 14:05         ` Peter De Schrijver
     [not found]         ` <20140107140502.GE26588-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org>
2014-01-07 20:41           ` Stephen Warren
2014-01-07 20:41             ` Stephen Warren
2014-01-07 20:41             ` Stephen Warren
2013-12-24 13:32 ` [PATCH v2 3/6] ARM: tegra: Add efuse bindings Peter De Schrijver
2013-12-24 13:32   ` Peter De Schrijver
2013-12-24 13:32   ` Peter De Schrijver
     [not found]   ` <1387891931-9854-4-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-01-06 20:40     ` Stephen Warren
2014-01-06 20:40       ` Stephen Warren
2014-01-06 20:40       ` Stephen Warren
     [not found]       ` <52CB14D3.2060904-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-01-08 13:39         ` Thierry Reding
2014-01-08 13:39           ` Thierry Reding
2014-01-08 13:39           ` Thierry Reding
     [not found]           ` <20140108133951.GD1592-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2014-01-08 18:50             ` Stephen Warren
2014-01-08 18:50               ` Stephen Warren
2014-01-08 18:50               ` Stephen Warren
     [not found]               ` <52CD9DFB.9010007-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-01-08 20:05                 ` Thierry Reding
2014-01-08 20:05                   ` Thierry Reding
2014-01-08 20:05                   ` Thierry Reding
2014-01-08 20:09                 ` Thierry Reding
2014-01-08 20:09                   ` Thierry Reding
2014-01-08 20:09                   ` Thierry Reding
     [not found]                   ` <20140108200946.GE1298-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2014-01-08 22:41                     ` Stephen Warren
2014-01-08 22:41                       ` Stephen Warren
2014-01-08 22:41                       ` Stephen Warren
     [not found]                       ` <52CDD430.3010508-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-01-09 12:40                         ` Thierry Reding
2014-01-09 12:40                           ` Thierry Reding
2014-01-09 12:40                           ` Thierry Reding
2013-12-24 13:32 ` [PATCH v2 5/6] ARM: Tegra: remove speedo files Peter De Schrijver
2013-12-24 13:32   ` Peter De Schrijver
2013-12-24 13:32   ` Peter De Schrijver
2013-12-24 13:32 ` [PATCH v2 6/6] misc: enable fuse drivers Peter De Schrijver
2013-12-24 13:32   ` Peter De Schrijver
2013-12-24 13:32   ` Peter De Schrijver

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=52CB1722.70306@wwwdotorg.org \
    --to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
    --cc=acourbot-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=dahuang-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=herbert-lOAM2aK0SrRLBo1qDEOMRrpzq4S04n8Q@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
    --cc=pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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 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.