public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: thierry.reding@gmail.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] soc/tegra: Register SoC device
Date: Tue, 22 Aug 2017 13:19:22 +0200	[thread overview]
Message-ID: <20170822111922.GA15965@ulmo> (raw)
In-Reply-To: <61dde661-313f-0b51-233b-ce957c514a55@arm.com>

On Tue, Aug 22, 2017 at 11:15:21AM +0100, Sudeep Holla wrote:
> 
> 
> On 17/08/17 15:42, Thierry Reding wrote:
> > From: Thierry Reding <treding@nvidia.com>
> > 
> > Move this code from arch/arm/mach-tegra and make it common among 32-bit
> > and 64-bit Tegra SoCs. This is slightly complicated by the fact that on
> > 32-bit Tegra, the SoC device is used as the parent for all devices that
> > are instantiated from device tree.
> > 
> 
> This seem to be in linux-next and causing the below splat on my platform
> which is not Tegra :)
> 
> WARNING: .... at drivers/soc/tegra/fuse/tegra-apbmisc.c:48
> tegra_get_chip_id+0x30/0x40
> Modules linked in:
> CPU: 2 PID: 1 Comm: swapper/0 Not tainted
> 4.13.0-rc6-next-20170822-00008-g52a8e57512ae #13
> task: ffff8009768a0000 task.stack: ffff000008038000
> PC is at tegra_get_chip_id+0x30/0x40
> LR is at tegra_get_chip_id+0x30/0x40
>  tegra_get_chip_id+0x30/0x40
>  tegra_soc_device_register+0x68/0xd0
>  tegra_init_soc+0x10/0x44
>  do_one_initcall+0x38/0x120
>  kernel_init_freeable+0x184/0x224
>  kernel_init+0x10/0x100
>  ret_from_fork+0x10/0x18

Indeed. Does the below patch fix this?

Thierry

--- >8 ---
>From 5706cacc2af5e4ef138d1cd9e1269ca4947a447f Mon Sep 17 00:00:00 2001
From: Thierry Reding <treding@nvidia.com>
Date: Tue, 22 Aug 2017 13:15:18 +0200
Subject: [PATCH] soc/tegra: Restrict SoC device registration to Tegra

Commit 8a46828e623c ("soc/tegra: Register SoC device") added an initcall
to register the SoC device on Tegra. However, that code is unrestricted
and will run on all platforms, causing unwanted warnings.

Fix this by first checking that we're running on hardware that supports
the fuses block that we use to provide SoC information.

Fixes: 8a46828e623c ("soc/tegra: Register SoC device")
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 drivers/soc/tegra/fuse/fuse-tegra.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/soc/tegra/fuse/fuse-tegra.c b/drivers/soc/tegra/fuse/fuse-tegra.c
index 02686378dfc1..161522bd98ac 100644
--- a/drivers/soc/tegra/fuse/fuse-tegra.c
+++ b/drivers/soc/tegra/fuse/fuse-tegra.c
@@ -349,8 +349,16 @@ early_initcall(tegra_init_fuse);
 #ifdef CONFIG_ARM64
 static int __init tegra_init_soc(void)
 {
+	struct device_node *np;
 	struct device *soc;
 
+	/* make sure we're running on Tegra */
+	np = of_find_matching_node(NULL, tegra_fuse_match);
+	if (!np)
+		return 0;
+
+	of_node_put(np);
+
 	soc = tegra_soc_device_register();
 	if (IS_ERR(soc)) {
 		pr_err("failed to register SoC device: %ld\n", PTR_ERR(soc));
-- 
2.13.3

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170822/b05aad13/attachment.sig>

  reply	other threads:[~2017-08-22 11:19 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-17 14:42 [PATCH] soc/tegra: Register SoC device Thierry Reding
2017-08-22 10:15 ` Sudeep Holla
2017-08-22 11:19   ` Thierry Reding [this message]
2017-08-22 15:00     ` Sudeep Holla
2017-08-23  8:49     ` Arnd Bergmann
2017-08-23  9:11       ` Thierry Reding
2017-08-23  9:21         ` Arnd Bergmann

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=20170822111922.GA15965@ulmo \
    --to=thierry.reding@gmail.com \
    --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