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;
