diff --git a/include/main/boot-fdt.h b/include/main/boot-fdt.h index 2a33b44..62c8297 100644 --- a/include/main/boot-fdt.h +++ b/include/main/boot-fdt.h @@ -6,6 +6,6 @@ #ifndef BOOT_FDT_H_ #define BOOT_FDT_H_ -void patch_dtb(void* dt); +void patch_dtb(void** dt); #endif // BOOT_FDT_H_ diff --git a/main/boot-fdt.c b/main/boot-fdt.c index 66b68e1..2de83c4 100644 --- a/main/boot-fdt.c +++ b/main/boot-fdt.c @@ -8,13 +8,13 @@ static char fdt_buf[CONFIG_FDT_BUF_SIZE]; -void patch_dtb(void* dt) +void patch_dtb(void** dt) { int ret; - ret = ramdisk_handler_patch_dtb(dt, &fdt_buf, sizeof(fdt_buf)); + ret = ramdisk_handler_patch_dtb(*dt, &fdt_buf, sizeof(fdt_buf)); if (ret != 0) printk(KERN_ERR, "failed to patch dtb\n"); else - dt = &fdt_buf; + *dt = &fdt_buf; } diff --git a/main/boot.c b/main/boot.c index edafd29..9fa3010 100644 --- a/main/boot.c +++ b/main/boot.c @@ -12,7 +12,7 @@ void boot_kernel(void* dt, void* kernel, void* ramdisk) { #ifdef CONFIG_LIBFDT - patch_dtb(dt); + patch_dtb(&dt); #endif printk(KERN_INFO, "Booting kernel...\n");