diff --git a/src/soc/rockchip/rk3288/display.c b/src/soc/rockchip/rk3288/display.c
index 2298d8b..5d3e333 100644
--- a/src/soc/rockchip/rk3288/display.c
+++ b/src/soc/rockchip/rk3288/display.c
@@ -35,8 +35,7 @@
 
 #include "chip.h"
 
-void rk_display_init(device_t dev, u32 lcdbase,
-		unsigned long fb_size)
+void rk_display_init(struct device *dev, u32 lcdbase, unsigned long fb_size)
 {
 	struct edid edid;
 	uint32_t val;
diff --git a/src/soc/rockchip/rk3288/include/soc/display.h b/src/soc/rockchip/rk3288/include/soc/display.h
index 8ed2ac9..8ffa922 100644
--- a/src/soc/rockchip/rk3288/include/soc/display.h
+++ b/src/soc/rockchip/rk3288/include/soc/display.h
@@ -23,8 +23,7 @@
 #define REF_CLK_24M	(0x0 << 0)
 #define REF_CLK_27M	(0x1 << 0)
 
-void rk_display_init(device_t dev, u32 lcdbase,
-		unsigned long fb_size);
+void rk_display_init(struct device *dev, u32 lcdbase, unsigned long fb_size);
 
 void mainboard_power_on_backlight(void);
 
diff --git a/src/soc/rockchip/rk3288/soc.c b/src/soc/rockchip/rk3288/soc.c
index c16beb8..eadbfc8 100644
--- a/src/soc/rockchip/rk3288/soc.c
+++ b/src/soc/rockchip/rk3288/soc.c
@@ -30,7 +30,7 @@
 
 #include "chip.h"
 
-static void soc_init(device_t dev)
+static void soc_init(struct device *dev)
 {
 	ram_resource(dev, 0, (uintptr_t)_dram/KiB, sdram_size_mb()*(MiB/KiB));
 	if (display_init_required())
@@ -47,7 +47,7 @@
 	.scan_bus         = 0,
 };
 
-static void enable_rk3288_dev(device_t dev)
+static void enable_rk3288_dev(struct device *dev)
 {
 	dev->ops = &soc_ops;
 }
diff --git a/src/soc/rockchip/rk3399/display.c b/src/soc/rockchip/rk3399/display.c
index f27d78e..43b9dab 100644
--- a/src/soc/rockchip/rk3399/display.c
+++ b/src/soc/rockchip/rk3399/display.c
@@ -48,7 +48,7 @@
 	printk(BIOS_WARNING, "Retrying EDP initialization.\n");
 }
 
-void rk_display_init(device_t dev)
+void rk_display_init(struct device *dev)
 {
 	struct edid edid;
 	struct soc_rockchip_rk3399_config *conf = dev->chip_info;
diff --git a/src/soc/rockchip/rk3399/include/soc/display.h b/src/soc/rockchip/rk3399/include/soc/display.h
index 494def6..880ac8a 100644
--- a/src/soc/rockchip/rk3399/include/soc/display.h
+++ b/src/soc/rockchip/rk3399/include/soc/display.h
@@ -21,7 +21,7 @@
 
 #define REF_CLK_24M (0x1 << 0)
 
-void rk_display_init(device_t dev);
+void rk_display_init(struct device *dev);
 void mainboard_power_on_backlight(void);
 const struct mipi_panel_data *mainboard_get_mipi_mode
 				(struct edid_mode *edid_mode);
diff --git a/src/soc/rockchip/rk3399/soc.c b/src/soc/rockchip/rk3399/soc.c
index 37de652..30f51d0 100644
--- a/src/soc/rockchip/rk3399/soc.c
+++ b/src/soc/rockchip/rk3399/soc.c
@@ -27,12 +27,12 @@
 #include <symbols.h>
 #include <arm-trusted-firmware/plat/rockchip/rk3399/include/shared/bl31_param.h>
 
-static void soc_read_resources(device_t dev)
+static void soc_read_resources(struct device *dev)
 {
 	ram_resource(dev, 0, (uintptr_t)_dram / KiB, sdram_size_mb() * KiB);
 }
 
-static void soc_init(device_t dev)
+static void soc_init(struct device *dev)
 {
 	/*
 	 * Reserve the whole TZRAM area because it will be marked as secure-only
@@ -54,7 +54,7 @@
 	.init = soc_init,
 };
 
-static void enable_soc_dev(device_t dev)
+static void enable_soc_dev(struct device *dev)
 {
 	dev->ops = &soc_ops;
 }
