Skip to content

Commit ded6084

Browse files
committed
drm/asahi: mmu: Move closer to rust of integration
Signed-off-by: Janne Grunau <j@jannau.net>
1 parent 8893aa0 commit ded6084

1 file changed

Lines changed: 7 additions & 17 deletions

File tree

drivers/gpu/drm/asahi/mmu.rs

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1368,30 +1368,20 @@ impl Uat {
13681368
size: usize,
13691369
cached: bool,
13701370
) -> Result<UatRegion> {
1371-
let rdev = dev.raw_device();
1372-
13731371
let mut res = core::mem::MaybeUninit::<bindings::resource>::uninit();
13741372

13751373
let res = unsafe {
1376-
let idx = bindings::of_property_match_string(
1377-
(*rdev).of_node,
1378-
c_str!("memory-region-names").as_char_ptr(),
1379-
name.as_char_ptr(),
1380-
);
1381-
to_result(idx)?;
1382-
1383-
let np = bindings::of_parse_phandle(
1384-
(*rdev).of_node,
1385-
c_str!("memory-region").as_char_ptr(),
1386-
idx,
1374+
let dev_node = dev.of_node().ok_or(EINVAL)?;
1375+
let node = dev_node.parse_phandle_by_name(
1376+
c_str!("memory-region"),
1377+
c_str!("memory-region-names"),
1378+
name,
13871379
);
1388-
if np.is_null() {
1380+
if node.is_none() {
13891381
dev_err!(dev, "Missing {} region\n", name);
13901382
return Err(EINVAL);
13911383
}
1392-
let ret = bindings::of_address_to_resource(np, 0, res.as_mut_ptr());
1393-
#[cfg(CONFIG_OF_DYNAMIC)]
1394-
bindings::of_node_put(np);
1384+
let ret = bindings::of_address_to_resource(node.unwrap().as_raw(), 0, res.as_mut_ptr());
13951385

13961386
if ret < 0 {
13971387
dev_err!(dev, "Failed to get {} region\n", name);

0 commit comments

Comments
 (0)