]> git.ipfire.org Git - oddments/fireinfo.git/commitdiff
ARM: Read board model from device-tree in /proc
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 3 Nov 2014 20:33:45 +0000 (21:33 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 3 Nov 2014 20:33:45 +0000 (21:33 +0100)
src/fireinfo/system.py

index 890f58c05027060b77e0deaffa0bf50f638a2ef6..195832e9f7ebd1775b342c927412c326b28a3856 100644 (file)
@@ -304,27 +304,6 @@ class System(object):
                """
                return read_from_file("/sys/class/dmi/id/bios_vendor")
 
-       def vendor_model_tuple(self):
-               try:
-                       s = self.__cpuinfo["Hardware"]
-               except KeyError:
-                       return (None, None)
-
-               if s.startswith("ARM-Versatile"):
-                       return ("ARM", s)
-
-               try:
-                       v, m = s.split(" ", 1)
-               except ValueError:
-                       if s.startswith("BCM"):
-                               v = "Broadcom"
-                               m = s
-                       else:
-                               v = None
-                               m = s
-
-               return v, m
-
        @property
        def vendor(self):
                """
@@ -337,8 +316,10 @@ class System(object):
                                break
 
                if ret is None:
-                       v, m = self.vendor_model_tuple()
-                       ret = v
+                       try:
+                               return self.__cpuinfo["Hardware"]
+                       except KeyError:
+                               pass
 
                return ret
 
@@ -353,9 +334,11 @@ class System(object):
                        if ret:
                                break
 
-               if ret is None:
-                       v, m = self.vendor_model_tuple()
-                       ret = m
+               # Read device-tree model if available
+               ret = read_from_file("/proc/device-tree/model")
+               if ret:
+                       # replace the NULL byte with which the DT string ends
+                       ret = ret.replace(u"\u0000", "")
 
                return ret