Skip to content

Commit 3beae6a

Browse files
committed
system: allow reading devicetree properties outside of chosen
Signed-off-by: Leonard Göhrs <[email protected]>
1 parent 002ba08 commit 3beae6a

File tree

1 file changed

+24
-16
lines changed

1 file changed

+24
-16
lines changed

src/system.rs

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,28 @@ use crate::broker::{BrokerBuilder, Topic};
2424
#[cfg(feature = "demo_mode")]
2525
mod read_dt_props {
2626
const DEMO_DATA_STR: &[(&str, &str)] = &[
27-
("barebox-version", "barebox-2022.11.0-20221121-1"),
27+
("chosen/barebox-version", "barebox-2022.11.0-20221121-1"),
2828
(
29-
"baseboard-factory-data/pcba-hardware-release",
29+
"chosen/baseboard-factory-data/pcba-hardware-release",
3030
"lxatac-S01-R03-B02-C00",
3131
),
3232
(
33-
"powerboard-factory-data/pcba-hardware-release",
33+
"chosen/powerboard-factory-data/pcba-hardware-release",
3434
"lxatac-S05-R03-V01-C00",
3535
),
3636
];
3737

3838
const DEMO_DATA_NUM: &[(&str, u32)] = &[
39-
("baseboard-factory-data/modification", 0),
40-
("baseboard-factory-data/factory-timestamp", 1678086417),
41-
("powerboard-factory-data/modification", 0),
42-
("powerboard-factory-data/factory-timestamp", 1678086418),
39+
("chosen/baseboard-factory-data/modification", 0),
40+
(
41+
"chosen/baseboard-factory-data/factory-timestamp",
42+
1678086417,
43+
),
44+
("chosen/powerboard-factory-data/modification", 0),
45+
(
46+
"chosen/powerboard-factory-data/factory-timestamp",
47+
1678086418,
48+
),
4349
];
4450

4551
pub fn read_dt_property(path: &str) -> String {
@@ -58,10 +64,10 @@ mod read_dt_props {
5864
use std::fs::read;
5965
use std::str::from_utf8;
6066

61-
const DT_CHOSEN: &str = "/sys/firmware/devicetree/base/chosen/";
67+
const DT_BASE: &str = "/sys/firmware/devicetree/base/";
6268

6369
pub fn read_dt_property(path: &str) -> String {
64-
let bytes = read([DT_CHOSEN, path].join("/")).unwrap();
70+
let bytes = read([DT_BASE, path].join("/")).unwrap();
6571
from_utf8(bytes.strip_suffix(&[0]).unwrap())
6672
.unwrap()
6773
.to_string()
@@ -110,24 +116,26 @@ impl Barebox {
110116
fn get() -> Self {
111117
// Get info from devicetree chosen
112118
Self {
113-
version: read_dt_property("barebox-version"),
119+
version: read_dt_property("chosen/barebox-version"),
114120
baseboard_release: {
115-
let template = read_dt_property("baseboard-factory-data/pcba-hardware-release");
116-
let changeset = read_dt_property_u32("baseboard-factory-data/modification");
121+
let template =
122+
read_dt_property("chosen/baseboard-factory-data/pcba-hardware-release");
123+
let changeset = read_dt_property_u32("chosen/baseboard-factory-data/modification");
117124

118125
template.replace("-C??", &format!("-C{changeset:02}"))
119126
},
120127
powerboard_release: {
121-
let template = read_dt_property("powerboard-factory-data/pcba-hardware-release");
122-
let changeset = read_dt_property_u32("powerboard-factory-data/modification");
128+
let template =
129+
read_dt_property("chosen/powerboard-factory-data/pcba-hardware-release");
130+
let changeset = read_dt_property_u32("chosen/powerboard-factory-data/modification");
123131

124132
template.replace("-C??", &format!("-C{changeset:02}"))
125133
},
126134
baseboard_timestamp: {
127-
read_dt_property_u32("baseboard-factory-data/factory-timestamp")
135+
read_dt_property_u32("chosen/baseboard-factory-data/factory-timestamp")
128136
},
129137
powerboard_timestamp: {
130-
read_dt_property_u32("powerboard-factory-data/factory-timestamp")
138+
read_dt_property_u32("chosen/powerboard-factory-data/factory-timestamp")
131139
},
132140
}
133141
}

0 commit comments

Comments
 (0)