linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: thierry.reding@gmail.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] soc/tegra: move soc_device_register call out of arch/arm
Date: Wed, 11 Mar 2015 09:34:28 +0100	[thread overview]
Message-ID: <20150311083424.GA19391@ulmo.nvidia.com> (raw)
In-Reply-To: <1425868301-22767-1-git-send-email-josephl@nvidia.com>

On Mon, Mar 09, 2015 at 10:31:41AM +0800, Joseph Lo wrote:
> Expending the usage for both Tegra & Tegra64 SoCs.
> 
> Signed-off-by: Joseph Lo <josephl@nvidia.com>
> ---
>  arch/arm/mach-tegra/tegra.c | 31 +------------------------------
>  drivers/soc/tegra/common.c  | 33 +++++++++++++++++++++++++++++++++
>  2 files changed, 34 insertions(+), 30 deletions(-)
> 
> diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c
> index 914341bcef25..95df6a97b956 100644
> --- a/arch/arm/mach-tegra/tegra.c
> +++ b/arch/arm/mach-tegra/tegra.c
> @@ -87,36 +87,7 @@ static void __init tegra_dt_init_irq(void)
>  
>  static void __init tegra_dt_init(void)
>  {
> -	struct soc_device_attribute *soc_dev_attr;
> -	struct soc_device *soc_dev;
> -	struct device *parent = NULL;
> -
> -	soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
> -	if (!soc_dev_attr)
> -		goto out;
> -
> -	soc_dev_attr->family = kasprintf(GFP_KERNEL, "Tegra");
> -	soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%d",
> -					   tegra_sku_info.revision);
> -	soc_dev_attr->soc_id = kasprintf(GFP_KERNEL, "%u", tegra_get_chip_id());
> -
> -	soc_dev = soc_device_register(soc_dev_attr);
> -	if (IS_ERR(soc_dev)) {
> -		kfree(soc_dev_attr->family);
> -		kfree(soc_dev_attr->revision);
> -		kfree(soc_dev_attr->soc_id);
> -		kfree(soc_dev_attr);
> -		goto out;
> -	}
> -
> -	parent = soc_device_to_device(soc_dev);
> -
> -	/*
> -	 * Finished with the static registrations now; fill in the missing
> -	 * devices
> -	 */
> -out:
> -	of_platform_populate(NULL, of_default_bus_match_table, NULL, parent);
> +	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);

One of the reasons for adding the soc_device in the first place was so
that it would be possible to use it as the parent for all devices that
are instantiated from device tree. You remove that here, and break the
ABI in the process. Arguably no userspace should be relying on the exact
path in sysfs, but I'd still like to keep the top-level parent.

Which reminds me of a discussion a while back about introducing a top-
level driver for the SoC. I'm not sure if anything came of that.

Stephen, do you know if there was a conclusion on that discussion? As
far as I remember this sparked around the time when we moved drivers to
drivers/soc and started splitting things up into initcalls. I'm thinking
that if nothing like that was created yet, perhaps soc_device and
soc_bus_type would be good candidates to implement this on top of.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150311/2a5fc161/attachment.sig>

  reply	other threads:[~2015-03-11  8:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-09  2:31 [PATCH] soc/tegra: move soc_device_register call out of arch/arm Joseph Lo
2015-03-11  8:34 ` Thierry Reding [this message]
2015-03-12  0:40   ` Joseph Lo
2015-03-11 16:22 ` Uwe Kleine-König
2015-03-12  0:35   ` Joseph Lo

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=20150311083424.GA19391@ulmo.nvidia.com \
    --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;
as well as URLs for NNTP newsgroup(s).