diff --git a/drivers/usb/emul/usb-emul-uclass.c b/drivers/usb/emul/usb-emul-uclass.c
index 1b7e1ea..f5d98b9 100644
--- a/drivers/usb/emul/usb-emul-uclass.c
+++ b/drivers/usb/emul/usb-emul-uclass.c
@@ -75,7 +75,7 @@
 	return ptr;
 }
 
-static int usb_emul_get_descriptor(struct usb_dev_platdata *plat, int value,
+static int usb_emul_get_descriptor(struct usb_dev_plat *plat, int value,
 				   void *buffer, int length)
 {
 	struct usb_generic_descriptor **ptr;
@@ -115,7 +115,7 @@
 	if (ret)
 		return ret;
 	uclass_foreach_dev(dev, uc) {
-		struct usb_dev_platdata *udev = dev_get_parent_plat(dev);
+		struct usb_dev_plat *udev = dev_get_parent_plat(dev);
 
 		/*
 		 * devnum is initialzied to zero at the beginning of the
@@ -126,7 +126,7 @@
 		 * emulator device.
 		 */
 		if (!devnum) {
-			struct usb_emul_platdata *plat;
+			struct usb_emul_plat *plat;
 
 			/*
 			 * If the parent is sandbox USB controller, we are
@@ -169,7 +169,7 @@
 
 int usb_emul_find_for_dev(struct udevice *dev, struct udevice **emulp)
 {
-	struct usb_dev_platdata *udev = dev_get_parent_plat(dev);
+	struct usb_dev_plat *udev = dev_get_parent_plat(dev);
 
 	return usb_emul_find_devnum(udev->devnum, 0, emulp);
 }
@@ -179,7 +179,7 @@
 		     struct devrequest *setup)
 {
 	struct dm_usb_ops *ops = usb_get_emul_ops(emul);
-	struct usb_dev_platdata *plat;
+	struct usb_dev_plat *plat;
 	int ret;
 
 	/* We permit getting the descriptor before we are probed */
@@ -262,7 +262,7 @@
 int usb_emul_setup_device(struct udevice *dev, struct usb_string *strings,
 			  void **desc_list)
 {
-	struct usb_dev_platdata *plat = dev_get_parent_plat(dev);
+	struct usb_dev_plat *plat = dev_get_parent_plat(dev);
 	struct usb_generic_descriptor **ptr;
 	struct usb_config_descriptor *cdesc;
 	int upto;
@@ -298,7 +298,7 @@
 	.id		= UCLASS_USB_EMUL,
 	.name		= "usb_emul",
 	.post_bind	= dm_scan_fdt_dev,
-	.per_device_plat_auto	= sizeof(struct usb_emul_platdata),
+	.per_device_plat_auto	= sizeof(struct usb_emul_plat),
 	.per_child_auto	= sizeof(struct usb_device),
-	.per_child_plat_auto	= sizeof(struct usb_dev_platdata),
+	.per_child_plat_auto	= sizeof(struct usb_dev_plat),
 };
