Lines Matching full:fdt
36 struct folio *fdt; member
59 err |= kho_preserve_folio(state->fdt); in kho_test_notifier()
60 err |= kho_add_subtree(ser, KHO_TEST_FDT, folio_address(state->fdt)); in kho_test_notifier()
69 static int kho_test_save_data(struct kho_test_state *state, void *fdt) in kho_test_save_data() argument
94 err |= fdt_begin_node(fdt, "data"); in kho_test_save_data()
95 err |= fdt_property(fdt, "nr_folios", &state->nr_folios, in kho_test_save_data()
97 err |= fdt_property(fdt, "folios_info", &folios_info_phys, in kho_test_save_data()
99 err |= fdt_property(fdt, "csum", &state->csum, sizeof(state->csum)); in kho_test_save_data()
100 err |= fdt_end_node(fdt); in kho_test_save_data()
114 void *fdt; in kho_test_prepare_fdt() local
117 state->fdt = folio_alloc(GFP_KERNEL, get_order(fdt_size)); in kho_test_prepare_fdt()
118 if (!state->fdt) in kho_test_prepare_fdt()
121 fdt = folio_address(state->fdt); in kho_test_prepare_fdt()
123 err |= fdt_create(fdt, fdt_size); in kho_test_prepare_fdt()
124 err |= fdt_finish_reservemap(fdt); in kho_test_prepare_fdt()
126 err |= fdt_begin_node(fdt, ""); in kho_test_prepare_fdt()
127 err |= fdt_property(fdt, "compatible", compatible, sizeof(compatible)); in kho_test_prepare_fdt()
128 err |= fdt_property(fdt, "magic", &magic, sizeof(magic)); in kho_test_prepare_fdt()
129 err |= kho_test_save_data(state, fdt); in kho_test_prepare_fdt()
130 err |= fdt_end_node(fdt); in kho_test_prepare_fdt()
132 err |= fdt_finish(fdt); in kho_test_prepare_fdt()
135 folio_put(state->fdt); in kho_test_prepare_fdt()
213 folio_put(state->fdt); in kho_test_save()
219 static int kho_test_restore_data(const void *fdt, int node) in kho_test_restore_data() argument
228 node = fdt_path_offset(fdt, "/data"); in kho_test_restore_data()
230 nr_folios = fdt_getprop(fdt, node, "nr_folios", &len); in kho_test_restore_data()
234 old_csum = fdt_getprop(fdt, node, "csum", &len); in kho_test_restore_data()
238 folios_info_phys = fdt_getprop(fdt, node, "folios_info", &len); in kho_test_restore_data()
273 void *fdt = phys_to_virt(fdt_phys); in kho_test_restore() local
277 node = fdt_path_offset(fdt, "/"); in kho_test_restore()
281 if (fdt_node_check_compatible(fdt, node, KHO_TEST_COMPAT)) in kho_test_restore()
284 magic = fdt_getprop(fdt, node, "magic", &len); in kho_test_restore()
291 err = kho_test_restore_data(fdt, node); in kho_test_restore()
309 pr_warn("failed to retrieve %s FDT: %d\n", KHO_TEST_FDT, err); in kho_test_init()
324 folio_put(kho_test_state.fdt); in kho_test_cleanup()