Merge branch 'master' of git://git.denx.de/u-boot-arc
diff --git a/Makefile b/Makefile
index 928a880..e38fd2f 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@
 VERSION = 2014
 PATCHLEVEL = 07
 SUBLEVEL =
-EXTRAVERSION = -rc1
+EXTRAVERSION = -rc2
 NAME =
 
 # *DOCUMENTATION*
diff --git a/arch/sandbox/include/asm/gpio.h b/arch/sandbox/include/asm/gpio.h
index 95b59da..8317db1 100644
--- a/arch/sandbox/include/asm/gpio.h
+++ b/arch/sandbox/include/asm/gpio.h
@@ -29,7 +29,7 @@
  * @param gp	GPIO number
  * @return -1 on error, 0 if GPIO is low, >0 if high
  */
-int sandbox_gpio_get_value(struct device *dev, unsigned int offset);
+int sandbox_gpio_get_value(struct udevice *dev, unsigned int offset);
 
 /**
  * Set the simulated value of a GPIO (used only in sandbox test code)
@@ -38,7 +38,7 @@
  * @param value	value to set (0 for low, non-zero for high)
  * @return -1 on error, 0 if ok
  */
-int sandbox_gpio_set_value(struct device *dev, unsigned int offset, int value);
+int sandbox_gpio_set_value(struct udevice *dev, unsigned int offset, int value);
 
 /**
  * Return the simulated direction of a GPIO (used only in sandbox test code)
@@ -46,7 +46,7 @@
  * @param gp	GPIO number
  * @return -1 on error, 0 if GPIO is input, >0 if output
  */
-int sandbox_gpio_get_direction(struct device *dev, unsigned int offset);
+int sandbox_gpio_get_direction(struct udevice *dev, unsigned int offset);
 
 /**
  * Set the simulated direction of a GPIO (used only in sandbox test code)
@@ -55,7 +55,7 @@
  * @param output 0 to set as input, 1 to set as output
  * @return -1 on error, 0 if ok
  */
-int sandbox_gpio_set_direction(struct device *dev, unsigned int offset,
+int sandbox_gpio_set_direction(struct udevice *dev, unsigned int offset,
 			       int output);
 
 #endif
diff --git a/common/cmd_demo.c b/common/cmd_demo.c
index a3bba7f..652c61c 100644
--- a/common/cmd_demo.c
+++ b/common/cmd_demo.c
@@ -11,7 +11,7 @@
 #include <dm-demo.h>
 #include <asm/io.h>
 
-struct device *demo_dev;
+struct udevice *demo_dev;
 
 static int do_demo_hello(cmd_tbl_t *cmdtp, int flag, int argc,
 			 char * const argv[])
@@ -41,7 +41,7 @@
 
 int do_demo_list(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
-	struct device *dev;
+	struct udevice *dev;
 	int i, ret;
 
 	puts("Demo uclass entries:\n");
diff --git a/common/cmd_gpio.c b/common/cmd_gpio.c
index aff0445..4634f91 100644
--- a/common/cmd_gpio.c
+++ b/common/cmd_gpio.c
@@ -30,7 +30,7 @@
 	"unknown",
 };
 
-static void show_gpio(struct device *dev, const char *bank_name, int offset)
+static void show_gpio(struct udevice *dev, const char *bank_name, int offset)
 {
 	struct dm_gpio_ops *ops = gpio_get_ops(dev);
 	char buf[80];
@@ -62,7 +62,7 @@
 
 static int do_gpio_status(const char *gpio_name)
 {
-	struct device *dev;
+	struct udevice *dev;
 	int newline = 0;
 	int ret;
 
diff --git a/doc/driver-model/README.txt b/doc/driver-model/README.txt
index e0b395a..dcecb9a 100644
--- a/doc/driver-model/README.txt
+++ b/doc/driver-model/README.txt
@@ -122,7 +122,7 @@
 Let's start at the top. The demo command is in common/cmd_demo.c. It does
 the usual command procesing and then:
 
-	struct device *demo_dev;
+	struct udevice *demo_dev;
 
 	ret = uclass_get_device(UCLASS_DEMO, devnum, &demo_dev);
 
@@ -147,7 +147,7 @@
 
 The code for demo_hello() is in drivers/demo/demo-uclass.c:
 
-int demo_hello(struct device *dev, int ch)
+int demo_hello(struct udevice *dev, int ch)
 {
 	const struct demo_ops *ops = device_get_ops(dev);
 
@@ -160,7 +160,7 @@
 As you can see it just calls the relevant driver method. One of these is
 in drivers/demo/demo-simple.c:
 
-static int simple_hello(struct device *dev, int ch)
+static int simple_hello(struct udevice *dev, int ch)
 {
 	const struct dm_demo_pdata *pdata = dev_get_platdata(dev);
 
@@ -321,7 +321,7 @@
 this concept relates to a class of drivers (or a subsystem). We shouldn't
 use 'class' since it is a C++ reserved word, so U-Boot class (uclass) seems
 better than 'core'.
-- Remove 'struct driver_instance' and just use a single 'struct device'.
+- Remove 'struct driver_instance' and just use a single 'struct udevice'.
 This removes a level of indirection that doesn't seem necessary.
 - Built in device tree support, to avoid the need for platdata
 - Removed the concept of driver relocation, and just make it possible for
diff --git a/drivers/core/device.c b/drivers/core/device.c
index 55ba281..c73c339 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -30,9 +30,9 @@
  * @dev:	The device that is to be stripped of its children
  * @return 0 on success, -ve on error
  */
-static int device_chld_unbind(struct device *dev)
+static int device_chld_unbind(struct udevice *dev)
 {
-	struct device *pos, *n;
+	struct udevice *pos, *n;
 	int ret, saved_ret = 0;
 
 	assert(dev);
@@ -51,9 +51,9 @@
  * @dev:	The device whose children are to be removed
  * @return 0 on success, -ve on error
  */
-static int device_chld_remove(struct device *dev)
+static int device_chld_remove(struct udevice *dev)
 {
-	struct device *pos, *n;
+	struct udevice *pos, *n;
 	int ret;
 
 	assert(dev);
@@ -67,10 +67,10 @@
 	return 0;
 }
 
-int device_bind(struct device *parent, struct driver *drv, const char *name,
-		void *platdata, int of_offset, struct device **devp)
+int device_bind(struct udevice *parent, struct driver *drv, const char *name,
+		void *platdata, int of_offset, struct udevice **devp)
 {
-	struct device *dev;
+	struct udevice *dev;
 	struct uclass *uc;
 	int ret = 0;
 
@@ -82,7 +82,7 @@
 	if (ret)
 		return ret;
 
-	dev = calloc(1, sizeof(struct device));
+	dev = calloc(1, sizeof(struct udevice));
 	if (!dev)
 		return -ENOMEM;
 
@@ -129,8 +129,8 @@
 	return ret;
 }
 
-int device_bind_by_name(struct device *parent, const struct driver_info *info,
-			struct device **devp)
+int device_bind_by_name(struct udevice *parent, const struct driver_info *info,
+			struct udevice **devp)
 {
 	struct driver *drv;
 
@@ -142,7 +142,7 @@
 			   -1, devp);
 }
 
-int device_unbind(struct device *dev)
+int device_unbind(struct udevice *dev)
 {
 	struct driver *drv;
 	int ret;
@@ -181,7 +181,7 @@
  * device_free() - Free memory buffers allocated by a device
  * @dev:	Device that is to be started
  */
-static void device_free(struct device *dev)
+static void device_free(struct udevice *dev)
 {
 	int size;
 
@@ -200,7 +200,7 @@
 	}
 }
 
-int device_probe(struct device *dev)
+int device_probe(struct udevice *dev)
 {
 	struct driver *drv;
 	int size = 0;
@@ -279,7 +279,7 @@
 	return ret;
 }
 
-int device_remove(struct device *dev)
+int device_remove(struct udevice *dev)
 {
 	struct driver *drv;
 	int ret;
@@ -327,7 +327,7 @@
 	return ret;
 }
 
-void *dev_get_platdata(struct device *dev)
+void *dev_get_platdata(struct udevice *dev)
 {
 	if (!dev) {
 		dm_warn("%s: null device", __func__);
@@ -337,7 +337,7 @@
 	return dev->platdata;
 }
 
-void *dev_get_priv(struct device *dev)
+void *dev_get_priv(struct udevice *dev)
 {
 	if (!dev) {
 		dm_warn("%s: null device", __func__);
diff --git a/drivers/core/lists.c b/drivers/core/lists.c
index 4f2c126..205b140 100644
--- a/drivers/core/lists.c
+++ b/drivers/core/lists.c
@@ -60,13 +60,13 @@
 	return NULL;
 }
 
-int lists_bind_drivers(struct device *parent)
+int lists_bind_drivers(struct udevice *parent)
 {
 	struct driver_info *info =
 		ll_entry_start(struct driver_info, driver_info);
 	const int n_ents = ll_entry_count(struct driver_info, driver_info);
 	struct driver_info *entry;
-	struct device *dev;
+	struct udevice *dev;
 	int result = 0;
 	int ret;
 
@@ -116,12 +116,12 @@
 	return -ENOENT;
 }
 
-int lists_bind_fdt(struct device *parent, const void *blob, int offset)
+int lists_bind_fdt(struct udevice *parent, const void *blob, int offset)
 {
 	struct driver *driver = ll_entry_start(struct driver, driver);
 	const int n_ents = ll_entry_count(struct driver, driver);
 	struct driver *entry;
-	struct device *dev;
+	struct udevice *dev;
 	const char *name;
 	int result = 0;
 	int ret;
diff --git a/drivers/core/root.c b/drivers/core/root.c
index 407bc0d..4977875 100644
--- a/drivers/core/root.c
+++ b/drivers/core/root.c
@@ -24,7 +24,7 @@
 	.name		= "root_driver",
 };
 
-struct device *dm_root(void)
+struct udevice *dm_root(void)
 {
 	if (!gd->dm_root) {
 		dm_warn("Virtual root driver does not exist!\n");
diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
index 4df5a8b..f6867e4 100644
--- a/drivers/core/uclass.c
+++ b/drivers/core/uclass.c
@@ -101,7 +101,7 @@
 int uclass_destroy(struct uclass *uc)
 {
 	struct uclass_driver *uc_drv;
-	struct device *dev, *tmp;
+	struct udevice *dev, *tmp;
 	int ret;
 
 	list_for_each_entry_safe(dev, tmp, &uc->dev_head, uclass_node) {
@@ -137,10 +137,10 @@
 	return 0;
 }
 
-int uclass_find_device(enum uclass_id id, int index, struct device **devp)
+int uclass_find_device(enum uclass_id id, int index, struct udevice **devp)
 {
 	struct uclass *uc;
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	*devp = NULL;
@@ -158,9 +158,9 @@
 	return -ENODEV;
 }
 
-int uclass_get_device(enum uclass_id id, int index, struct device **devp)
+int uclass_get_device(enum uclass_id id, int index, struct udevice **devp)
 {
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	*devp = NULL;
@@ -177,10 +177,10 @@
 	return 0;
 }
 
-int uclass_first_device(enum uclass_id id, struct device **devp)
+int uclass_first_device(enum uclass_id id, struct udevice **devp)
 {
 	struct uclass *uc;
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	*devp = NULL;
@@ -190,7 +190,7 @@
 	if (list_empty(&uc->dev_head))
 		return 0;
 
-	dev = list_first_entry(&uc->dev_head, struct device, uclass_node);
+	dev = list_first_entry(&uc->dev_head, struct udevice, uclass_node);
 	ret = device_probe(dev);
 	if (ret)
 		return ret;
@@ -199,16 +199,17 @@
 	return 0;
 }
 
-int uclass_next_device(struct device **devp)
+int uclass_next_device(struct udevice **devp)
 {
-	struct device *dev = *devp;
+	struct udevice *dev = *devp;
 	int ret;
 
 	*devp = NULL;
 	if (list_is_last(&dev->uclass_node, &dev->uclass->dev_head))
 		return 0;
 
-	dev = list_entry(dev->uclass_node.next, struct device, uclass_node);
+	dev = list_entry(dev->uclass_node.next, struct udevice,
+			 uclass_node);
 	ret = device_probe(dev);
 	if (ret)
 		return ret;
@@ -217,7 +218,7 @@
 	return 0;
 }
 
-int uclass_bind_device(struct device *dev)
+int uclass_bind_device(struct udevice *dev)
 {
 	struct uclass *uc;
 	int ret;
@@ -237,7 +238,7 @@
 	return 0;
 }
 
-int uclass_unbind_device(struct device *dev)
+int uclass_unbind_device(struct udevice *dev)
 {
 	struct uclass *uc;
 	int ret;
@@ -253,7 +254,7 @@
 	return 0;
 }
 
-int uclass_post_probe_device(struct device *dev)
+int uclass_post_probe_device(struct udevice *dev)
 {
 	struct uclass_driver *uc_drv = dev->uclass->uc_drv;
 
@@ -263,7 +264,7 @@
 	return 0;
 }
 
-int uclass_pre_remove_device(struct device *dev)
+int uclass_pre_remove_device(struct udevice *dev)
 {
 	struct uclass_driver *uc_drv;
 	struct uclass *uc;
diff --git a/drivers/demo/demo-shape.c b/drivers/demo/demo-shape.c
index 2f0eb96..a68cc10 100644
--- a/drivers/demo/demo-shape.c
+++ b/drivers/demo/demo-shape.c
@@ -23,7 +23,7 @@
 };
 
 /* Crazy little function to draw shapes on the console */
-static int shape_hello(struct device *dev, int ch)
+static int shape_hello(struct udevice *dev, int ch)
 {
 	const struct dm_demo_pdata *pdata = dev_get_platdata(dev);
 	struct shape_data *data = dev_get_priv(dev);
@@ -81,7 +81,7 @@
 	return 0;
 }
 
-static int shape_status(struct device *dev, int *status)
+static int shape_status(struct udevice *dev, int *status)
 {
 	struct shape_data *data = dev_get_priv(dev);
 
@@ -94,7 +94,7 @@
 	.status = shape_status,
 };
 
-static int shape_ofdata_to_platdata(struct device *dev)
+static int shape_ofdata_to_platdata(struct udevice *dev)
 {
 	struct dm_demo_pdata *pdata = dev_get_platdata(dev);
 	int ret;
diff --git a/drivers/demo/demo-simple.c b/drivers/demo/demo-simple.c
index 6ba8131..11def86 100644
--- a/drivers/demo/demo-simple.c
+++ b/drivers/demo/demo-simple.c
@@ -12,7 +12,7 @@
 #include <dm-demo.h>
 #include <asm/io.h>
 
-static int simple_hello(struct device *dev, int ch)
+static int simple_hello(struct udevice *dev, int ch)
 {
 	const struct dm_demo_pdata *pdata = dev_get_platdata(dev);
 
@@ -26,7 +26,7 @@
 	.hello = simple_hello,
 };
 
-static int demo_shape_ofdata_to_platdata(struct device *dev)
+static int demo_shape_ofdata_to_platdata(struct udevice *dev)
 {
 	/* Parse the data that is common with all demo devices */
 	return demo_parse_dt(dev);
diff --git a/drivers/demo/demo-uclass.c b/drivers/demo/demo-uclass.c
index 48588be..636fd88 100644
--- a/drivers/demo/demo-uclass.c
+++ b/drivers/demo/demo-uclass.c
@@ -22,7 +22,7 @@
 	.id		= UCLASS_DEMO,
 };
 
-int demo_hello(struct device *dev, int ch)
+int demo_hello(struct udevice *dev, int ch)
 {
 	const struct demo_ops *ops = device_get_ops(dev);
 
@@ -32,7 +32,7 @@
 	return ops->hello(dev, ch);
 }
 
-int demo_status(struct device *dev, int *status)
+int demo_status(struct udevice *dev, int *status)
 {
 	const struct demo_ops *ops = device_get_ops(dev);
 
@@ -42,7 +42,7 @@
 	return ops->status(dev, status);
 }
 
-int demo_parse_dt(struct device *dev)
+int demo_parse_dt(struct udevice *dev)
 {
 	struct dm_demo_pdata *pdata = dev_get_platdata(dev);
 	int dn = dev->of_offset;
diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c
index 56bfd11..fa2c2fb 100644
--- a/drivers/gpio/gpio-uclass.c
+++ b/drivers/gpio/gpio-uclass.c
@@ -17,11 +17,11 @@
  * or GPIO blocks registered with the GPIO controller. Returns
  * entry on success, NULL on error.
  */
-static int gpio_to_device(unsigned int gpio, struct device **devp,
+static int gpio_to_device(unsigned int gpio, struct udevice **devp,
 			  unsigned int *offset)
 {
 	struct gpio_dev_priv *uc_priv;
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	for (ret = uclass_first_device(UCLASS_GPIO, &dev);
@@ -40,11 +40,11 @@
 	return ret ? ret : -EINVAL;
 }
 
-int gpio_lookup_name(const char *name, struct device **devp,
+int gpio_lookup_name(const char *name, struct udevice **devp,
 		     unsigned int *offsetp, unsigned int *gpiop)
 {
 	struct gpio_dev_priv *uc_priv;
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	if (devp)
@@ -86,7 +86,7 @@
 int gpio_request(unsigned gpio, const char *label)
 {
 	unsigned int offset;
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	ret = gpio_to_device(gpio, &dev, &offset);
@@ -110,7 +110,7 @@
 int gpio_free(unsigned gpio)
 {
 	unsigned int offset;
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	ret = gpio_to_device(gpio, &dev, &offset);
@@ -133,7 +133,7 @@
 int gpio_direction_input(unsigned gpio)
 {
 	unsigned int offset;
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	ret = gpio_to_device(gpio, &dev, &offset);
@@ -155,7 +155,7 @@
 int gpio_direction_output(unsigned gpio, int value)
 {
 	unsigned int offset;
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	ret = gpio_to_device(gpio, &dev, &offset);
@@ -177,7 +177,7 @@
 int gpio_get_value(unsigned gpio)
 {
 	unsigned int offset;
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	ret = gpio_to_device(gpio, &dev, &offset);
@@ -199,7 +199,7 @@
 int gpio_set_value(unsigned gpio, int value)
 {
 	unsigned int offset;
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	ret = gpio_to_device(gpio, &dev, &offset);
@@ -209,7 +209,7 @@
 	return gpio_get_ops(dev)->set_value(dev, offset, value);
 }
 
-const char *gpio_get_bank_info(struct device *dev, int *bit_count)
+const char *gpio_get_bank_info(struct udevice *dev, int *bit_count)
 {
 	struct gpio_dev_priv *priv;
 
@@ -225,7 +225,7 @@
 static int gpio_renumber(void)
 {
 	struct gpio_dev_priv *uc_priv;
-	struct device *dev;
+	struct udevice *dev;
 	struct uclass *uc;
 	unsigned base;
 	int ret;
@@ -247,12 +247,12 @@
 	return 0;
 }
 
-static int gpio_post_probe(struct device *dev)
+static int gpio_post_probe(struct udevice *dev)
 {
 	return gpio_renumber();
 }
 
-static int gpio_pre_remove(struct device *dev)
+static int gpio_pre_remove(struct udevice *dev)
 {
 	return gpio_renumber();
 }
diff --git a/drivers/gpio/sandbox.c b/drivers/gpio/sandbox.c
index 22b6a5f..09cebe2 100644
--- a/drivers/gpio/sandbox.c
+++ b/drivers/gpio/sandbox.c
@@ -22,7 +22,7 @@
 };
 
 /* Access routines for GPIO state */
-static u8 *get_gpio_flags(struct device *dev, unsigned offset)
+static u8 *get_gpio_flags(struct udevice *dev, unsigned offset)
 {
 	struct gpio_dev_priv *uc_priv = dev->uclass_priv;
 	struct gpio_state *state = dev_get_priv(dev);
@@ -36,12 +36,12 @@
 	return &state[offset].flags;
 }
 
-static int get_gpio_flag(struct device *dev, unsigned offset, int flag)
+static int get_gpio_flag(struct udevice *dev, unsigned offset, int flag)
 {
 	return (*get_gpio_flags(dev, offset) & flag) != 0;
 }
 
-static int set_gpio_flag(struct device *dev, unsigned offset, int flag,
+static int set_gpio_flag(struct udevice *dev, unsigned offset, int flag,
 			 int value)
 {
 	u8 *gpio = get_gpio_flags(dev, offset);
@@ -54,7 +54,7 @@
 	return 0;
 }
 
-static int check_reserved(struct device *dev, unsigned offset,
+static int check_reserved(struct udevice *dev, unsigned offset,
 			  const char *func)
 {
 	if (!get_gpio_flag(dev, offset, GPIOF_RESERVED)) {
@@ -70,24 +70,24 @@
  * Back-channel sandbox-internal-only access to GPIO state
  */
 
-int sandbox_gpio_get_value(struct device *dev, unsigned offset)
+int sandbox_gpio_get_value(struct udevice *dev, unsigned offset)
 {
 	if (get_gpio_flag(dev, offset, GPIOF_OUTPUT))
 		debug("sandbox_gpio: get_value on output gpio %u\n", offset);
 	return get_gpio_flag(dev, offset, GPIOF_HIGH);
 }
 
-int sandbox_gpio_set_value(struct device *dev, unsigned offset, int value)
+int sandbox_gpio_set_value(struct udevice *dev, unsigned offset, int value)
 {
 	return set_gpio_flag(dev, offset, GPIOF_HIGH, value);
 }
 
-int sandbox_gpio_get_direction(struct device *dev, unsigned offset)
+int sandbox_gpio_get_direction(struct udevice *dev, unsigned offset)
 {
 	return get_gpio_flag(dev, offset, GPIOF_OUTPUT);
 }
 
-int sandbox_gpio_set_direction(struct device *dev, unsigned offset, int output)
+int sandbox_gpio_set_direction(struct udevice *dev, unsigned offset, int output)
 {
 	return set_gpio_flag(dev, offset, GPIOF_OUTPUT, output);
 }
@@ -97,7 +97,7 @@
  */
 
 /* set GPIO port 'offset' as an input */
-static int sb_gpio_direction_input(struct device *dev, unsigned offset)
+static int sb_gpio_direction_input(struct udevice *dev, unsigned offset)
 {
 	debug("%s: offset:%u\n", __func__, offset);
 
@@ -108,7 +108,7 @@
 }
 
 /* set GPIO port 'offset' as an output, with polarity 'value' */
-static int sb_gpio_direction_output(struct device *dev, unsigned offset,
+static int sb_gpio_direction_output(struct udevice *dev, unsigned offset,
 				    int value)
 {
 	debug("%s: offset:%u, value = %d\n", __func__, offset, value);
@@ -121,7 +121,7 @@
 }
 
 /* read GPIO IN value of port 'offset' */
-static int sb_gpio_get_value(struct device *dev, unsigned offset)
+static int sb_gpio_get_value(struct udevice *dev, unsigned offset)
 {
 	debug("%s: offset:%u\n", __func__, offset);
 
@@ -132,7 +132,7 @@
 }
 
 /* write GPIO OUT value to port 'offset' */
-static int sb_gpio_set_value(struct device *dev, unsigned offset, int value)
+static int sb_gpio_set_value(struct udevice *dev, unsigned offset, int value)
 {
 	debug("%s: offset:%u, value = %d\n", __func__, offset, value);
 
@@ -148,7 +148,7 @@
 	return sandbox_gpio_set_value(dev, offset, value);
 }
 
-static int sb_gpio_request(struct device *dev, unsigned offset,
+static int sb_gpio_request(struct udevice *dev, unsigned offset,
 			   const char *label)
 {
 	struct gpio_dev_priv *uc_priv = dev->uclass_priv;
@@ -171,7 +171,7 @@
 	return set_gpio_flag(dev, offset, GPIOF_RESERVED, 1);
 }
 
-static int sb_gpio_free(struct device *dev, unsigned offset)
+static int sb_gpio_free(struct udevice *dev, unsigned offset)
 {
 	struct gpio_state *state = dev_get_priv(dev);
 
@@ -184,7 +184,7 @@
 	return set_gpio_flag(dev, offset, GPIOF_RESERVED, 0);
 }
 
-static int sb_gpio_get_state(struct device *dev, unsigned int offset,
+static int sb_gpio_get_state(struct udevice *dev, unsigned int offset,
 			     char *buf, int bufsize)
 {
 	struct gpio_dev_priv *uc_priv = dev->uclass_priv;
@@ -213,7 +213,7 @@
 	.get_state		= sb_gpio_get_state,
 };
 
-static int sandbox_gpio_ofdata_to_platdata(struct device *dev)
+static int sandbox_gpio_ofdata_to_platdata(struct udevice *dev)
 {
 	struct gpio_dev_priv *uc_priv = dev->uclass_priv;
 
@@ -225,7 +225,7 @@
 	return 0;
 }
 
-static int gpio_sandbox_probe(struct device *dev)
+static int gpio_sandbox_probe(struct udevice *dev)
 {
 	struct gpio_dev_priv *uc_priv = dev->uclass_priv;
 
diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
index e98b661..2850ed8 100644
--- a/include/asm-generic/global_data.h
+++ b/include/asm-generic/global_data.h
@@ -65,7 +65,7 @@
 	struct global_data *new_gd;	/* relocated global data */
 
 #ifdef CONFIG_DM
-	struct device	*dm_root;	/* Root instance for Driver Model */
+	struct udevice	*dm_root;/* Root instance for Driver Model */
 	struct list_head uclass_root;	/* Head of core tree */
 #endif
 
diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
index e325df4..a6e52a0 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
@@ -86,7 +86,7 @@
 	GPIOF_UNKNOWN,
 };
 
-struct device;
+struct udevice;
 
 /**
  * struct struct dm_gpio_ops - Driver model GPIO operations
@@ -116,15 +116,15 @@
  * all devices. Be careful not to confuse offset with gpio in the parameters.
  */
 struct dm_gpio_ops {
-	int (*request)(struct device *dev, unsigned offset, const char *label);
-	int (*free)(struct device *dev, unsigned offset);
-	int (*direction_input)(struct device *dev, unsigned offset);
-	int (*direction_output)(struct device *dev, unsigned offset,
+	int (*request)(struct udevice *dev, unsigned offset, const char *label);
+	int (*free)(struct udevice *dev, unsigned offset);
+	int (*direction_input)(struct udevice *dev, unsigned offset);
+	int (*direction_output)(struct udevice *dev, unsigned offset,
 				int value);
-	int (*get_value)(struct device *dev, unsigned offset);
-	int (*set_value)(struct device *dev, unsigned offset, int value);
-	int (*get_function)(struct device *dev, unsigned offset);
-	int (*get_state)(struct device *dev, unsigned offset, char *state,
+	int (*get_value)(struct udevice *dev, unsigned offset);
+	int (*set_value)(struct udevice *dev, unsigned offset, int value);
+	int (*get_function)(struct udevice *dev, unsigned offset);
+	int (*get_state)(struct udevice *dev, unsigned offset, char *state,
 			 int maxlen);
 };
 
@@ -166,7 +166,7 @@
  * @offset_count: Returns number of GPIOs within this bank
  * @return bank name of this device
  */
-const char *gpio_get_bank_info(struct device *dev, int *offset_count);
+const char *gpio_get_bank_info(struct udevice *dev, int *offset_count);
 
 /**
  * gpio_lookup_name - Look up a GPIO name and return its details
@@ -179,7 +179,7 @@
  * @offsetp: Returns the offset number within this device
  * @gpiop: Returns the absolute GPIO number, numbered from 0
  */
-int gpio_lookup_name(const char *name, struct device **devp,
+int gpio_lookup_name(const char *name, struct udevice **devp,
 		     unsigned int *offsetp, unsigned int *gpiop);
 
 #endif	/* _ASM_GENERIC_GPIO_H_ */
diff --git a/include/dm-demo.h b/include/dm-demo.h
index 6e38d3c..a24fec6 100644
--- a/include/dm-demo.h
+++ b/include/dm-demo.h
@@ -23,14 +23,14 @@
 };
 
 struct demo_ops {
-	int (*hello)(struct device *dev, int ch);
-	int (*status)(struct device *dev, int *status);
+	int (*hello)(struct udevice *dev, int ch);
+	int (*status)(struct udevice *dev, int *status);
 };
 
-int demo_hello(struct device *dev, int ch);
-int demo_status(struct device *dev, int *status);
+int demo_hello(struct udevice *dev, int ch);
+int demo_status(struct udevice *dev, int *status);
 int demo_list(void);
 
-int demo_parse_dt(struct device *dev);
+int demo_parse_dt(struct udevice *dev);
 
 #endif
diff --git a/include/dm/device-internal.h b/include/dm/device-internal.h
index c026e8e..ea3df36 100644
--- a/include/dm/device-internal.h
+++ b/include/dm/device-internal.h
@@ -11,7 +11,7 @@
 #ifndef _DM_DEVICE_INTERNAL_H
 #define _DM_DEVICE_INTERNAL_H
 
-struct device;
+struct udevice;
 
 /**
  * device_bind() - Create a device and bind it to a driver
@@ -34,9 +34,9 @@
  * @devp: Returns a pointer to the bound device
  * @return 0 if OK, -ve on error
  */
-int device_bind(struct device *parent, struct driver *drv,
+int device_bind(struct udevice *parent, struct driver *drv,
 		const char *name, void *platdata, int of_offset,
-		struct device **devp);
+		struct udevice **devp);
 
 /**
  * device_bind_by_name: Create a device and bind it to a driver
@@ -49,8 +49,8 @@
  * @devp: Returns a pointer to the bound device
  * @return 0 if OK, -ve on error
  */
-int device_bind_by_name(struct device *parent, const struct driver_info *info,
-			struct device **devp);
+int device_bind_by_name(struct udevice *parent, const struct driver_info *info,
+			struct udevice **devp);
 
 /**
  * device_probe() - Probe a device, activating it
@@ -61,7 +61,7 @@
  * @dev: Pointer to device to probe
  * @return 0 if OK, -ve on error
  */
-int device_probe(struct device *dev);
+int device_probe(struct udevice *dev);
 
 /**
  * device_remove() - Remove a device, de-activating it
@@ -72,7 +72,7 @@
  * @dev: Pointer to device to remove
  * @return 0 if OK, -ve on error (an error here is normally a very bad thing)
  */
-int device_remove(struct device *dev);
+int device_remove(struct udevice *dev);
 
 /**
  * device_unbind() - Unbind a device, destroying it
@@ -82,6 +82,6 @@
  * @dev: Pointer to device to unbind
  * @return 0 if OK, -ve on error
  */
-int device_unbind(struct device *dev);
+int device_unbind(struct udevice *dev);
 
 #endif
diff --git a/include/dm/device.h b/include/dm/device.h
index 4cd38ed..ec04982 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -24,7 +24,7 @@
 #define DM_FLAG_ALLOC_PDATA	(2 << 0)
 
 /**
- * struct device - An instance of a driver
+ * struct udevice - An instance of a driver
  *
  * This holds information about a device, which is a driver bound to a
  * particular port or peripheral (essentially a driver instance).
@@ -53,12 +53,12 @@
  * @sibling_node: Next device in list of all devices
  * @flags: Flags for this device DM_FLAG_...
  */
-struct device {
+struct udevice {
 	struct driver *driver;
 	const char *name;
 	void *platdata;
 	int of_offset;
-	struct device *parent;
+	struct udevice *parent;
 	void *priv;
 	struct uclass *uclass;
 	void *uclass_priv;
@@ -122,11 +122,11 @@
 	char *name;
 	enum uclass_id id;
 	const struct device_id *of_match;
-	int (*bind)(struct device *dev);
-	int (*probe)(struct device *dev);
-	int (*remove)(struct device *dev);
-	int (*unbind)(struct device *dev);
-	int (*ofdata_to_platdata)(struct device *dev);
+	int (*bind)(struct udevice *dev);
+	int (*probe)(struct udevice *dev);
+	int (*remove)(struct udevice *dev);
+	int (*unbind)(struct udevice *dev);
+	int (*ofdata_to_platdata)(struct udevice *dev);
 	int priv_auto_alloc_size;
 	int platdata_auto_alloc_size;
 	const void *ops;	/* driver-specific operations */
@@ -144,7 +144,7 @@
  * @dev		Device to check
  * @return platform data, or NULL if none
  */
-void *dev_get_platdata(struct device *dev);
+void *dev_get_platdata(struct udevice *dev);
 
 /**
  * dev_get_priv() - Get the private data for a device
@@ -154,6 +154,6 @@
  * @dev		Device to check
  * @return private data, or NULL if none
  */
-void *dev_get_priv(struct device *dev);
+void *dev_get_priv(struct udevice *dev);
 
 #endif
diff --git a/include/dm/lists.h b/include/dm/lists.h
index 0d09f9a..7feba4b 100644
--- a/include/dm/lists.h
+++ b/include/dm/lists.h
@@ -32,8 +32,8 @@
  */
 struct uclass_driver *lists_uclass_lookup(enum uclass_id id);
 
-int lists_bind_drivers(struct device *parent);
+int lists_bind_drivers(struct udevice *parent);
 
-int lists_bind_fdt(struct device *parent, const void *blob, int offset);
+int lists_bind_fdt(struct udevice *parent, const void *blob, int offset);
 
 #endif
diff --git a/include/dm/root.h b/include/dm/root.h
index 0ebccda..3018bc8 100644
--- a/include/dm/root.h
+++ b/include/dm/root.h
@@ -10,7 +10,7 @@
 #ifndef _DM_ROOT_H_
 #define _DM_ROOT_H_
 
-struct device;
+struct udevice;
 
 /**
  * dm_root() - Return pointer to the top of the driver tree
@@ -19,7 +19,7 @@
  *
  * @return pointer to root device, or NULL if not inited yet
  */
-struct device *dm_root(void);
+struct udevice *dm_root(void);
 
 /**
  * dm_scan_platdata() - Scan all platform data and bind drivers
diff --git a/include/dm/test.h b/include/dm/test.h
index eeaa2eb..409f1a3 100644
--- a/include/dm/test.h
+++ b/include/dm/test.h
@@ -30,7 +30,7 @@
  *	@return 0 if OK, -ve on error
  */
 struct test_ops {
-	int (*ping)(struct device *dev, int pingval, int *pingret);
+	int (*ping)(struct udevice *dev, int pingval, int *pingret);
 };
 
 /* Operations that our test driver supports */
@@ -102,8 +102,8 @@
  * @skip_post_probe: Skip uclass post-probe processing
  */
 struct dm_test_state {
-	struct device *root;
-	struct device *testdev;
+	struct udevice *root;
+	struct udevice *testdev;
 	int fail_count;
 	int force_fail_alloc;
 	int skip_post_probe;
@@ -138,8 +138,8 @@
 	}
 
 /* Declare ping methods for the drivers */
-int test_ping(struct device *dev, int pingval, int *pingret);
-int testfdt_ping(struct device *dev, int pingval, int *pingret);
+int test_ping(struct udevice *dev, int pingval, int *pingret);
+int testfdt_ping(struct udevice *dev, int pingval, int *pingret);
 
 /**
  * dm_check_operations() - Check that we can perform ping operations
@@ -152,7 +152,7 @@
  * @priv: Pointer to private test information
  * @return 0 if OK, -ve on error
  */
-int dm_check_operations(struct dm_test_state *dms, struct device *dev,
+int dm_check_operations(struct dm_test_state *dms, struct udevice *dev,
 			uint32_t base, struct dm_test_priv *priv);
 
 /**
diff --git a/include/dm/uclass-internal.h b/include/dm/uclass-internal.h
index cc65d52..1434db3 100644
--- a/include/dm/uclass-internal.h
+++ b/include/dm/uclass-internal.h
@@ -21,7 +21,7 @@
  * @return the uclass pointer of a child at the given index or
  * return NULL on error.
  */
-int uclass_find_device(enum uclass_id id, int index, struct device **devp);
+int uclass_find_device(enum uclass_id id, int index, struct udevice **devp);
 
 /**
  * uclass_bind_device() - Associate device with a uclass
@@ -31,7 +31,7 @@
  * @dev:	Pointer to the device
  * #return 0 on success, -ve on error
  */
-int uclass_bind_device(struct device *dev);
+int uclass_bind_device(struct udevice *dev);
 
 /**
  * uclass_unbind_device() - Deassociate device with a uclass
@@ -41,7 +41,7 @@
  * @dev:	Pointer to the device
  * #return 0 on success, -ve on error
  */
-int uclass_unbind_device(struct device *dev);
+int uclass_unbind_device(struct udevice *dev);
 
 /**
  * uclass_post_probe_device() - Deal with a device that has just been probed
@@ -52,7 +52,7 @@
  * @dev:	Pointer to the device
  * #return 0 on success, -ve on error
  */
-int uclass_post_probe_device(struct device *dev);
+int uclass_post_probe_device(struct udevice *dev);
 
 /**
  * uclass_pre_remove_device() - Handle a device which is about to be removed
@@ -62,7 +62,7 @@
  * @dev:	Pointer to the device
  * #return 0 on success, -ve on error
  */
-int uclass_pre_remove_device(struct device *dev);
+int uclass_pre_remove_device(struct udevice *dev);
 
 /**
  * uclass_find() - Find uclass by its id
diff --git a/include/dm/uclass.h b/include/dm/uclass.h
index cd23cfe..931d9c0 100644
--- a/include/dm/uclass.h
+++ b/include/dm/uclass.h
@@ -37,7 +37,7 @@
 	struct list_head sibling_node;
 };
 
-struct device;
+struct udevice;
 
 /**
  * struct uclass_driver - Driver for the uclass
@@ -65,10 +65,10 @@
 struct uclass_driver {
 	const char *name;
 	enum uclass_id id;
-	int (*post_bind)(struct device *dev);
-	int (*pre_unbind)(struct device *dev);
-	int (*post_probe)(struct device *dev);
-	int (*pre_remove)(struct device *dev);
+	int (*post_bind)(struct udevice *dev);
+	int (*pre_unbind)(struct udevice *dev);
+	int (*post_probe)(struct udevice *dev);
+	int (*pre_remove)(struct udevice *dev);
 	int (*init)(struct uclass *class);
 	int (*destroy)(struct uclass *class);
 	int priv_auto_alloc_size;
@@ -101,7 +101,7 @@
  * @ucp: Returns pointer to uclass (there is only one per for each ID)
  * @return 0 if OK, -ve on error
  */
-int uclass_get_device(enum uclass_id id, int index, struct device **ucp);
+int uclass_get_device(enum uclass_id id, int index, struct udevice **ucp);
 
 /**
  * uclass_first_device() - Get the first device in a uclass
@@ -110,7 +110,7 @@
  * @devp: Returns pointer to the first device in that uclass, or NULL if none
  * @return 0 if OK (found or not found), -1 on error
  */
-int uclass_first_device(enum uclass_id id, struct device **devp);
+int uclass_first_device(enum uclass_id id, struct udevice **devp);
 
 /**
  * uclass_next_device() - Get the next device in a uclass
@@ -119,7 +119,7 @@
  * to the next device in the same uclass, or NULL if none
  * @return 0 if OK (found or not found), -1 on error
  */
-int uclass_next_device(struct device **devp);
+int uclass_next_device(struct udevice **devp);
 
 /**
  * uclass_foreach_dev() - Helper function to iteration through devices
@@ -127,7 +127,7 @@
  * This creates a for() loop which works through the available devices in
  * a uclass in order from start to end.
  *
- * @pos: struct device * to hold the current device. Set to NULL when there
+ * @pos: struct udevice * to hold the current device. Set to NULL when there
  * are no more devices.
  * uc: uclass to scan
  */
diff --git a/test/dm/cmd_dm.c b/test/dm/cmd_dm.c
index a03fe20..083f15c 100644
--- a/test/dm/cmd_dm.c
+++ b/test/dm/cmd_dm.c
@@ -16,12 +16,12 @@
 #include <dm/test.h>
 #include <dm/uclass-internal.h>
 
-static int display_succ(struct device *in, char *buf)
+static int display_succ(struct udevice *in, char *buf)
 {
 	int len;
 	int ip = 0;
 	char local[16];
-	struct device *pos, *n, *prev = NULL;
+	struct udevice *pos, *n, *prev = NULL;
 
 	printf("%s- %s @ %08x", buf, in->name, map_to_sysmem(in));
 	if (in->flags & DM_FLAG_ACTIVATED)
@@ -49,7 +49,7 @@
 	return 0;
 }
 
-static int dm_dump(struct device *dev)
+static int dm_dump(struct udevice *dev)
 {
 	if (!dev)
 		return -EINVAL;
@@ -59,7 +59,7 @@
 static int do_dm_dump_all(cmd_tbl_t *cmdtp, int flag, int argc,
 			  char * const argv[])
 {
-	struct device *root;
+	struct udevice *root;
 
 	root = dm_root();
 	printf("ROOT %08x\n", map_to_sysmem(root));
@@ -74,7 +74,7 @@
 	int id;
 
 	for (id = 0; id < UCLASS_COUNT; id++) {
-		struct device *dev;
+		struct udevice *dev;
 
 		ret = uclass_get(id, &uc);
 		if (ret)
diff --git a/test/dm/core.c b/test/dm/core.c
index 14a57c3..be3646b 100644
--- a/test/dm/core.c
+++ b/test/dm/core.c
@@ -60,7 +60,7 @@
 /* Test that binding with platdata occurs correctly */
 static int dm_test_autobind(struct dm_test_state *dms)
 {
-	struct device *dev;
+	struct udevice *dev;
 
 	/*
 	 * We should have a single class (UCLASS_ROOT) and a single root
@@ -95,7 +95,7 @@
 static int dm_test_autoprobe(struct dm_test_state *dms)
 {
 	int expected_base_add;
-	struct device *dev;
+	struct udevice *dev;
 	struct uclass *uc;
 	int i;
 
@@ -157,7 +157,7 @@
 static int dm_test_platdata(struct dm_test_state *dms)
 {
 	const struct dm_test_pdata *pdata;
-	struct device *dev;
+	struct udevice *dev;
 	int i;
 
 	for (i = 0; i < 3; i++) {
@@ -175,7 +175,7 @@
 static int dm_test_lifecycle(struct dm_test_state *dms)
 {
 	int op_count[DM_TEST_OP_COUNT];
-	struct device *dev, *test_dev;
+	struct udevice *dev, *test_dev;
 	int pingret;
 	int ret;
 
@@ -229,7 +229,7 @@
 /* Test that we can bind/unbind and the lists update correctly */
 static int dm_test_ordering(struct dm_test_state *dms)
 {
-	struct device *dev, *dev_penultimate, *dev_last, *test_dev;
+	struct udevice *dev, *dev_penultimate, *dev_last, *test_dev;
 	int pingret;
 
 	ut_assertok(device_bind_by_name(dms->root, &driver_info_manual,
@@ -281,7 +281,7 @@
 DM_TEST(dm_test_ordering, DM_TESTF_SCAN_PDATA);
 
 /* Check that we can perform operations on a device (do a ping) */
-int dm_check_operations(struct dm_test_state *dms, struct device *dev,
+int dm_check_operations(struct dm_test_state *dms, struct udevice *dev,
 			uint32_t base, struct dm_test_priv *priv)
 {
 	int expected;
@@ -311,7 +311,7 @@
 /* Check that we can perform operations on devices */
 static int dm_test_operations(struct dm_test_state *dms)
 {
-	struct device *dev;
+	struct udevice *dev;
 	int i;
 
 	/*
@@ -341,7 +341,7 @@
 /* Remove all drivers and check that things work */
 static int dm_test_remove(struct dm_test_state *dms)
 {
-	struct device *dev;
+	struct udevice *dev;
 	int i;
 
 	for (i = 0; i < 3; i++) {
@@ -367,7 +367,7 @@
 
 	for (i = 0; i < 2; i++) {
 		struct mallinfo start, end;
-		struct device *dev;
+		struct udevice *dev;
 		int ret;
 		int id;
 
@@ -435,10 +435,10 @@
  *		this array.
  * @return 0 if OK, -ve on error
  */
-static int create_children(struct dm_test_state *dms, struct device *parent,
-			   int count, int key, struct device *child[])
+static int create_children(struct dm_test_state *dms, struct udevice *parent,
+			   int count, int key, struct udevice *child[])
 {
-	struct device *dev;
+	struct udevice *dev;
 	int i;
 
 	for (i = 0; i < count; i++) {
@@ -460,10 +460,10 @@
 
 static int dm_test_children(struct dm_test_state *dms)
 {
-	struct device *top[NODE_COUNT];
-	struct device *child[NODE_COUNT];
-	struct device *grandchild[NODE_COUNT];
-	struct device *dev;
+	struct udevice *top[NODE_COUNT];
+	struct udevice *child[NODE_COUNT];
+	struct udevice *grandchild[NODE_COUNT];
+	struct udevice *dev;
 	int total;
 	int ret;
 	int i;
diff --git a/test/dm/gpio.c b/test/dm/gpio.c
index bf632bc..2b2b0b5 100644
--- a/test/dm/gpio.c
+++ b/test/dm/gpio.c
@@ -17,7 +17,7 @@
 {
 	unsigned int offset, gpio;
 	struct dm_gpio_ops *ops;
-	struct device *dev;
+	struct udevice *dev;
 	const char *name;
 	int offset_count;
 	char buf[80];
diff --git a/test/dm/test-driver.c b/test/dm/test-driver.c
index c4be8a1..0f1a37b 100644
--- a/test/dm/test-driver.c
+++ b/test/dm/test-driver.c
@@ -18,7 +18,7 @@
 int dm_testdrv_op_count[DM_TEST_OP_COUNT];
 static struct dm_test_state *dms = &global_test_state;
 
-static int testdrv_ping(struct device *dev, int pingval, int *pingret)
+static int testdrv_ping(struct udevice *dev, int pingval, int *pingret)
 {
 	const struct dm_test_pdata *pdata = dev_get_platdata(dev);
 	struct dm_test_priv *priv = dev_get_priv(dev);
@@ -33,7 +33,7 @@
 	.ping = testdrv_ping,
 };
 
-static int test_bind(struct device *dev)
+static int test_bind(struct udevice *dev)
 {
 	/* Private data should not be allocated */
 	ut_assert(!dev_get_priv(dev));
@@ -42,7 +42,7 @@
 	return 0;
 }
 
-static int test_probe(struct device *dev)
+static int test_probe(struct udevice *dev)
 {
 	struct dm_test_priv *priv = dev_get_priv(dev);
 
@@ -54,7 +54,7 @@
 	return 0;
 }
 
-static int test_remove(struct device *dev)
+static int test_remove(struct udevice *dev)
 {
 	/* Private data should still be allocated */
 	ut_assert(dev_get_priv(dev));
@@ -63,7 +63,7 @@
 	return 0;
 }
 
-static int test_unbind(struct device *dev)
+static int test_unbind(struct udevice *dev)
 {
 	/* Private data should not be allocated */
 	ut_assert(!dev->priv);
@@ -94,7 +94,7 @@
 	.priv_auto_alloc_size = sizeof(struct dm_test_priv),
 };
 
-static int test_manual_drv_ping(struct device *dev, int pingval, int *pingret)
+static int test_manual_drv_ping(struct udevice *dev, int pingval, int *pingret)
 {
 	*pingret = pingval + 2;
 
@@ -105,14 +105,14 @@
 	.ping = test_manual_drv_ping,
 };
 
-static int test_manual_bind(struct device *dev)
+static int test_manual_bind(struct udevice *dev)
 {
 	dm_testdrv_op_count[DM_TEST_OP_BIND]++;
 
 	return 0;
 }
 
-static int test_manual_probe(struct device *dev)
+static int test_manual_probe(struct udevice *dev)
 {
 	dm_testdrv_op_count[DM_TEST_OP_PROBE]++;
 	if (!dms->force_fail_alloc)
@@ -123,13 +123,13 @@
 	return 0;
 }
 
-static int test_manual_remove(struct device *dev)
+static int test_manual_remove(struct udevice *dev)
 {
 	dm_testdrv_op_count[DM_TEST_OP_REMOVE]++;
 	return 0;
 }
 
-static int test_manual_unbind(struct device *dev)
+static int test_manual_unbind(struct udevice *dev)
 {
 	dm_testdrv_op_count[DM_TEST_OP_UNBIND]++;
 	return 0;
diff --git a/test/dm/test-fdt.c b/test/dm/test-fdt.c
index e1d982f..6eccf11 100644
--- a/test/dm/test-fdt.c
+++ b/test/dm/test-fdt.c
@@ -18,7 +18,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static int testfdt_drv_ping(struct device *dev, int pingval, int *pingret)
+static int testfdt_drv_ping(struct udevice *dev, int pingval, int *pingret)
 {
 	const struct dm_test_pdata *pdata = dev->platdata;
 	struct dm_test_priv *priv = dev_get_priv(dev);
@@ -33,7 +33,7 @@
 	.ping = testfdt_drv_ping,
 };
 
-static int testfdt_ofdata_to_platdata(struct device *dev)
+static int testfdt_ofdata_to_platdata(struct udevice *dev)
 {
 	struct dm_test_pdata *pdata = dev_get_platdata(dev);
 
@@ -44,7 +44,7 @@
 	return 0;
 }
 
-static int testfdt_drv_probe(struct device *dev)
+static int testfdt_drv_probe(struct udevice *dev)
 {
 	struct dm_test_priv *priv = dev_get_priv(dev);
 
@@ -75,7 +75,7 @@
 };
 
 /* From here is the testfdt uclass code */
-int testfdt_ping(struct device *dev, int pingval, int *pingret)
+int testfdt_ping(struct udevice *dev, int pingval, int *pingret)
 {
 	const struct test_ops *ops = device_get_ops(dev);
 
@@ -94,7 +94,7 @@
 static int dm_test_fdt(struct dm_test_state *dms)
 {
 	const int num_drivers = 3;
-	struct device *dev;
+	struct udevice *dev;
 	struct uclass *uc;
 	int ret;
 	int i;
diff --git a/test/dm/test-main.c b/test/dm/test-main.c
index 828ed46..fbdae68 100644
--- a/test/dm/test-main.c
+++ b/test/dm/test-main.c
@@ -32,7 +32,7 @@
 /* Ensure all the test devices are probed */
 static int do_autoprobe(struct dm_test_state *dms)
 {
-	struct device *dev;
+	struct udevice *dev;
 	int ret;
 
 	/* Scanning the uclass is enough to probe all the devices */
diff --git a/test/dm/test-uclass.c b/test/dm/test-uclass.c
index 8b564b8..017e097 100644
--- a/test/dm/test-uclass.c
+++ b/test/dm/test-uclass.c
@@ -18,7 +18,7 @@
 
 static struct dm_test_state *dms = &global_test_state;
 
-int test_ping(struct device *dev, int pingval, int *pingret)
+int test_ping(struct udevice *dev, int pingval, int *pingret)
 {
 	const struct test_ops *ops = device_get_ops(dev);
 
@@ -28,24 +28,25 @@
 	return ops->ping(dev, pingval, pingret);
 }
 
-static int test_post_bind(struct device *dev)
+static int test_post_bind(struct udevice *dev)
 {
 	dm_testdrv_op_count[DM_TEST_OP_POST_BIND]++;
 
 	return 0;
 }
 
-static int test_pre_unbind(struct device *dev)
+static int test_pre_unbind(struct udevice *dev)
 {
 	dm_testdrv_op_count[DM_TEST_OP_PRE_UNBIND]++;
 
 	return 0;
 }
 
-static int test_post_probe(struct device *dev)
+static int test_post_probe(struct udevice *dev)
 {
-	struct device *prev = list_entry(dev->uclass_node.prev, struct device,
-					 uclass_node);
+	struct udevice *prev = list_entry(dev->uclass_node.prev,
+					    struct udevice, uclass_node);
+
 	struct dm_test_uclass_perdev_priv *priv = dev->uclass_priv;
 	struct uclass *uc = dev->uclass;
 
@@ -68,7 +69,7 @@
 	return 0;
 }
 
-static int test_pre_remove(struct device *dev)
+static int test_pre_remove(struct udevice *dev)
 {
 	dm_testdrv_op_count[DM_TEST_OP_PRE_REMOVE]++;