Merge branch 'master' of /home/wd/git/u-boot/custodians
diff --git a/board/MAI/AmigaOneG3SE/ps2kbd.c b/board/MAI/AmigaOneG3SE/ps2kbd.c
index a297005..aa164b0 100644
--- a/board/MAI/AmigaOneG3SE/ps2kbd.c
+++ b/board/MAI/AmigaOneG3SE/ps2kbd.c
@@ -34,7 +34,7 @@
  */
 #include <common.h>
 #include <asm/processor.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include "ps2kbd.h"
 
 
@@ -226,7 +226,7 @@
 int drv_isa_kbd_init (void)
 {
 	int error;
-	device_t kbddev ;
+	struct stdio_dev kbddev ;
 	char *stdinname  = getenv ("stdin");
 
 	if(isa_kbd_init() == -1)
@@ -239,7 +239,7 @@
 	kbddev.getc = kbd_getc ;
 	kbddev.tstc = kbd_testc ;
 
-	error = device_register (&kbddev);
+	error = stdio_register (&kbddev);
 	if(error==0) {
 		/* check if this is the standard input device */
 		if(strcmp(stdinname,DEVNAME)==0) {
diff --git a/board/MAI/AmigaOneG3SE/video.c b/board/MAI/AmigaOneG3SE/video.c
index fc27c68..e24e28b 100644
--- a/board/MAI/AmigaOneG3SE/video.c
+++ b/board/MAI/AmigaOneG3SE/video.c
@@ -22,7 +22,7 @@
  */
 
 #include <common.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include "memio.h"
 #include <part.h>
 
@@ -98,7 +98,7 @@
 int drv_video_init(void)
 {
     int error, devices = 1 ;
-    device_t vgadev ;
+    struct stdio_dev vgadev ;
     if (video_inited) return 1;
     video_inited = 1;
     video_init();
@@ -112,7 +112,7 @@
     vgadev.tstc = NULL;
     vgadev.start = video_start;
 
-    error = device_register (&vgadev);
+    error = stdio_register (&vgadev);
 
     if (error == 0)
     {
diff --git a/board/bf527-ezkit/video.c b/board/bf527-ezkit/video.c
index 2df6717..0b6b7b2 100644
--- a/board/bf527-ezkit/video.c
+++ b/board/bf527-ezkit/video.c
@@ -14,7 +14,7 @@
 #include <asm/mach-common/bits/dma.h>
 #include <i2c.h>
 #include <linux/types.h>
-#include <devices.h>
+#include <stdio_dev.h>
 
 int gunzip(void *, int, unsigned char *, unsigned long *);
 
@@ -272,7 +272,7 @@
 int drv_video_init(void)
 {
 	int error, devices = 1;
-	device_t videodev;
+	struct stdio_dev videodev;
 
 	u8 *dst;
 	u32 fbmem_size = LCD_X_RES * LCD_Y_RES * LCD_PIXEL_SIZE + ACTIVE_VIDEO_MEM_OFFSET;
@@ -311,7 +311,7 @@
 	videodev.putc = video_putc;	/* 'putc' function */
 	videodev.puts = video_puts;	/* 'puts' function */
 
-	error = device_register(&videodev);
+	error = stdio_register(&videodev);
 
 	return (error == 0) ? devices : error;
 }
diff --git a/board/bf533-stamp/video.c b/board/bf533-stamp/video.c
index 3c15eaa..28ffa61 100644
--- a/board/bf533-stamp/video.c
+++ b/board/bf533-stamp/video.c
@@ -18,7 +18,7 @@
 #include <asm/mach-common/bits/dma.h>
 #include <i2c.h>
 #include <linux/types.h>
-#include <devices.h>
+#include <stdio_dev.h>
 
 int gunzip(void *, int, unsigned char *, unsigned long *);
 
@@ -154,7 +154,7 @@
 
 int drv_video_init(void)
 {
-	device_t videodev;
+	struct stdio_dev videodev;
 
 	video_init((void *)NTSC_FRAME_ADDR);
 
@@ -163,5 +163,5 @@
 	videodev.ext = DEV_EXT_VIDEO;
 	videodev.flags = DEV_FLAGS_SYSTEM;
 
-	return device_register(&videodev);
+	return stdio_register(&videodev);
 }
diff --git a/board/bf548-ezkit/video.c b/board/bf548-ezkit/video.c
index a6f52bd..f4f1bec 100644
--- a/board/bf548-ezkit/video.c
+++ b/board/bf548-ezkit/video.c
@@ -14,7 +14,7 @@
 #include <asm/mach-common/bits/dma.h>
 #include <i2c.h>
 #include <linux/types.h>
-#include <devices.h>
+#include <stdio_dev.h>
 
 int gunzip(void *, int, unsigned char *, unsigned long *);
 
@@ -282,7 +282,7 @@
 int drv_video_init(void)
 {
 	int error, devices = 1;
-	device_t videodev;
+	struct stdio_dev videodev;
 
 	u8 *dst;
 	u32 fbmem_size = LCD_X_RES * LCD_Y_RES * LCD_PIXEL_SIZE + ACTIVE_VIDEO_MEM_OFFSET;
@@ -321,7 +321,7 @@
 	videodev.putc = video_putc;	/* 'putc' function */
 	videodev.puts = video_puts;	/* 'puts' function */
 
-	error = device_register(&videodev);
+	error = stdio_register(&videodev);
 
 	return (error == 0) ? devices : error;
 }
diff --git a/board/bmw/bmw.c b/board/bmw/bmw.c
index 41ce14f..870011e 100644
--- a/board/bmw/bmw.c
+++ b/board/bmw/bmw.c
@@ -26,7 +26,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <malloc.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <net.h>
 #include <timestamp.h>
 #include <dtt.h>
diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c b/board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c
index 0ad878c..63eba0c 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c
@@ -33,7 +33,7 @@
 #include "../common/fsl_diu_fb.h"
 
 #if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE)
-#include <devices.h>
+#include <stdio_dev.h>
 #include <video_fb.h>
 #endif
 
diff --git a/board/linkstation/avr.c b/board/linkstation/avr.c
index 782b24a..ec6d400 100644
--- a/board/linkstation/avr.c
+++ b/board/linkstation/avr.c
@@ -22,7 +22,7 @@
  */
 #include <common.h>
 #include <ns16550.h>
-#include <console.h>
+#include <stdio_dev.h>
 
 /* Button codes from the AVR */
 #define PWRR			0x20		/* Power button release	*/
diff --git a/board/mpl/common/common_util.c b/board/mpl/common/common_util.c
index d169391..243e3eb 100644
--- a/board/mpl/common/common_util.c
+++ b/board/mpl/common/common_util.c
@@ -29,7 +29,7 @@
 #include <asm/processor.h>
 #include <asm/byteorder.h>
 #include <i2c.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <pci.h>
 #include <malloc.h>
 #include <bzlib.h>
diff --git a/board/mpl/common/isa.c b/board/mpl/common/isa.c
index 91829d4..5d467b4 100644
--- a/board/mpl/common/isa.c
+++ b/board/mpl/common/isa.c
@@ -26,7 +26,7 @@
 
 #include <common.h>
 #include <asm/processor.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include "isa.h"
 #include "piix4_pci.h"
 #include "kbd.h"
diff --git a/board/mpl/common/kbd.c b/board/mpl/common/kbd.c
index a457635..b0a9620 100644
--- a/board/mpl/common/kbd.c
+++ b/board/mpl/common/kbd.c
@@ -28,7 +28,7 @@
  */
 #include <common.h>
 #include <asm/processor.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include "isa.h"
 #include "kbd.h"
 
@@ -215,7 +215,7 @@
 int drv_isa_kbd_init (void)
 {
 	int error;
-	device_t kbddev ;
+	struct stdio_dev kbddev ;
 	char *stdinname  = getenv ("stdin");
 
 	if(isa_kbd_init()==-1)
@@ -228,7 +228,7 @@
 	kbddev.getc = kbd_getc ;
 	kbddev.tstc = kbd_testc ;
 
-	error = device_register (&kbddev);
+	error = stdio_register (&kbddev);
 	if(error==0) {
 		/* check if this is the standard input device */
 		if(strcmp(stdinname,DEVNAME)==0) {
diff --git a/board/mpl/pati/pati.c b/board/mpl/pati/pati.c
index 85c5af9..8f23d2d 100644
--- a/board/mpl/pati/pati.c
+++ b/board/mpl/pati/pati.c
@@ -46,7 +46,7 @@
 
 #include <common.h>
 #include <mpc5xx.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <pci_ids.h>
 #define PLX9056_LOC
 #include "plx9056.h"
@@ -447,7 +447,7 @@
 int recbuf[REC_BUFFER_SIZE];
 static int r_ptr = 0;
 int w_ptr;
-device_t pci_con_dev;
+struct stdio_dev pci_con_dev;
 int conn=0;
 int buff_full=0;
 
@@ -584,7 +584,7 @@
 	pci_con_dev.puts = pci_con_puts;
 	pci_con_dev.getc = pci_con_getc;
 	pci_con_dev.tstc = pci_con_tstc;
-	device_register (&pci_con_dev);
+	stdio_register (&pci_con_dev);
 	printf("PATI ready for PCI connection, type ctrl-c for exit\n");
 	do {
 		udelay(10);
diff --git a/board/netphone/phone_console.c b/board/netphone/phone_console.c
index d9b0ad3..3d82e04 100644
--- a/board/netphone/phone_console.c
+++ b/board/netphone/phone_console.c
@@ -37,7 +37,7 @@
 
 #include <version.h>
 #include <linux/types.h>
-#include <devices.h>
+#include <stdio_dev.h>
 
 #include <sed156x.h>
 
@@ -325,7 +325,7 @@
 
 int drv_phone_init(void)
 {
-	device_t console_dev;
+	struct stdio_dev console_dev;
 
 	console_init();
 
@@ -340,7 +340,7 @@
 	console_dev.tstc = phone_tstc;	/* 'tstc' function */
 	console_dev.getc = phone_getc;	/* 'getc' function */
 
-	if (device_register(&console_dev) == 0)
+	if (stdio_register(&console_dev) == 0)
 		return 1;
 
 	return 0;
diff --git a/board/rbc823/kbd.c b/board/rbc823/kbd.c
index 1d48f6d..853cbde 100644
--- a/board/rbc823/kbd.c
+++ b/board/rbc823/kbd.c
@@ -30,7 +30,7 @@
 #include <common.h>
 #include <watchdog.h>
 #include <commproc.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <lcd.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -249,18 +249,18 @@
 int drv_keyboard_init(void)
 {
 	int error = 0;
-	device_t kbd_dev;
+	struct stdio_dev kbd_dev;
 
 	if (0) {
 		/* register the keyboard */
-		memset (&kbd_dev, 0, sizeof(device_t));
+		memset (&kbd_dev, 0, sizeof(struct stdio_dev));
 		strcpy(kbd_dev.name, "kbd");
 		kbd_dev.flags =  DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM;
 		kbd_dev.putc = NULL;
 		kbd_dev.puts = NULL;
 		kbd_dev.getc = smc1_getc;
 		kbd_dev.tstc = smc1_tstc;
-		error = device_register (&kbd_dev);
+		error = stdio_register (&kbd_dev);
 	} else {
 		lcd_is_enabled = 0;
 		lcd_disable();
diff --git a/board/trab/vfd.c b/board/trab/vfd.c
index 37d3aa4..e5ca4ab 100644
--- a/board/trab/vfd.c
+++ b/board/trab/vfd.c
@@ -36,7 +36,7 @@
 #include <version.h>
 #include <stdarg.h>
 #include <linux/types.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <s3c2400.h>
 
 DECLARE_GLOBAL_DATA_PTR;
diff --git a/common/Makefile b/common/Makefile
index c8a997b..f90e5dd 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -32,7 +32,6 @@
 COBJS-y += circbuf.o
 COBJS-y += console.o
 COBJS-y += command.o
-COBJS-y += devices.o
 COBJS-y += dlmalloc.o
 COBJS-y += exports.o
 COBJS-$(CONFIG_SYS_HUSH_PARSER) += hush.o
@@ -40,6 +39,7 @@
 COBJS-y += memsize.o
 COBJS-y += s_record.o
 COBJS-$(CONFIG_SERIAL_MULTI) += serial.o
+COBJS-y += stdio.o
 COBJS-y += xyzModem.o
 
 # core command
diff --git a/common/cmd_console.c b/common/cmd_console.c
index f861f83..178fbfe 100644
--- a/common/cmd_console.c
+++ b/common/cmd_console.c
@@ -26,22 +26,22 @@
  */
 #include <common.h>
 #include <command.h>
-#include <devices.h>
+#include <stdio_dev.h>
 
 extern void _do_coninfo (void);
 int do_coninfo (cmd_tbl_t * cmd, int flag, int argc, char *argv[])
 {
 	int l;
-	struct list_head *list = device_get_list();
+	struct list_head *list = stdio_get_list();
 	struct list_head *pos;
-	device_t *dev;
+	struct stdio_dev *dev;
 
 	/* Scan for valid output and input devices */
 
 	puts ("List of available devices:\n");
 
 	list_for_each(pos, list) {
-		dev = list_entry(pos, device_t, list);
+		dev = list_entry(pos, struct stdio_dev, list);
 
 		printf ("%-8s %08x %c%c%c ",
 			dev->name,
diff --git a/common/cmd_log.c b/common/cmd_log.c
index d422d9f..3653fe1 100644
--- a/common/cmd_log.c
+++ b/common/cmd_log.c
@@ -42,7 +42,7 @@
 
 #include <common.h>
 #include <command.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <post.h>
 #include <logbuff.h>
 
@@ -142,7 +142,7 @@
 
 int drv_logbuff_init (void)
 {
-	device_t logdev;
+	struct stdio_dev logdev;
 	int rc;
 
 	/* Device initialization */
@@ -154,7 +154,7 @@
 	logdev.putc  = logbuff_putc;		/* 'putc' function */
 	logdev.puts  = logbuff_puts;		/* 'puts' function */
 
-	rc = device_register (&logdev);
+	rc = stdio_register (&logdev);
 
 	return (rc == 0) ? 1 : rc;
 }
diff --git a/common/cmd_terminal.c b/common/cmd_terminal.c
index fd3dd48..60ec378 100644
--- a/common/cmd_terminal.c
+++ b/common/cmd_terminal.c
@@ -26,19 +26,19 @@
  */
 #include <common.h>
 #include <command.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <serial.h>
 
 int do_terminal(cmd_tbl_t * cmd, int flag, int argc, char *argv[])
 {
 	int last_tilde = 0;
-	device_t *dev = NULL;
+	struct stdio_dev *dev = NULL;
 
 	if (argc < 1)
 		return -1;
 
 	/* Scan for selected output/input device */
-	dev = device_get_by_name(argv[1]);
+	dev = stdio_get_by_name(argv[1]);
 	if (!dev)
 		return -1;
 
diff --git a/common/console.c b/common/console.c
index 2add047..0a36d2f 100644
--- a/common/console.c
+++ b/common/console.c
@@ -24,7 +24,7 @@
 #include <common.h>
 #include <stdarg.h>
 #include <malloc.h>
-#include <console.h>
+#include <stdio_dev.h>
 #include <exports.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -48,7 +48,7 @@
 
 #endif /* CONFIG_SYS_CONSOLE_IS_IN_ENV */
 
-static int console_setfile(int file, device_t * dev)
+static int console_setfile(int file, struct stdio_dev * dev)
 {
 	int error = 0;
 
@@ -96,8 +96,8 @@
 #if defined(CONFIG_CONSOLE_MUX)
 /** Console I/O multiplexing *******************************************/
 
-static device_t *tstcdev;
-device_t **console_devices[MAX_FILES];
+static struct stdio_dev *tstcdev;
+struct stdio_dev **console_devices[MAX_FILES];
 int cd_count[MAX_FILES];
 
 /*
@@ -119,7 +119,7 @@
 static int console_tstc(int file)
 {
 	int i, ret;
-	device_t *dev;
+	struct stdio_dev *dev;
 
 	disable_ctrlc(1);
 	for (i = 0; i < cd_count[file]; i++) {
@@ -141,7 +141,7 @@
 static void console_putc(int file, const char c)
 {
 	int i;
-	device_t *dev;
+	struct stdio_dev *dev;
 
 	for (i = 0; i < cd_count[file]; i++) {
 		dev = console_devices[file][i];
@@ -153,7 +153,7 @@
 static void console_puts(int file, const char *s)
 {
 	int i;
-	device_t *dev;
+	struct stdio_dev *dev;
 
 	for (i = 0; i < cd_count[file]; i++) {
 		dev = console_devices[file][i];
@@ -167,7 +167,7 @@
 	iomux_printdevs(file);
 }
 
-static inline void console_doenv(int file, device_t *dev)
+static inline void console_doenv(int file, struct stdio_dev *dev)
 {
 	iomux_doenv(file, dev->name);
 }
@@ -197,7 +197,7 @@
 	printf("%s\n", stdio_devices[file]->name);
 }
 
-static inline void console_doenv(int file, device_t *dev)
+static inline void console_doenv(int file, struct stdio_dev *dev)
 {
 	console_setfile(file, dev);
 }
@@ -479,11 +479,11 @@
 
 /** U-Boot INIT FUNCTIONS *************************************************/
 
-device_t *search_device(int flags, char *name)
+struct stdio_dev *search_device(int flags, char *name)
 {
-	device_t *dev;
+	struct stdio_dev *dev;
 
-	dev = device_get_by_name(name);
+	dev = stdio_get_by_name(name);
 
 	if (dev && (dev->flags & flags))
 		return dev;
@@ -494,7 +494,7 @@
 int console_assign(int file, char *devname)
 {
 	int flag;
-	device_t *dev;
+	struct stdio_dev *dev;
 
 	/* Check for valid file */
 	switch (file) {
@@ -537,7 +537,7 @@
 int console_init_r(void)
 {
 	char *stdinname, *stdoutname, *stderrname;
-	device_t *inputdev = NULL, *outputdev = NULL, *errdev = NULL;
+	struct stdio_dev *inputdev = NULL, *outputdev = NULL, *errdev = NULL;
 #ifdef CONFIG_SYS_CONSOLE_ENV_OVERWRITE
 	int i;
 #endif /* CONFIG_SYS_CONSOLE_ENV_OVERWRITE */
@@ -645,11 +645,11 @@
 /* Called after the relocation - use desired console functions */
 int console_init_r(void)
 {
-	device_t *inputdev = NULL, *outputdev = NULL;
+	struct stdio_dev *inputdev = NULL, *outputdev = NULL;
 	int i;
-	struct list_head *list = device_get_list();
+	struct list_head *list = stdio_get_list();
 	struct list_head *pos;
-	device_t *dev;
+	struct stdio_dev *dev;
 
 #ifdef CONFIG_SPLASH_SCREEN
 	/*
@@ -662,7 +662,7 @@
 
 	/* Scan devices looking for input and output devices */
 	list_for_each(pos, list) {
-		dev = list_entry(pos, device_t, list);
+		dev = list_entry(pos, struct stdio_dev, list);
 
 		if ((dev->flags & DEV_FLAGS_INPUT) && (inputdev == NULL)) {
 			inputdev = dev;
diff --git a/common/iomux.c b/common/iomux.c
index bdcc853..91d98e9 100644
--- a/common/iomux.c
+++ b/common/iomux.c
@@ -29,7 +29,7 @@
 void iomux_printdevs(const int console)
 {
 	int i;
-	device_t *dev;
+	struct stdio_dev *dev;
 
 	for (i = 0; i < cd_count[console]; i++) {
 		dev = console_devices[console][i];
@@ -43,8 +43,8 @@
 {
 	char *console_args, *temp, **start;
 	int i, j, k, io_flag, cs_idx, repeat;
-	device_t *dev;
-	device_t **cons_set;
+	struct stdio_dev *dev;
+	struct stdio_dev **cons_set;
 
 	console_args = strdup(arg);
 	if (console_args == NULL)
@@ -85,7 +85,7 @@
 		*temp = '\0';
 		start[i] = temp + 1;
 	}
-	cons_set = (device_t **)calloc(i, sizeof(device_t *));
+	cons_set = (struct stdio_dev **)calloc(i, sizeof(struct stdio_dev *));
 	if (cons_set == NULL) {
 		free(start);
 		free(console_args);
@@ -158,14 +158,14 @@
 	} else {
 		/* Works even if console_devices[console] is NULL. */
 		console_devices[console] =
-			(device_t **)realloc(console_devices[console],
-			cs_idx * sizeof(device_t *));
+			(struct stdio_dev **)realloc(console_devices[console],
+			cs_idx * sizeof(struct stdio_dev *));
 		if (console_devices[console] == NULL) {
 			free(cons_set);
 			return 1;
 		}
 		memcpy(console_devices[console], cons_set, cs_idx *
-			sizeof(device_t *));
+			sizeof(struct stdio_dev *));
 
 		cd_count[console] = cs_idx;
 	}
diff --git a/common/lcd.c b/common/lcd.c
index b9a698d..c87de0b 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -34,7 +34,7 @@
 #include <command.h>
 #include <stdarg.h>
 #include <linux/types.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #if defined(CONFIG_POST)
 #include <post.h>
 #endif
@@ -355,7 +355,7 @@
 
 int drv_lcd_init (void)
 {
-	device_t lcddev;
+	struct stdio_dev lcddev;
 	int rc;
 
 	lcd_base = (void *)(gd->fb_base);
@@ -373,7 +373,7 @@
 	lcddev.putc  = lcd_putc;		/* 'putc' function */
 	lcddev.puts  = lcd_puts;		/* 'puts' function */
 
-	rc = device_register (&lcddev);
+	rc = stdio_register (&lcddev);
 
 	return (rc == 0) ? 1 : rc;
 }
diff --git a/common/serial.c b/common/serial.c
index 5d0a73c..41a24c2 100644
--- a/common/serial.c
+++ b/common/serial.c
@@ -23,7 +23,7 @@
 
 #include <common.h>
 #include <serial.h>
-#include <devices.h>
+#include <stdio_dev.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -142,9 +142,9 @@
 	serial_assign (default_serial_console ()->name);
 }
 
-void serial_devices_init (void)
+void serial_stdio_init (void)
 {
-	device_t dev;
+	struct stdio_dev dev;
 	struct serial_device *s = serial_devices;
 
 	while (s) {
@@ -159,7 +159,7 @@
 		dev.getc = s->getc;
 		dev.tstc = s->tstc;
 
-		device_register (&dev);
+		stdio_register (&dev);
 
 		s = s->next;
 	}
diff --git a/common/devices.c b/common/stdio.c
similarity index 84%
rename from common/devices.c
rename to common/stdio.c
index ba53c9b..697df5a 100644
--- a/common/devices.c
+++ b/common/stdio.c
@@ -25,7 +25,7 @@
 #include <common.h>
 #include <stdarg.h>
 #include <malloc.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <serial.h>
 #ifdef CONFIG_LOGBUFFER
 #include <logbuff.h>
@@ -36,8 +36,8 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static device_t devs;
-device_t *stdio_devices[] = { NULL, NULL, NULL };
+static struct stdio_dev devs;
+struct stdio_dev *stdio_devices[] = { NULL, NULL, NULL };
 char *stdio_names[MAX_FILES] = { "stdin", "stdout", "stderr" };
 
 #if defined(CONFIG_SPLASH_SCREEN) && !defined(CONFIG_SYS_DEVICE_NULLDEV)
@@ -70,7 +70,7 @@
 
 static void drv_system_init (void)
 {
-	device_t dev;
+	struct stdio_dev dev;
 
 	memset (&dev, 0, sizeof (dev));
 
@@ -88,7 +88,7 @@
 	dev.tstc = serial_tstc;
 #endif
 
-	device_register (&dev);
+	stdio_register (&dev);
 
 #ifdef CONFIG_SYS_DEVICE_NULLDEV
 	memset (&dev, 0, sizeof (dev));
@@ -100,7 +100,7 @@
 	dev.getc = nulldev_input;
 	dev.tstc = nulldev_input;
 
-	device_register (&dev);
+	stdio_register (&dev);
 #endif
 }
 
@@ -108,21 +108,21 @@
  * DEVICES
  **************************************************************************
  */
-struct list_head* device_get_list(void)
+struct list_head* stdio_get_list(void)
 {
 	return &(devs.list);
 }
 
-device_t* device_get_by_name(char* name)
+struct stdio_dev* stdio_get_by_name(char* name)
 {
 	struct list_head *pos;
-	device_t *dev;
+	struct stdio_dev *dev;
 
 	if(!name)
 		return NULL;
 
 	list_for_each(pos, &(devs.list)) {
-		dev = list_entry(pos, device_t, list);
+		dev = list_entry(pos, struct stdio_dev, list);
 		if(strcmp(dev->name, name) == 0)
 			return dev;
 	}
@@ -130,29 +130,29 @@
 	return NULL;
 }
 
-device_t* device_clone(device_t *dev)
+struct stdio_dev* stdio_clone(struct stdio_dev *dev)
 {
-	device_t *_dev;
+	struct stdio_dev *_dev;
 
 	if(!dev)
 		return NULL;
 
-	_dev = calloc(1, sizeof(device_t));
+	_dev = calloc(1, sizeof(struct stdio_dev));
 
 	if(!_dev)
 		return NULL;
 
-	memcpy(_dev, dev, sizeof(device_t));
+	memcpy(_dev, dev, sizeof(struct stdio_dev));
 	strncpy(_dev->name, dev->name, 16);
 
 	return _dev;
 }
 
-int device_register (device_t * dev)
+int stdio_register (struct stdio_dev * dev)
 {
-	device_t *_dev;
+	struct stdio_dev *_dev;
 
-	_dev = device_clone(dev);
+	_dev = stdio_clone(dev);
 	if(!_dev)
 		return -1;
 	list_add_tail(&(_dev->list), &(devs.list));
@@ -162,15 +162,15 @@
 /* deregister the device "devname".
  * returns 0 if success, -1 if device is assigned and 1 if devname not found
  */
-#ifdef	CONFIG_SYS_DEVICE_DEREGISTER
-int device_deregister(char *devname)
+#ifdef	CONFIG_SYS_STDIO_DEREGISTER
+int stdio_deregister(char *devname)
 {
 	int l;
 	struct list_head *pos;
-	device_t *dev;
+	struct stdio_dev *dev;
 	char temp_names[3][8];
 
-	dev = device_get_by_name(devname);
+	dev = stdio_get_by_name(devname);
 
 	if(!dev) /* device not found */
 		return -1;
@@ -189,7 +189,7 @@
 
 	/* reassign Device list */
 	list_for_each(pos, &(devs.list)) {
-		dev = list_entry(pos, device_t, list);
+		dev = list_entry(pos, struct stdio_dev, list);
 		for (l=0 ; l< MAX_FILES; l++) {
 			if(strcmp(dev->name, temp_names[l]) == 0)
 				stdio_devices[l] = dev;
@@ -197,9 +197,9 @@
 	}
 	return 0;
 }
-#endif	/* CONFIG_SYS_DEVICE_DEREGISTER */
+#endif	/* CONFIG_SYS_STDIO_DEREGISTER */
 
-int devices_init (void)
+int stdio_init (void)
 {
 #ifndef CONFIG_ARM	/* already relocated for current ARM implementation */
 	ulong relocation_offset = gd->reloc_off;
@@ -235,7 +235,7 @@
 #endif
 	drv_system_init ();
 #ifdef CONFIG_SERIAL_MULTI
-	serial_devices_init ();
+	serial_stdio_init ();
 #endif
 #ifdef CONFIG_USB_TTY
 	drv_usbtty_init ();
diff --git a/common/usb_kbd.c b/common/usb_kbd.c
index e0d006c..b458d77 100644
--- a/common/usb_kbd.c
+++ b/common/usb_kbd.c
@@ -25,7 +25,7 @@
  *
  */
 #include <common.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <asm/byteorder.h>
 
 #include <usb.h>
@@ -153,7 +153,7 @@
 int drv_usb_kbd_init(void)
 {
 	int error,i;
-	device_t usb_kbd_dev,*old_dev;
+	struct stdio_dev usb_kbd_dev,*old_dev;
 	struct usb_device *dev;
 	char *stdinname  = getenv ("stdin");
 
@@ -168,7 +168,7 @@
 			if(usb_kbd_probe(dev,0)==1) { /* Ok, we found a keyboard */
 				/* check, if it is already registered */
 				USB_KBD_PRINTF("USB KBD found set up device.\n");
-				old_dev = device_get_by_name(DEVNAME);
+				old_dev = stdio_get_by_name(DEVNAME);
 				if(old_dev) {
 					/* ok, already registered, just return ok */
 					USB_KBD_PRINTF("USB KBD is already registered.\n");
@@ -176,7 +176,7 @@
 				}
 				/* register the keyboard */
 				USB_KBD_PRINTF("USB KBD register.\n");
-				memset (&usb_kbd_dev, 0, sizeof(device_t));
+				memset (&usb_kbd_dev, 0, sizeof(struct stdio_dev));
 				strcpy(usb_kbd_dev.name, DEVNAME);
 				usb_kbd_dev.flags =  DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM;
 				usb_kbd_dev.putc = NULL;
@@ -184,7 +184,7 @@
 				usb_kbd_dev.getc = usb_kbd_getc;
 				usb_kbd_dev.tstc = usb_kbd_testc;
 				usb_kbd_dev.priv = (void *)dev;
-				error = device_register (&usb_kbd_dev);
+				error = stdio_register (&usb_kbd_dev);
 				if(error==0) {
 					/* check if this is the standard input device */
 					if(strcmp(stdinname,DEVNAME)==0) {
@@ -212,8 +212,8 @@
 /* deregistering the keyboard */
 int usb_kbd_deregister(void)
 {
-#ifdef CONFIG_SYS_DEVICE_DEREGISTER
-	return device_deregister(DEVNAME);
+#ifdef CONFIG_SYS_STDIO_DEREGISTER
+	return stdio_deregister(DEVNAME);
 #else
 	return 1;
 #endif
diff --git a/cpu/blackfin/jtag-console.c b/cpu/blackfin/jtag-console.c
index c995d96..1cd619f 100644
--- a/cpu/blackfin/jtag-console.c
+++ b/cpu/blackfin/jtag-console.c
@@ -7,7 +7,7 @@
  */
 
 #include <common.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <asm/blackfin.h>
 
 #ifndef CONFIG_JTAG_CONSOLE_TIMEOUT
@@ -105,7 +105,7 @@
 
 int drv_jtag_console_init(void)
 {
-	device_t dev;
+	struct stdio_dev dev;
 	int ret;
 
 	memset(&dev, 0x00, sizeof(dev));
@@ -116,7 +116,7 @@
 	dev.tstc = jtag_tstc;
 	dev.getc = jtag_getc;
 
-	ret = device_register(&dev);
+	ret = stdio_register(&dev);
 	return (ret == 0 ? 1 : ret);
 }
 
diff --git a/cpu/mpc512x/diu.c b/cpu/mpc512x/diu.c
index 70849ee..691451a 100644
--- a/cpu/mpc512x/diu.c
+++ b/cpu/mpc512x/diu.c
@@ -31,7 +31,7 @@
 #include "../../board/freescale/common/fsl_diu_fb.h"
 
 #if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE)
-#include <devices.h>
+#include <stdio_dev.h>
 #include <video_fb.h>
 #endif
 
diff --git a/cpu/mpc8xx/lcd.c b/cpu/mpc8xx/lcd.c
index 4474e24..4b88b21 100644
--- a/cpu/mpc8xx/lcd.c
+++ b/cpu/mpc8xx/lcd.c
@@ -35,7 +35,7 @@
 #include <stdarg.h>
 #include <lcdvideo.h>
 #include <linux/types.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #if defined(CONFIG_POST)
 #include <post.h>
 #endif
diff --git a/cpu/mpc8xx/video.c b/cpu/mpc8xx/video.c
index 4a59927..c79c499 100644
--- a/cpu/mpc8xx/video.c
+++ b/cpu/mpc8xx/video.c
@@ -36,7 +36,7 @@
 #include <timestamp.h>
 #include <i2c.h>
 #include <linux/types.h>
-#include <devices.h>
+#include <stdio_dev.h>
 
 #ifdef CONFIG_VIDEO
 
@@ -1287,7 +1287,7 @@
 {
 	int error, devices = 1;
 
-	device_t videodev;
+	struct stdio_dev videodev;
 
 	video_init ((void *)(gd->fb_base));	/* Video initialization */
 
@@ -1301,7 +1301,7 @@
 	videodev.putc = video_putc;	/* 'putc' function */
 	videodev.puts = video_puts;	/* 'puts' function */
 
-	error = device_register (&videodev);
+	error = stdio_register (&videodev);
 
 	return (error == 0) ? devices : error;
 }
diff --git a/cpu/pxa/pxafb.c b/cpu/pxa/pxafb.c
index 97efcb6..d56c5f0 100644
--- a/cpu/pxa/pxafb.c
+++ b/cpu/pxa/pxafb.c
@@ -32,7 +32,7 @@
 #include <version.h>
 #include <stdarg.h>
 #include <linux/types.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <lcd.h>
 #include <asm/arch/pxa-regs.h>
 
diff --git a/drivers/input/keyboard.c b/drivers/input/keyboard.c
index 512b9f2..a5fbd5f 100644
--- a/drivers/input/keyboard.c
+++ b/drivers/input/keyboard.c
@@ -11,7 +11,7 @@
 
 #include <common.h>
 
-#include <devices.h>
+#include <stdio_dev.h>
 #include <keyboard.h>
 
 #undef KBG_DEBUG
@@ -268,7 +268,7 @@
 int kbd_init (void)
 {
 	int error;
-	device_t kbddev ;
+	struct stdio_dev kbddev ;
 	char *stdinname  = getenv ("stdin");
 
 	if(kbd_init_hw()==-1)
@@ -281,7 +281,7 @@
 	kbddev.getc = kbd_getc ;
 	kbddev.tstc = kbd_testc ;
 
-	error = device_register (&kbddev);
+	error = stdio_register (&kbddev);
 	if(error==0) {
 		/* check if this is the standard input device */
 		if(strcmp(stdinname,DEVNAME)==0) {
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index b2ee5ea..f5329a5 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -23,7 +23,7 @@
 
 #include <common.h>
 #include <command.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <net.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -243,7 +243,7 @@
 
 int drv_nc_init (void)
 {
-	device_t dev;
+	struct stdio_dev dev;
 	int rc;
 
 	memset (&dev, 0, sizeof (dev));
@@ -256,7 +256,7 @@
 	dev.getc = nc_getc;
 	dev.tstc = nc_tstc;
 
-	rc = device_register (&dev);
+	rc = stdio_register (&dev);
 
 	return (rc == 0) ? 1 : rc;
 }
diff --git a/drivers/serial/arm_dcc.c b/drivers/serial/arm_dcc.c
index dca73b9..7b5ecb5 100644
--- a/drivers/serial/arm_dcc.c
+++ b/drivers/serial/arm_dcc.c
@@ -27,7 +27,7 @@
  */
 
 #include <common.h>
-#include <devices.h>
+#include <stdio_dev.h>
 
 #if defined(CONFIG_CPU_V6)
 /*
@@ -148,7 +148,7 @@
 }
 
 #ifdef CONFIG_ARM_DCC_MULTI
-static device_t arm_dcc_dev;
+static struct stdio_dev arm_dcc_dev;
 
 int drv_arm_dcc_init(void)
 {
@@ -165,6 +165,6 @@
 	arm_dcc_dev.putc = arm_dcc_putc;	/* 'putc' function */
 	arm_dcc_dev.puts = arm_dcc_puts;	/* 'puts' function */
 
-	return device_register(&arm_dcc_dev);
+	return stdio_register(&arm_dcc_dev);
 }
 #endif
diff --git a/drivers/serial/usbtty.c b/drivers/serial/usbtty.c
index f711d0b..cffd5a2 100644
--- a/drivers/serial/usbtty.c
+++ b/drivers/serial/usbtty.c
@@ -24,7 +24,7 @@
 #include <common.h>
 #include <config.h>
 #include <circbuf.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include "usbtty.h"
 #include "usb_cdc_acm.h"
 #include "usbdescriptors.h"
@@ -70,7 +70,7 @@
 /*
  * Instance variables
  */
-static device_t usbttydev;
+static struct stdio_dev usbttydev;
 static struct usb_device_instance device_instance[1];
 static struct usb_bus_instance bus_instance[1];
 static struct usb_configuration_instance config_instance[NUM_CONFIGS];
@@ -570,7 +570,7 @@
 	usbttydev.putc = usbtty_putc;	/* 'putc' function */
 	usbttydev.puts = usbtty_puts;	/* 'puts' function */
 
-	rc = device_register (&usbttydev);
+	rc = stdio_register (&usbttydev);
 
 	return (rc == 0) ? 1 : rc;
 }
diff --git a/drivers/usb/musb/musb_hcd.c b/drivers/usb/musb/musb_hcd.c
index 19d978b..4ca94cb 100644
--- a/drivers/usb/musb/musb_hcd.c
+++ b/drivers/usb/musb/musb_hcd.c
@@ -801,7 +801,7 @@
  */
 void usb_event_poll()
 {
-	device_t *dev;
+	struct stdio_dev *dev;
 	struct usb_device *usb_kbd_dev;
 	struct usb_interface_descriptor *iface;
 	struct usb_endpoint_descriptor *ep;
@@ -809,7 +809,7 @@
 	int maxp;
 
 	/* Get the pointer to USB Keyboard device pointer */
-	dev = device_get_by_name("usbkbd");
+	dev = stdio_get_by_name("usbkbd");
 	usb_kbd_dev = (struct usb_device *)dev->priv;
 	iface = &usb_kbd_dev->config.if_desc[0];
 	ep = &iface->ep_desc[0];
diff --git a/drivers/usb/musb/musb_hcd.h b/drivers/usb/musb/musb_hcd.h
index b7f571d..17e9091 100644
--- a/drivers/usb/musb/musb_hcd.h
+++ b/drivers/usb/musb/musb_hcd.h
@@ -26,7 +26,7 @@
 
 #include "musb_core.h"
 #ifdef CONFIG_USB_KEYBOARD
-#include <devices.h>
+#include <stdio_dev.h>
 extern unsigned char new[];
 #endif
 
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index 6adce19..fbc4df9 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -183,7 +183,7 @@
 
 #include <version.h>
 #include <linux/types.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <video_font.h>
 
 #if defined(CONFIG_CMD_DATE)
@@ -1378,7 +1378,7 @@
 int drv_video_init (void)
 {
 	int skip_dev_init;
-	device_t console_dev;
+	struct stdio_dev console_dev;
 
 	/* Check if video initialization should be skipped */
 	if (board_video_skip())
@@ -1412,7 +1412,7 @@
 	console_dev.getc = VIDEO_GETC_FCT;	/* 'getc' function */
 #endif /* CONFIG_VGA_AS_SINGLE_DEVICE */
 
-	if (device_register (&console_dev) != 0)
+	if (stdio_register (&console_dev) != 0)
 		return 0;
 
 	/* Return success */
diff --git a/include/configs/AmigaOneG3SE.h b/include/configs/AmigaOneG3SE.h
index fe04f27..0dfb23b 100644
--- a/include/configs/AmigaOneG3SE.h
+++ b/include/configs/AmigaOneG3SE.h
@@ -363,7 +363,7 @@
 #define CONFIG_USB_UHCI		1
 #define CONFIG_USB_STORAGE	1
 #define CONFIG_USB_KEYBOARD	1
-#define CONFIG_SYS_DEVICE_DEREGISTER	1 /* needed by CONFIG_USB_KEYBOARD */
+#define CONFIG_SYS_STDIO_DEREGISTER	1 /* needed by CONFIG_USB_KEYBOARD */
 
 /*
  * Autoboot stuff
diff --git a/include/configs/MIP405.h b/include/configs/MIP405.h
index 8315cfe..da9b1cf 100644
--- a/include/configs/MIP405.h
+++ b/include/configs/MIP405.h
@@ -415,7 +415,7 @@
 #define CONFIG_USB_STORAGE
 
 /* Enable needed helper functions */
-#define CONFIG_SYS_DEVICE_DEREGISTER		/* needs device_deregister */
+#define CONFIG_SYS_STDIO_DEREGISTER		/* needs stdio_deregister */
 #endif
 /************************************************************
  * Debug support
diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h
index 2f40ef4..a3b5c7c 100644
--- a/include/configs/MPC8610HPCD.h
+++ b/include/configs/MPC8610HPCD.h
@@ -317,7 +317,7 @@
 #define CONFIG_PCI_OHCI		1
 #define CONFIG_USB_OHCI_NEW		1
 #define CONFIG_USB_KEYBOARD	1
-#define CONFIG_SYS_DEVICE_DEREGISTER
+#define CONFIG_SYS_STDIO_DEREGISTER
 #define CONFIG_SYS_USB_EVENT_POLL	1
 #define CONFIG_SYS_USB_OHCI_SLOT_NAME	"ohci_pci"
 #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 15
diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h
index 60ce0f3..955ac3d 100644
--- a/include/configs/MPC8641HPCN.h
+++ b/include/configs/MPC8641HPCN.h
@@ -391,7 +391,7 @@
 #define CONFIG_PCI_OHCI			1
 #define CONFIG_USB_OHCI_NEW		1
 #define CONFIG_USB_KEYBOARD		1
-#define CONFIG_SYS_DEVICE_DEREGISTER
+#define CONFIG_SYS_STDIO_DEREGISTER
 #define CONFIG_SYS_USB_EVENT_POLL		1
 #define CONFIG_SYS_USB_OHCI_SLOT_NAME		"ohci_pci"
 #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	15
diff --git a/include/configs/PIP405.h b/include/configs/PIP405.h
index e214d70..e301599 100644
--- a/include/configs/PIP405.h
+++ b/include/configs/PIP405.h
@@ -361,7 +361,7 @@
 #define CONFIG_USB_STORAGE
 
 /* Enable needed helper functions */
-#define CONFIG_SYS_DEVICE_DEREGISTER		/* needs device_deregister */
+#define CONFIG_SYS_STDIO_DEREGISTER		/* needs stdio_deregister */
 
 /************************************************************
  * Debug support
diff --git a/include/configs/VCMA9.h b/include/configs/VCMA9.h
index de3092d..7edea6a 100644
--- a/include/configs/VCMA9.h
+++ b/include/configs/VCMA9.h
@@ -129,7 +129,7 @@
 #define CONFIG_DOS_PARTITION	1
 
 /* Enable needed helper functions */
-#define CONFIG_SYS_DEVICE_DEREGISTER		/* needs device_deregister */
+#define CONFIG_SYS_STDIO_DEREGISTER		/* needs stdio_deregister */
 
 /************************************************************
  * RTC
diff --git a/include/configs/gr_ep2s60.h b/include/configs/gr_ep2s60.h
index 6f58bac..7b0a08f 100644
--- a/include/configs/gr_ep2s60.h
+++ b/include/configs/gr_ep2s60.h
@@ -87,7 +87,7 @@
 #define CONFIG_CMD_USB
 #define CONFIG_USB_STORAGE
 /* Enable needed helper functions */
-#define CONFIG_SYS_DEVICE_DEREGISTER	/* needs device_deregister */
+#define CONFIG_SYS_STDIO_DEREGISTER	/* needs stdio_deregister */
 #endif
 
 /*
diff --git a/include/configs/mp2usb.h b/include/configs/mp2usb.h
index 3225ce7..ac678d0 100644
--- a/include/configs/mp2usb.h
+++ b/include/configs/mp2usb.h
@@ -216,7 +216,7 @@
 #define CONFIG_SYS_MAXARGS		32		/* max number of command args */
 #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
 
-#define CONFIG_SYS_DEVICE_DEREGISTER           /* needs device_deregister */
+#define CONFIG_SYS_STDIO_DEREGISTER           /* needs stdio_deregister */
 
 #define CONFIG_SYS_HZ 1000
 #define CONFIG_SYS_HZ_CLOCK (AT91C_MASTER_CLOCK/2)	/* AT91C_TC0_CMR is implicitly set to */
diff --git a/include/console.h b/include/console.h
deleted file mode 100644
index bc8b139..0000000
--- a/include/console.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * (C) Copyright 2000
- * Paolo Scaffardi, AIRVENT SAM s.p.a - RIMINI(ITALY), arsenio@tin.it
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef _CONSOLE_H_
-#define _CONSOLE_H_
-
-#include <devices.h>
-
-/*
-** VARIABLES
-*/
-
-extern device_t	*stdio_devices[] ;
-extern char *stdio_names[MAX_FILES] ;
-
-#endif
diff --git a/include/iomux.h b/include/iomux.h
index 257c1f7..e38a81e 100644
--- a/include/iomux.h
+++ b/include/iomux.h
@@ -24,7 +24,7 @@
 #ifndef _IO_MUX_H
 #define _IO_MUX_H
 
-#include <devices.h>
+#include <stdio_dev.h>
 
 /*
  * Stuff required to support console multiplexing.
@@ -34,7 +34,7 @@
  * Pointers to devices used for each file type.  Defined in console.c
  * but storage is allocated in iomux.c.
  */
-extern device_t **console_devices[MAX_FILES];
+extern struct stdio_dev **console_devices[MAX_FILES];
 /*
  * The count of devices assigned to each FILE.  Defined in console.c
  * and populated in iomux.c.
@@ -43,6 +43,6 @@
 
 int iomux_doenv(const int, const char *);
 void iomux_printdevs(const int);
-device_t *search_device(int, char *);
+struct stdio_dev *search_device(int, char *);
 
 #endif /* _IO_MUX_H */
diff --git a/include/serial.h b/include/serial.h
index 57223372..821b583 100644
--- a/include/serial.h
+++ b/include/serial.h
@@ -55,7 +55,7 @@
 extern struct serial_device serial_stuart_device;
 
 extern void serial_initialize(void);
-extern void serial_devices_init(void);
+extern void serial_stdio_init(void);
 extern int serial_assign(char * name);
 extern void serial_reinit_all(void);
 
diff --git a/include/devices.h b/include/stdio_dev.h
similarity index 85%
rename from include/devices.h
rename to include/stdio_dev.h
index 3a9881b..8b06ccf 100644
--- a/include/devices.h
+++ b/include/stdio_dev.h
@@ -12,7 +12,7 @@
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
@@ -21,13 +21,13 @@
  * MA 02111-1307 USA
  */
 
+#ifndef _STDIO_DEV_H_
+#define _STDIO_DEV_H_
+
 #include <linux/list.h>
 
-#ifndef _DEVICES_H_
-#define _DEVICES_H_
-
 /*
- * CONSOLE DEVICES
+ * STDIO DEVICES
  */
 
 #define DEV_FLAGS_INPUT	 0x00000001	/* Device can be used as input	console */
@@ -36,7 +36,7 @@
 #define DEV_EXT_VIDEO	 0x00000001	/* Video extensions supported		*/
 
 /* Device information */
-typedef struct {
+struct stdio_dev {
 	int	flags;			/* Device flags: input/output/system	*/
 	int	ext;			/* Supported extensions			*/
 	char	name[16];		/* Device name				*/
@@ -60,7 +60,7 @@
 
 	void *priv;			/* Private extensions			*/
 	struct list_head list;
-} device_t;
+};
 
 /*
  * VIDEO EXTENSIONS
@@ -83,20 +83,20 @@
 /*
  * VARIABLES
  */
-extern device_t *stdio_devices[];
+extern struct stdio_dev *stdio_devices[];
 extern char *stdio_names[MAX_FILES];
 
 /*
  * PROTOTYPES
  */
-int	device_register (device_t * dev);
-int	devices_init (void);
-#ifdef CONFIG_SYS_DEVICE_DEREGISTER
-int	device_deregister(char *devname);
+int	stdio_register (struct stdio_dev * dev);
+int	stdio_init (void);
+#ifdef CONFIG_SYS_STDIO_DEREGISTER
+int	stdio_deregister(char *devname);
 #endif
-struct list_head* device_get_list(void);
-device_t* device_get_by_name(char* name);
-device_t* device_clone(device_t *dev);
+struct list_head* stdio_get_list(void);
+struct stdio_dev* stdio_get_by_name(char* name);
+struct stdio_dev* stdio_clone(struct stdio_dev *dev);
 
 #ifdef CONFIG_ARM_DCC_MULTI
 int drv_arm_dcc_init(void);
@@ -123,4 +123,4 @@
 int drv_jtag_console_init (void);
 #endif
 
-#endif	/* _DEVICES_H_ */
+#endif
diff --git a/lib_arm/board.c b/lib_arm/board.c
index 566ae16..a44d308 100644
--- a/lib_arm/board.c
+++ b/lib_arm/board.c
@@ -41,7 +41,7 @@
 #include <common.h>
 #include <command.h>
 #include <malloc.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <timestamp.h>
 #include <version.h>
 #include <net.h>
@@ -389,7 +389,7 @@
 	/* IP Address */
 	gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
 
-	devices_init ();	/* get the devices list going. */
+	stdio_init ();	/* get the devices list going. */
 
 	jumptable_init ();
 
diff --git a/lib_avr32/board.c b/lib_avr32/board.c
index 57115df..5b2d0ef1 100644
--- a/lib_avr32/board.c
+++ b/lib_avr32/board.c
@@ -22,7 +22,7 @@
 #include <common.h>
 #include <command.h>
 #include <malloc.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <timestamp.h>
 #include <version.h>
 #include <net.h>
@@ -350,7 +350,7 @@
 
 	bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
 
-	devices_init();
+	stdio_init();
 	jumptable_init();
 	console_init_r();
 
diff --git a/lib_blackfin/board.c b/lib_blackfin/board.c
index 047f164..28de372 100644
--- a/lib_blackfin/board.c
+++ b/lib_blackfin/board.c
@@ -11,7 +11,7 @@
 
 #include <common.h>
 #include <command.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <environment.h>
 #include <malloc.h>
 #include <net.h>
@@ -354,8 +354,8 @@
 	/* relocate environment function pointers etc. */
 	env_relocate();
 
-	/* Initialize devices */
-	devices_init();
+	/* Initialize stdio devices */
+	stdio_init();
 	jumptable_init();
 
 	/* Initialize the console (after the relocation and devices init) */
diff --git a/lib_blackfin/post.c b/lib_blackfin/post.c
index 35ccd3c..faf6b96 100644
--- a/lib_blackfin/post.c
+++ b/lib_blackfin/post.c
@@ -22,7 +22,7 @@
  */
 
 #include <common.h>
-#include <console.h>
+#include <stdio_dev.h>
 #include <watchdog.h>
 #include <post.h>
 
diff --git a/lib_i386/board.c b/lib_i386/board.c
index e18dfa5..54ef6e7 100644
--- a/lib_i386/board.c
+++ b/lib_i386/board.c
@@ -31,7 +31,7 @@
 #include <common.h>
 #include <watchdog.h>
 #include <command.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <timestamp.h>
 #include <version.h>
 #include <malloc.h>
@@ -299,7 +299,7 @@
 	show_boot_progress(0x27);
 
 
-	devices_init ();
+	stdio_init ();
 
 	jumptable_init ();
 
diff --git a/lib_i386/video.c b/lib_i386/video.c
index cd89457..c58ed10 100644
--- a/lib_i386/video.c
+++ b/lib_i386/video.c
@@ -23,7 +23,7 @@
 
 #include <common.h>
 #include <pci.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <i8042.h>
 #include <asm/ptrace.h>
 #include <asm/realmode.h>
@@ -168,8 +168,8 @@
 {
 	u16 pos;
 
-	static device_t vga_dev;
-	static device_t kbd_dev;
+	static struct stdio_dev vga_dev;
+	static struct stdio_dev kbd_dev;
 
 	vidmem = (char *) 0xb8000;
 	vidport = 0x3d4;
@@ -203,7 +203,7 @@
 	vga_dev.tstc  = NULL;              /* 'tstc' function */
 	vga_dev.getc  = NULL;              /* 'getc' function */
 
-	if (device_register(&vga_dev) == 0) {
+	if (stdio_register(&vga_dev) == 0) {
 	    return 1;
 	}
 
@@ -220,7 +220,7 @@
 	kbd_dev.tstc  = i8042_tstc;  /* 'tstc' function */
 	kbd_dev.getc  = i8042_getc;  /* 'getc' function */
 
-	if (device_register(&kbd_dev) == 0) {
+	if (stdio_register(&kbd_dev) == 0) {
 	    return 1;
 	}
 	return 0;
diff --git a/lib_m68k/board.c b/lib_m68k/board.c
index 7d4ffc7..f73a46c 100644
--- a/lib_m68k/board.c
+++ b/lib_m68k/board.c
@@ -28,7 +28,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <malloc.h>
-#include <devices.h>
+#include <stdio_dev.h>
 
 #include <asm/immap.h>
 
@@ -595,8 +595,8 @@
 #endif
 
 	/** leave this here (after malloc(), environment and PCI are working) **/
-	/* Initialize devices */
-	devices_init ();
+	/* Initialize stdio devices */
+	stdio_init ();
 
 	/* Initialize the jump table for applications */
 	jumptable_init ();
diff --git a/lib_mips/board.c b/lib_mips/board.c
index f8ac234..aa5b129 100644
--- a/lib_mips/board.c
+++ b/lib_mips/board.c
@@ -24,7 +24,7 @@
 #include <common.h>
 #include <command.h>
 #include <malloc.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <timestamp.h>
 #include <version.h>
 #include <net.h>
@@ -411,8 +411,8 @@
 #endif
 
 /** leave this here (after malloc(), environment and PCI are working) **/
-	/* Initialize devices */
-	devices_init ();
+	/* Initialize stdio devices */
+	stdio_init ();
 
 	jumptable_init ();
 
diff --git a/lib_nios/board.c b/lib_nios/board.c
index 9d8eea7..cd23457 100644
--- a/lib_nios/board.c
+++ b/lib_nios/board.c
@@ -25,7 +25,7 @@
  */
 
 #include <common.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <watchdog.h>
 #include <net.h>
 #ifdef CONFIG_STATUS_LED
@@ -155,7 +155,7 @@
 	bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
 
 	WATCHDOG_RESET ();
-	devices_init();
+	stdio_init();
 	jumptable_init();
 	console_init_r();
 	/*
diff --git a/lib_nios2/board.c b/lib_nios2/board.c
index 0677e99..b142c59 100644
--- a/lib_nios2/board.c
+++ b/lib_nios2/board.c
@@ -25,7 +25,7 @@
  */
 
 #include <common.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <watchdog.h>
 #include <net.h>
 #ifdef CONFIG_STATUS_LED
@@ -161,7 +161,7 @@
 	bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
 
 	WATCHDOG_RESET ();
-	devices_init();
+	stdio_init();
 	jumptable_init();
 	console_init_r();
 
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index 155171d..6dd4d56 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -25,7 +25,7 @@
 #include <watchdog.h>
 #include <command.h>
 #include <malloc.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #ifdef CONFIG_8xx
 #include <mpc8xx.h>
 #endif
@@ -932,8 +932,8 @@
 #endif
 
 /** leave this here (after malloc(), environment and PCI are working) **/
-	/* Initialize devices */
-	devices_init ();
+	/* Initialize stdio devices */
+	stdio_init ();
 
 	/* Initialize the jump table for applications */
 	jumptable_init ();
diff --git a/lib_sh/board.c b/lib_sh/board.c
index 183110f..829455d 100644
--- a/lib_sh/board.c
+++ b/lib_sh/board.c
@@ -21,7 +21,7 @@
 #include <common.h>
 #include <command.h>
 #include <malloc.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <timestamp.h>
 #include <version.h>
 #include <watchdog.h>
@@ -150,7 +150,7 @@
 	sh_flash_init,	/* Flash memory(NOR) init*/
 	INIT_FUNC_NAND_INIT/* Flash memory (NAND) init */
 	INIT_FUNC_PCI_INIT	/* PCI init */
-	devices_init,
+	stdio_init,
 	console_init_r,
 	interrupt_init,
 #ifdef BOARD_LATE_INIT
diff --git a/lib_sparc/board.c b/lib_sparc/board.c
index 628d46d..d40834b 100644
--- a/lib_sparc/board.c
+++ b/lib_sparc/board.c
@@ -28,7 +28,7 @@
 #include <common.h>
 #include <command.h>
 #include <malloc.h>
-#include <devices.h>
+#include <stdio_dev.h>
 #include <config.h>
 #if defined(CONFIG_CMD_IDE)
 #include <ide.h>
@@ -402,8 +402,8 @@
 	pci_init();
 #endif
 
-	/* Initialize devices */
-	devices_init();
+	/* Initialize stdio devices */
+	stdio_init();
 
 	/* Initialize the jump table for applications */
 	jumptable_init();
diff --git a/post/post.c b/post/post.c
index c982e27..bc8114e 100644
--- a/post/post.c
+++ b/post/post.c
@@ -22,7 +22,7 @@
  */
 
 #include <common.h>
-#include <console.h>
+#include <stdio_dev.h>
 #include <watchdog.h>
 #include <post.h>