Thread (99 messages) 99 messages, 15 authors, 2015-03-16

[PATCH] ARM: /proc/cpuinfo: Use DT machine name when possible

From: Pali Rohár <hidden>
Date: 2014-12-04 00:48:35
Also in: lkml

On Thursday 04 December 2014 01:33:08 Rob Herring wrote:
On Mon, Nov 24, 2014 at 4:19 PM, Pali Roh?r 
[off-list ref] wrote:
quoted
On Wednesday 18 June 2014 22:46:19 Rob Herring wrote:
quoted
On Wed, Jun 18, 2014 at 2:22 PM, Pali Roh?r
[off-list ref] wrote:
quoted
quoted
On Wednesday 18 June 2014 21:07:35 Rob Herring wrote:
quoted
On Wed, Jun 18, 2014 at 11:54 AM, Pali Roh?r
[off-list ref] wrote:
quoted
quoted
Machine name from board description is some generic
name on DT kernel. DT provides machine name property
which is specific for board, so use it instead
generic one when possible.
[...]
quoted
quoted
quoted
Basically in DT kernel is missing Hardware, Revision and
probably also Serial key. (Now I used only qemu for
testing which set serial key to 0). All these
informations is used by userspace applications which
determinate how to behave.
It is somewhat fragile to expect the name in the DT to
match the old name from the kernel. As your patch to n900
dts shows, we'd probably have to update every dts file to
make them match. While I think we should work to remove
this string from the kernel, userspace depending on the DT
model string is a bad idea. For example, if you had some
platform with multiple OEMs just rebranding the same base
design, they may all want to put their own model string
into each product. The true h/w id is the compatible
string.

Serial number is easy. There is already a standard although
not widely used property for it with "/serial-number". You
just need to wire it up to cpuinfo.
There is no "/serial-number" property in kernel:

$ ls -l -a /sys/bus/soc/devices/soc0/
drwxr-xr-x    3 0        0                0 Jan  1 00:00 .
drwxr-xr-x   18 0        0                0 Jan  1 00:00 ..
-r--r--r--    1 0        0             4096 Jan  1 00:00
family -r--r--r--    1 0        0             4096 Jan  1
00:00 machine drwxr-xr-x    2 0        0                0
Jan  1 00:00 power -r--r--r--    1 0        0            
4096 Jan  1 00:00 revision lrwxrwxrwx    1 0        0      
         0 Jan  1 00:00 subsystem -> ../../bus/soc
-r--r--r--    1 0        0             4096 Jan  1 00:00
type -rw-r--r--    1 0        0             4096 Jan  1
00:00 uevent
Wrong place. If you put /serial-number in your DT, then it
will be in /proc/device-tree/serial-number.

If you want to wire that up to /proc/cpuinfo, I would be fine
with that.

Rob
I cannot hardcode it into DT, because it is set by bootloader. 
And bootloader tell it to kernel via ATAGs structure. Bootloader 
is closed and proprietary and cannot be replaced (there is no 
documentation for hw init).

-- 
Pali Roh?r
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141204/c9644671/attachment.sig>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help