/* Remove and recreate everything, check for memory leaks */ static int dm_test_leak(struct unit_test_state *uts) { int i; for (i = 0; i < 2; i++) { struct udevice *dev; int ret; int id; dm_leak_check_start(uts); ut_assertok(dm_scan_platdata(false)); ut_assertok(dm_scan_fdt(gd->fdt_blob, false)); /* Scanning the uclass is enough to probe all the devices */ for (id = UCLASS_ROOT; id < UCLASS_COUNT; id++) { for (ret = uclass_first_device(UCLASS_TEST, &dev); dev; ret = uclass_next_device(&dev)) ; ut_assertok(ret); } ut_assertok(dm_leak_check_end(uts)); } return 0; }
/* Test that we don't leak memory with GPIOs */ static int dm_test_gpio_leak(struct dm_test_state *dms) { ut_assertok(dm_test_gpio(dms)); ut_assertok(dm_test_gpio_anon(dms)); ut_assertok(dm_test_gpio_requestf(dms)); ut_assertok(dm_leak_check_end(dms)); return 0; }