From: Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Sudeep KarkadaNagesha
<Sudeep.KarkadaNagesha-5wv7dgnIgG8@public.gmane.org>
Cc: David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>,
"grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: new cpu iteration code...
Date: Thu, 19 Sep 2013 08:26:04 -0500 [thread overview]
Message-ID: <523AFB6C.5070300@gmail.com> (raw)
In-Reply-To: <523AC214.4040601-5wv7dgnIgG8@public.gmane.org>
On 09/19/2013 04:21 AM, Sudeep KarkadaNagesha wrote:
> Hi David,
>
> On 18/09/13 22:37, David Miller wrote:
>>
>> I'm getting a flood of kernel log warnings on bootup now with
>> the generic of_get_cpu_node() code, it is wrong for sparc64
>> on several levels.
>>
>> There is never a root "/cpus" node, so this code always fails.
>> Usually the "cpu" nodes are simply listed at the top-level.
>>
>
> As per ePAPR:
Sparc is OpenFirmware not FDT which the ePAPR is concerned with.
> 3.6 CPUS Node Properties
> A cpus node is required for all device trees. It does not represent a
> real device in the system, but acts as a container for child cpu nodes
> which represent the systems CPUs. #address-cells and #size-cells are
> required property.
>
>> The correct way to go about this is to use something like:
>>
>> struct device_node *dp;
>>
>> for_each_node_by_type(dp, "cpu") {
>> }
>>
>> and therefore be agnostic as to the layout of the device
>> tree wrt. cpu nodes.
>>
>> Secondly, the property to use to get the physical cpu number is not
>> only different on sparc from what this code uses, but varies. It can
>> be either "upa-portid" or "portid". The "reg" property represents
>> various things and will be different for different cpu types and thus
>> is not a good candidate for fetching this information.
>
> The value of "reg" defines a unique CPU/thread id for the CPU/threads
> represented by the CPU node. This is again a deviation from ePAPR.
>
> I could not find any binding document or dts file with "upa-portid" or
> "portid" to think about possible solution.
>
> I am yet to understand definition of backward compatibility and
> adherence to ePAPR from device tree perspective. Do we consider this as
> broken DT as it doesn't adhere to ePAPR or do we need to have backward
> compatibility here ?
The simple solution here is to just remove the warning. It doesn't
appear to me that sparc ever sets the cpu device of_node pointer.
Are there any cases on where sparc does have a /cpus node? If so we'd
need to make of_get_cpu_node a weak function or depend on a kconfig option.
Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-09-19 13:26 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-18 21:37 new cpu iteration code David Miller
[not found] ` <20130918.173726.1443745664398441126.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2013-09-19 9:21 ` Sudeep KarkadaNagesha
[not found] ` <523AC214.4040601-5wv7dgnIgG8@public.gmane.org>
2013-09-19 10:52 ` David Miller
2013-09-19 13:26 ` Rob Herring [this message]
[not found] ` <523AFB6C.5070300-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-19 14:03 ` Sudeep KarkadaNagesha
2013-09-19 17:38 ` David Miller
[not found] ` <20130919.133805.1227344435777214810.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2013-09-20 16:44 ` Sudeep KarkadaNagesha
[not found] ` <523C7B54.3070706-5wv7dgnIgG8@public.gmane.org>
2013-09-20 17:16 ` David Miller
2013-09-22 20:13 ` Rob Herring
[not found] ` <523F4F6F.8030209-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-22 20:29 ` David Miller
[not found] ` <20130922.162915.1269060096375052591.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2013-09-25 2:29 ` Rob Herring
[not found] ` <CAL_JsqKNVqJbn559ruvFHg+FVGt8ou4v_Ntf-HphwxCNXQ7GfQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-03 20:11 ` Grant Likely
[not found] ` <CACxGe6soxNN6TjDw9h15c39FHzyGzY1OZX9cZ8FRQ_k4PinYvw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-03 20:26 ` David Miller
2013-10-03 21:24 ` David Miller
[not found] ` <20131003.172451.54508059414505899.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2013-10-04 10:27 ` Grant Likely
[not found] ` <CACxGe6u+L1JBg+1XAmLtxC+CdW1Uo39r8=czQxij0bPai6XO-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-04 17:29 ` David Miller
2013-10-04 10:34 ` Sudeep KarkadaNagesha
[not found] ` <524E99B0.9070805-5wv7dgnIgG8@public.gmane.org>
2013-10-04 17:27 ` Grant Likely
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=523AFB6C.5070300@gmail.com \
--to=robherring2-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=Sudeep.KarkadaNagesha-5wv7dgnIgG8@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@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.