
actually the console API use the following naming convention
---Extract--- typedef struct device_t;
int device_register (device_t * dev); int devices_init (void); int device_deregister(char *devname); struct list_head* device_get_list(void); device_t* device_get_by_name(char* name); device_t* device_clone(device_t *dev); ---
which is not console dependent and is confusing instead of using device_XX
we now switch to console_XX and console_device_t
this will also allow to add later a generic device mecanism in order to have multi generic device support and driver instance
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com --- board/MAI/AmigaOneG3SE/ps2kbd.c | 6 +- board/MAI/AmigaOneG3SE/video.c | 6 +- board/ads5121/ads5121_diu.c | 2 +- board/bf527-ezkit/video.c | 6 +- board/bf533-stamp/video.c | 6 +- board/bf548-ezkit/video.c | 6 +- board/bmw/bmw.c | 2 +- board/freescale/mpc8610hpcd/mpc8610hpcd_diu.c | 2 +- board/mpl/common/common_util.c | 4 +- board/mpl/common/isa.c | 2 +- board/mpl/common/kbd.c | 6 +- board/mpl/pati/pati.c | 6 +- board/netphone/phone_console.c | 6 +- board/rbc823/kbd.c | 6 +- board/trab/vfd.c | 2 +- common/cmd_console.c | 6 +- common/cmd_log.c | 6 +- common/cmd_terminal.c | 6 +- common/console.c | 32 +++--- common/devices.c | 42 ++++---- common/iomux.c | 14 ++-- common/lcd.c | 6 +- common/serial.c | 8 +- common/usb_kbd.c | 12 +- cpu/blackfin/jtag-console.c | 6 +- cpu/mpc8xx/lcd.c | 2 +- cpu/mpc8xx/video.c | 6 +- cpu/pxa/pxafb.c | 2 +- drivers/input/keyboard.c | 6 +- drivers/mtd/ubi/build.c | 2 +- drivers/mtd/ubi/vmt.c | 4 +- drivers/net/netconsole.c | 6 +- drivers/serial/arm_dcc.c | 6 +- drivers/serial/usbtty.c | 6 +- drivers/usb/musb/musb_hcd.c | 4 +- drivers/usb/musb/musb_hcd.h | 2 +- drivers/video/cfb_console.c | 8 +- include/configs/AmigaOneG3SE.h | 2 +- include/configs/MIP405.h | 2 +- include/configs/MPC8610HPCD.h | 2 +- include/configs/MPC8641HPCN.h | 2 +- include/configs/PIP405.h | 2 +- include/configs/VCMA9.h | 2 +- include/configs/gr_ep2s60.h | 2 +- include/configs/mp2usb.h | 2 +- include/console.h | 101 +++++++++++++++++++- include/devices.h | 126 ------------------------- include/iomux.h | 6 +- include/serial.h | 2 +- lib_arm/board.c | 4 +- lib_avr32/board.c | 4 +- lib_blackfin/board.c | 4 +- lib_i386/board.c | 4 +- lib_i386/video.c | 10 +- lib_m68k/board.c | 4 +- lib_mips/board.c | 4 +- lib_nios/board.c | 4 +- lib_nios2/board.c | 4 +- lib_ppc/board.c | 4 +- lib_sh/board.c | 4 +- lib_sparc/board.c | 4 +- 61 files changed, 264 insertions(+), 301 deletions(-) delete mode 100644 include/devices.h
diff --git a/board/MAI/AmigaOneG3SE/ps2kbd.c b/board/MAI/AmigaOneG3SE/ps2kbd.c index a297005..404d9da 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 <console.h> #include "ps2kbd.h"
@@ -226,7 +226,7 @@ int overwrite_console (void) int drv_isa_kbd_init (void) { int error; - device_t kbddev ; + console_device_t kbddev ; char *stdinname = getenv ("stdin");
if(isa_kbd_init() == -1) @@ -239,7 +239,7 @@ int drv_isa_kbd_init (void) kbddev.getc = kbd_getc ; kbddev.tstc = kbd_testc ;
- error = device_register (&kbddev); + error = console_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..23a8b72 100644 --- a/board/MAI/AmigaOneG3SE/video.c +++ b/board/MAI/AmigaOneG3SE/video.c @@ -22,7 +22,7 @@ */
#include <common.h> -#include <devices.h> +#include <console.h> #include "memio.h" #include <part.h>
@@ -98,7 +98,7 @@ int video_inited = 0; int drv_video_init(void) { int error, devices = 1 ; - device_t vgadev ; + console_device_t vgadev ; if (video_inited) return 1; video_inited = 1; video_init(); @@ -112,7 +112,7 @@ int drv_video_init(void) vgadev.tstc = NULL; vgadev.start = video_start;
- error = device_register (&vgadev); + error = console_register (&vgadev);
if (error == 0) { diff --git a/board/ads5121/ads5121_diu.c b/board/ads5121/ads5121_diu.c index 41a1353..46fb9c3 100644 --- a/board/ads5121/ads5121_diu.c +++ b/board/ads5121/ads5121_diu.c @@ -33,7 +33,7 @@ #include "../freescale/common/fsl_diu_fb.h"
#if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE) -#include <devices.h> +#include <console.h> #include <video_fb.h> #endif
diff --git a/board/bf527-ezkit/video.c b/board/bf527-ezkit/video.c index 2df6717..ec24ff3 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 <console.h>
int gunzip(void *, int, unsigned char *, unsigned long *);
@@ -272,7 +272,7 @@ void video_puts(const char *s) int drv_video_init(void) { int error, devices = 1; - device_t videodev; + console_device_t videodev;
u8 *dst; u32 fbmem_size = LCD_X_RES * LCD_Y_RES * LCD_PIXEL_SIZE + ACTIVE_VIDEO_MEM_OFFSET; @@ -311,7 +311,7 @@ int drv_video_init(void) videodev.putc = video_putc; /* 'putc' function */ videodev.puts = video_puts; /* 'puts' function */
- error = device_register(&videodev); + error = console_register(&videodev);
return (error == 0) ? devices : error; } diff --git a/board/bf533-stamp/video.c b/board/bf533-stamp/video.c index 3c15eaa..e3fae30 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 <console.h>
int gunzip(void *, int, unsigned char *, unsigned long *);
@@ -154,7 +154,7 @@ static void video_init(char *NTSCFrame)
int drv_video_init(void) { - device_t videodev; + console_device_t videodev;
video_init((void *)NTSC_FRAME_ADDR);
@@ -163,5 +163,5 @@ int drv_video_init(void) videodev.ext = DEV_EXT_VIDEO; videodev.flags = DEV_FLAGS_SYSTEM;
- return device_register(&videodev); + return console_register(&videodev); } diff --git a/board/bf548-ezkit/video.c b/board/bf548-ezkit/video.c index a6f52bd..f8689d6 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 <console.h>
int gunzip(void *, int, unsigned char *, unsigned long *);
@@ -282,7 +282,7 @@ void video_puts(const char *s) int drv_video_init(void) { int error, devices = 1; - device_t videodev; + console_device_t videodev;
u8 *dst; u32 fbmem_size = LCD_X_RES * LCD_Y_RES * LCD_PIXEL_SIZE + ACTIVE_VIDEO_MEM_OFFSET; @@ -321,7 +321,7 @@ int drv_video_init(void) videodev.putc = video_putc; /* 'putc' function */ videodev.puts = video_puts; /* 'puts' function */
- error = device_register(&videodev); + error = console_register(&videodev);
return (error == 0) ? devices : error; } diff --git a/board/bmw/bmw.c b/board/bmw/bmw.c index 41ce14f..6cca017 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 <console.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 2b2d5d7..fb9371e 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 <console.h> #include <video_fb.h> #endif
diff --git a/board/mpl/common/common_util.c b/board/mpl/common/common_util.c index d169391..aa37370 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 <console.h> #include <pci.h> #include <malloc.h> #include <bzlib.h> @@ -429,7 +429,7 @@ void check_env(void) }
-extern device_t *stdio_devices[]; +extern console_device_t *stdio_devices[]; extern char *stdio_names[];
void show_stdio_dev(void) diff --git a/board/mpl/common/isa.c b/board/mpl/common/isa.c index 91829d4..40ace1f 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 <console.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..262e656 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 <console.h> #include "isa.h" #include "kbd.h"
@@ -215,7 +215,7 @@ int overwrite_console (void) int drv_isa_kbd_init (void) { int error; - device_t kbddev ; + console_device_t kbddev ; char *stdinname = getenv ("stdin");
if(isa_kbd_init()==-1) @@ -228,7 +228,7 @@ int drv_isa_kbd_init (void) kbddev.getc = kbd_getc ; kbddev.tstc = kbd_testc ;
- error = device_register (&kbddev); + error = console_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..a814903 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 <console.h> #include <pci_ids.h> #define PLX9056_LOC #include "plx9056.h" @@ -447,7 +447,7 @@ int checkboard (void) int recbuf[REC_BUFFER_SIZE]; static int r_ptr = 0; int w_ptr; -device_t pci_con_dev; +console_device_t pci_con_dev; int conn=0; int buff_full=0;
@@ -584,7 +584,7 @@ void pci_con_connect(void) 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); + console_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..85eea29 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 <console.h>
#include <sed156x.h>
@@ -325,7 +325,7 @@ int phone_getc(void)
int drv_phone_init(void) { - device_t console_dev; + console_device_t console_dev;
console_init();
@@ -340,7 +340,7 @@ int drv_phone_init(void) console_dev.tstc = phone_tstc; /* 'tstc' function */ console_dev.getc = phone_getc; /* 'getc' function */
- if (device_register(&console_dev) == 0) + if (console_register(&console_dev) == 0) return 1;
return 0; diff --git a/board/rbc823/kbd.c b/board/rbc823/kbd.c index 1d48f6d..dbb2063 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 <console.h> #include <lcd.h>
DECLARE_GLOBAL_DATA_PTR; @@ -249,7 +249,7 @@ int smc1_tstc(void) int drv_keyboard_init(void) { int error = 0; - device_t kbd_dev; + console_device_t kbd_dev;
if (0) { /* register the keyboard */ @@ -260,7 +260,7 @@ int drv_keyboard_init(void) kbd_dev.puts = NULL; kbd_dev.getc = smc1_getc; kbd_dev.tstc = smc1_tstc; - error = device_register (&kbd_dev); + error = console_register (&kbd_dev); } else { lcd_is_enabled = 0; lcd_disable(); diff --git a/board/trab/vfd.c b/board/trab/vfd.c index 37d3aa4..cc13f30 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 <console.h> #include <s3c2400.h>
DECLARE_GLOBAL_DATA_PTR; diff --git a/common/cmd_console.c b/common/cmd_console.c index f861f83..fd7a65d 100644 --- a/common/cmd_console.c +++ b/common/cmd_console.c @@ -26,15 +26,15 @@ */ #include <common.h> #include <command.h> -#include <devices.h> +#include <console.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 = console_get_list(); struct list_head *pos; - device_t *dev; + console_device_t *dev;
/* Scan for valid output and input devices */
diff --git a/common/cmd_log.c b/common/cmd_log.c index a03835d..a3c06b8 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 <console.h> #include <post.h> #include <logbuff.h>
@@ -142,7 +142,7 @@ void logbuff_reset (void)
int drv_logbuff_init (void) { - device_t logdev; + console_device_t logdev; int rc;
/* Device initialization */ @@ -154,7 +154,7 @@ int drv_logbuff_init (void) logdev.putc = logbuff_putc; /* 'putc' function */ logdev.puts = logbuff_puts; /* 'puts' function */
- rc = device_register (&logdev); + rc = console_register (&logdev);
return (rc == 0) ? 1 : rc; } diff --git a/common/cmd_terminal.c b/common/cmd_terminal.c index fd3dd48..4586d6d 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 <console.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; + console_device_t *dev = NULL;
if (argc < 1) return -1;
/* Scan for selected output/input device */ - dev = device_get_by_name(argv[1]); + dev = console_get_by_name(argv[1]); if (!dev) return -1;
diff --git a/common/console.c b/common/console.c index 2add047..ff06a76 100644 --- a/common/console.c +++ b/common/console.c @@ -48,7 +48,7 @@ extern int overwrite_console(void);
#endif /* CONFIG_SYS_CONSOLE_IS_IN_ENV */
-static int console_setfile(int file, device_t * dev) +static int console_setfile(int file, console_device_t * dev) { int error = 0;
@@ -96,8 +96,8 @@ static int console_setfile(int file, device_t * dev) #if defined(CONFIG_CONSOLE_MUX) /** Console I/O multiplexing *******************************************/
-static device_t *tstcdev; -device_t **console_devices[MAX_FILES]; +static console_device_t *tstcdev; +console_device_t **console_devices[MAX_FILES]; int cd_count[MAX_FILES];
/* @@ -119,7 +119,7 @@ static int console_getc(int file) static int console_tstc(int file) { int i, ret; - device_t *dev; + console_device_t *dev;
disable_ctrlc(1); for (i = 0; i < cd_count[file]; i++) { @@ -141,7 +141,7 @@ static int console_tstc(int file) static void console_putc(int file, const char c) { int i; - device_t *dev; + console_device_t *dev;
for (i = 0; i < cd_count[file]; i++) { dev = console_devices[file][i]; @@ -153,7 +153,7 @@ static void console_putc(int file, const char c) static void console_puts(int file, const char *s) { int i; - device_t *dev; + console_device_t *dev;
for (i = 0; i < cd_count[file]; i++) { dev = console_devices[file][i]; @@ -167,7 +167,7 @@ static inline void console_printdevs(int file) iomux_printdevs(file); }
-static inline void console_doenv(int file, device_t *dev) +static inline void console_doenv(int file, console_device_t *dev) { iomux_doenv(file, dev->name); } @@ -197,7 +197,7 @@ static inline void console_printdevs(int file) printf("%s\n", stdio_devices[file]->name); }
-static inline void console_doenv(int file, device_t *dev) +static inline void console_doenv(int file, console_device_t *dev) { console_setfile(file, dev); } @@ -479,11 +479,11 @@ inline void dbg(const char *fmt, ...)
/** U-Boot INIT FUNCTIONS *************************************************/
-device_t *search_device(int flags, char *name) +console_device_t *search_device(int flags, char *name) { - device_t *dev; + console_device_t *dev;
- dev = device_get_by_name(name); + dev = console_get_by_name(name);
if (dev && (dev->flags & flags)) return dev; @@ -494,7 +494,7 @@ device_t *search_device(int flags, char *name) int console_assign(int file, char *devname) { int flag; - device_t *dev; + console_device_t *dev;
/* Check for valid file */ switch (file) { @@ -537,7 +537,7 @@ int console_init_f(void) int console_init_r(void) { char *stdinname, *stdoutname, *stderrname; - device_t *inputdev = NULL, *outputdev = NULL, *errdev = NULL; + console_device_t *inputdev = NULL, *outputdev = NULL, *errdev = NULL; #ifdef CONFIG_SYS_CONSOLE_ENV_OVERWRITE int i; #endif /* CONFIG_SYS_CONSOLE_ENV_OVERWRITE */ @@ -645,11 +645,11 @@ done: /* Called after the relocation - use desired console functions */ int console_init_r(void) { - device_t *inputdev = NULL, *outputdev = NULL; + console_device_t *inputdev = NULL, *outputdev = NULL; int i; - struct list_head *list = device_get_list(); + struct list_head *list = console_get_list(); struct list_head *pos; - device_t *dev; + console_device_t *dev;
#ifdef CONFIG_SPLASH_SCREEN /* diff --git a/common/devices.c b/common/devices.c index ba53c9b..dd57b31 100644 --- a/common/devices.c +++ b/common/devices.c @@ -25,7 +25,7 @@ #include <common.h> #include <stdarg.h> #include <malloc.h> -#include <devices.h> +#include <console.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 console_device_t devs; +console_device_t *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 @@ int nulldev_input(void)
static void drv_system_init (void) { - device_t dev; + console_device_t dev;
memset (&dev, 0, sizeof (dev));
@@ -88,7 +88,7 @@ static void drv_system_init (void) dev.tstc = serial_tstc; #endif
- device_register (&dev); + console_register (&dev);
#ifdef CONFIG_SYS_DEVICE_NULLDEV memset (&dev, 0, sizeof (dev)); @@ -100,7 +100,7 @@ static void drv_system_init (void) dev.getc = nulldev_input; dev.tstc = nulldev_input;
- device_register (&dev); + console_register (&dev); #endif }
@@ -108,15 +108,15 @@ static void drv_system_init (void) * DEVICES ************************************************************************** */ -struct list_head* device_get_list(void) +struct list_head* console_get_list(void) { return &(devs.list); }
-device_t* device_get_by_name(char* name) +device_t* console_get_by_name(char* name) { struct list_head *pos; - device_t *dev; + console_device_t *dev;
if(!name) return NULL; @@ -130,9 +130,9 @@ device_t* device_get_by_name(char* name) return NULL; }
-device_t* device_clone(device_t *dev) +device_t* console_clone(console_device_t *dev) { - device_t *_dev; + console_device_t *_dev;
if(!dev) return NULL; @@ -148,11 +148,11 @@ device_t* device_clone(device_t *dev) return _dev; }
-int device_register (device_t * dev) +int console_register (console_device_t * dev) { - device_t *_dev; + console_device_t *_dev;
- _dev = device_clone(dev); + _dev = console_clone(dev); if(!_dev) return -1; list_add_tail(&(_dev->list), &(devs.list)); @@ -162,15 +162,15 @@ int device_register (device_t * dev) /* 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_CONSOLE_DEREGISTER +int console_deregister(char *devname) { int l; struct list_head *pos; - device_t *dev; + console_device_t *dev; char temp_names[3][8];
- dev = device_get_by_name(devname); + dev = console_get_by_name(devname);
if(!dev) /* device not found */ return -1; @@ -197,9 +197,9 @@ int device_deregister(char *devname) } return 0; } -#endif /* CONFIG_SYS_DEVICE_DEREGISTER */ +#endif /* CONFIG_SYS_CONSOLE_DEREGISTER */
-int devices_init (void) +int consoles_init (void) { #ifndef CONFIG_ARM /* already relocated for current ARM implementation */ ulong relocation_offset = gd->reloc_off; @@ -235,7 +235,7 @@ int devices_init (void) #endif drv_system_init (); #ifdef CONFIG_SERIAL_MULTI - serial_devices_init (); + serial_consoles_init (); #endif #ifdef CONFIG_USB_TTY drv_usbtty_init (); diff --git a/common/iomux.c b/common/iomux.c index bdcc853..18e7d8d 100644 --- a/common/iomux.c +++ b/common/iomux.c @@ -29,7 +29,7 @@ void iomux_printdevs(const int console) { int i; - device_t *dev; + console_device_t *dev;
for (i = 0; i < cd_count[console]; i++) { dev = console_devices[console][i]; @@ -43,8 +43,8 @@ int iomux_doenv(const int console, const char *arg) { char *console_args, *temp, **start; int i, j, k, io_flag, cs_idx, repeat; - device_t *dev; - device_t **cons_set; + console_device_t *dev; + console_device_t **cons_set;
console_args = strdup(arg); if (console_args == NULL) @@ -85,7 +85,7 @@ int iomux_doenv(const int console, const char *arg) *temp = '\0'; start[i] = temp + 1; } - cons_set = (device_t **)calloc(i, sizeof(device_t *)); + cons_set = (console_device_t **)calloc(i, sizeof(console_device_t *)); if (cons_set == NULL) { free(start); free(console_args); @@ -158,14 +158,14 @@ int iomux_doenv(const int console, const char *arg) } else { /* Works even if console_devices[console] is NULL. */ console_devices[console] = - (device_t **)realloc(console_devices[console], - cs_idx * sizeof(device_t *)); + (console_device_t **)realloc(console_devices[console], + cs_idx * sizeof(console_device_t *)); if (console_devices[console] == NULL) { free(cons_set); return 1; } memcpy(console_devices[console], cons_set, cs_idx * - sizeof(device_t *)); + sizeof(console_device_t *));
cd_count[console] = cs_idx; } diff --git a/common/lcd.c b/common/lcd.c index 4155170..04b870e 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 <console.h> #if defined(CONFIG_POST) #include <post.h> #endif @@ -355,7 +355,7 @@ static void test_pattern (void)
int drv_lcd_init (void) { - device_t lcddev; + console_device_t lcddev; int rc;
lcd_base = (void *)(gd->fb_base); @@ -373,7 +373,7 @@ int drv_lcd_init (void) lcddev.putc = lcd_putc; /* 'putc' function */ lcddev.puts = lcd_puts; /* 'puts' function */
- rc = device_register (&lcddev); + rc = console_register (&lcddev);
return (rc == 0) ? 1 : rc; } diff --git a/common/serial.c b/common/serial.c index 09385d0..7bf797c 100644 --- a/common/serial.c +++ b/common/serial.c @@ -23,7 +23,7 @@
#include <common.h> #include <serial.h> -#include <devices.h> +#include <console.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -139,9 +139,9 @@ void serial_initialize (void) serial_assign (default_serial_console ()->name); }
-void serial_devices_init (void) +void serial_consoles_init (void) { - device_t dev; + console_device_t dev; struct serial_device *s = serial_devices;
while (s) { @@ -156,7 +156,7 @@ void serial_devices_init (void) dev.getc = s->getc; dev.tstc = s->tstc;
- device_register (&dev); + console_register (&dev);
s = s->next; } diff --git a/common/usb_kbd.c b/common/usb_kbd.c index e0d006c..c52192b 100644 --- a/common/usb_kbd.c +++ b/common/usb_kbd.c @@ -25,7 +25,7 @@ * */ #include <common.h> -#include <devices.h> +#include <console.h> #include <asm/byteorder.h>
#include <usb.h> @@ -153,7 +153,7 @@ static int usb_kbd_probe(struct usb_device *dev, unsigned int ifnum); int drv_usb_kbd_init(void) { int error,i; - device_t usb_kbd_dev,*old_dev; + console_device_t usb_kbd_dev,*old_dev; struct usb_device *dev; char *stdinname = getenv ("stdin");
@@ -168,7 +168,7 @@ int drv_usb_kbd_init(void) 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 = console_get_by_name(DEVNAME); if(old_dev) { /* ok, already registered, just return ok */ USB_KBD_PRINTF("USB KBD is already registered.\n"); @@ -184,7 +184,7 @@ int drv_usb_kbd_init(void) 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 = console_register (&usb_kbd_dev); if(error==0) { /* check if this is the standard input device */ if(strcmp(stdinname,DEVNAME)==0) { @@ -212,8 +212,8 @@ int drv_usb_kbd_init(void) /* deregistering the keyboard */ int usb_kbd_deregister(void) { -#ifdef CONFIG_SYS_DEVICE_DEREGISTER - return device_deregister(DEVNAME); +#ifdef CONFIG_SYS_CONSOLE_DEREGISTER + return console_deregister(DEVNAME); #else return 1; #endif diff --git a/cpu/blackfin/jtag-console.c b/cpu/blackfin/jtag-console.c index d58582f..a12a643 100644 --- a/cpu/blackfin/jtag-console.c +++ b/cpu/blackfin/jtag-console.c @@ -7,7 +7,7 @@ */
#include <common.h> -#include <devices.h> +#include <console.h> #include <asm/blackfin.h>
#ifndef CONFIG_JTAG_CONSOLE_TIMEOUT @@ -105,7 +105,7 @@ static int jtag_getc(void)
int drv_jtag_console_init(void) { - device_t dev; + console_device_t dev; int ret;
memset(&dev, 0x00, sizeof(dev)); @@ -116,7 +116,7 @@ int drv_jtag_console_init(void) dev.tstc = jtag_tstc; dev.getc = jtag_getc;
- ret = device_register(&dev); + ret = console_register(&dev); return (ret == 0 ? 1 : ret); }
diff --git a/cpu/mpc8xx/lcd.c b/cpu/mpc8xx/lcd.c index 4474e24..2c0e555 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 <console.h> #if defined(CONFIG_POST) #include <post.h> #endif diff --git a/cpu/mpc8xx/video.c b/cpu/mpc8xx/video.c index 4a59927..9f91e82 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 <console.h>
#ifdef CONFIG_VIDEO
@@ -1287,7 +1287,7 @@ int drv_video_init (void) { int error, devices = 1;
- device_t videodev; + console_device_t videodev;
video_init ((void *)(gd->fb_base)); /* Video initialization */
@@ -1301,7 +1301,7 @@ int drv_video_init (void) videodev.putc = video_putc; /* 'putc' function */ videodev.puts = video_puts; /* 'puts' function */
- error = device_register (&videodev); + error = console_register (&videodev);
return (error == 0) ? devices : error; } diff --git a/cpu/pxa/pxafb.c b/cpu/pxa/pxafb.c index 97efcb6..9f913e9 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 <console.h> #include <lcd.h> #include <asm/arch/pxa-regs.h>
diff --git a/drivers/input/keyboard.c b/drivers/input/keyboard.c index 512b9f2..41dca98 100644 --- a/drivers/input/keyboard.c +++ b/drivers/input/keyboard.c @@ -11,7 +11,7 @@
#include <common.h>
-#include <devices.h> +#include <console.h> #include <keyboard.h>
#undef KBG_DEBUG @@ -268,7 +268,7 @@ extern int overwrite_console (void); int kbd_init (void) { int error; - device_t kbddev ; + console_device_t kbddev ; char *stdinname = getenv ("stdin");
if(kbd_init_hw()==-1) @@ -281,7 +281,7 @@ int kbd_init (void) kbddev.getc = kbd_getc ; kbddev.tstc = kbd_testc ;
- error = device_register (&kbddev); + error = console_register (&kbddev); if(error==0) { /* check if this is the standard input device */ if(strcmp(stdinname,DEVNAME)==0) { diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c index f4b01a9..9b94ddc 100644 --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c @@ -291,7 +291,7 @@ static int ubi_sysfs_init(struct ubi_device *ubi) ubi->dev.devt = ubi->cdev.dev; ubi->dev.class = ubi_class; sprintf(&ubi->dev.bus_id[0], UBI_NAME_STR"%d", ubi->ubi_num); - err = device_register(&ubi->dev); + err = console_register(&ubi->dev); if (err) return err;
diff --git a/drivers/mtd/ubi/vmt.c b/drivers/mtd/ubi/vmt.c index 061da64..2b6b137 100644 --- a/drivers/mtd/ubi/vmt.c +++ b/drivers/mtd/ubi/vmt.c @@ -337,7 +337,7 @@ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req) vol->dev.class = ubi_class;
sprintf(&vol->dev.bus_id[0], "%s_%d", ubi->ubi_name, vol->vol_id); - err = device_register(&vol->dev); + err = console_register(&vol->dev); if (err) { ubi_err("cannot register device"); goto out_gluebi; @@ -646,7 +646,7 @@ int ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol) vol->dev.devt = dev; vol->dev.class = ubi_class; sprintf(&vol->dev.bus_id[0], "%s_%d", ubi->ubi_name, vol->vol_id); - err = device_register(&vol->dev); + err = console_register(&vol->dev); if (err) goto out_gluebi;
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index b2ee5ea..f1644ce 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 <console.h> #include <net.h>
DECLARE_GLOBAL_DATA_PTR; @@ -243,7 +243,7 @@ int nc_tstc (void)
int drv_nc_init (void) { - device_t dev; + console_device_t dev; int rc;
memset (&dev, 0, sizeof (dev)); @@ -256,7 +256,7 @@ int drv_nc_init (void) dev.getc = nc_getc; dev.tstc = nc_tstc;
- rc = device_register (&dev); + rc = console_register (&dev);
return (rc == 0) ? 1 : rc; } diff --git a/drivers/serial/arm_dcc.c b/drivers/serial/arm_dcc.c index dca73b9..8439037 100644 --- a/drivers/serial/arm_dcc.c +++ b/drivers/serial/arm_dcc.c @@ -27,7 +27,7 @@ */
#include <common.h> -#include <devices.h> +#include <console.h>
#if defined(CONFIG_CPU_V6) /* @@ -148,7 +148,7 @@ int arm_dcc_tstc(void) }
#ifdef CONFIG_ARM_DCC_MULTI -static device_t arm_dcc_dev; +static console_device_t arm_dcc_dev;
int drv_arm_dcc_init(void) { @@ -165,6 +165,6 @@ int drv_arm_dcc_init(void) 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 console_register(&arm_dcc_dev); } #endif diff --git a/drivers/serial/usbtty.c b/drivers/serial/usbtty.c index f711d0b..88a5651 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 <console.h> #include "usbtty.h" #include "usb_cdc_acm.h" #include "usbdescriptors.h" @@ -70,7 +70,7 @@ static circbuf_t usbtty_output; /* * Instance variables */ -static device_t usbttydev; +static console_device_t 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 @@ int drv_usbtty_init (void) usbttydev.putc = usbtty_putc; /* 'putc' function */ usbttydev.puts = usbtty_puts; /* 'puts' function */
- rc = device_register (&usbttydev); + rc = console_register (&usbttydev);
return (rc == 0) ? 1 : rc; } diff --git a/drivers/usb/musb/musb_hcd.c b/drivers/usb/musb/musb_hcd.c index 352a0d4..273ff0a 100644 --- a/drivers/usb/musb/musb_hcd.c +++ b/drivers/usb/musb/musb_hcd.c @@ -770,7 +770,7 @@ int submit_int_msg(struct usb_device *dev, unsigned long pipe, */ void usb_event_poll() { - device_t *dev; + console_device_t *dev; struct usb_device *usb_kbd_dev; struct usb_interface_descriptor *iface; struct usb_endpoint_descriptor *ep; @@ -778,7 +778,7 @@ void usb_event_poll() int maxp;
/* Get the pointer to USB Keyboard device pointer */ - dev = device_get_by_name("usbkbd"); + dev = console_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 bb83311..dadf284 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 <console.h> extern unsigned char new[]; #endif
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c index 5ee2314..13ebb4e 100644 --- a/drivers/video/cfb_console.c +++ b/drivers/video/cfb_console.c @@ -183,7 +183,7 @@ CONFIG_VIDEO_HW_CURSOR: - Uses the hardware cursor capability of the
#include <version.h> #include <linux/types.h> -#include <devices.h> +#include <console.h> #include <video_font.h>
#if defined(CONFIG_CMD_DATE) @@ -1333,7 +1333,7 @@ static int video_init (void) int drv_video_init (void) { int skip_dev_init; - device_t console_dev; + console_device_t console_dev;
skip_dev_init = 0;
@@ -1354,7 +1354,7 @@ int drv_video_init (void) console_dev.tstc = NULL; /* 'tstc' function */ console_dev.getc = NULL; /* 'getc' function */
- if (device_register (&console_dev) == 0) + if (console_register (&console_dev) == 0) return 1; } #else @@ -1373,7 +1373,7 @@ int drv_video_init (void) console_dev.tstc = VIDEO_TSTC_FCT; /* 'tstc' function */ console_dev.getc = VIDEO_GETC_FCT; /* 'getc' function */
- if (device_register (&console_dev) == 0) + if (console_register (&console_dev) == 0) return 1; } #endif /* CONFIG_VGA_AS_SINGLE_DEVICE */ diff --git a/include/configs/AmigaOneG3SE.h b/include/configs/AmigaOneG3SE.h index fe04f27..bfd8257 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_CONSOLE_DEREGISTER 1 /* needed by CONFIG_USB_KEYBOARD */
/* * Autoboot stuff diff --git a/include/configs/MIP405.h b/include/configs/MIP405.h index a3869c8..79cc774 100644 --- a/include/configs/MIP405.h +++ b/include/configs/MIP405.h @@ -414,7 +414,7 @@ #define CONFIG_USB_STORAGE
/* Enable needed helper functions */ -#define CONFIG_SYS_DEVICE_DEREGISTER /* needs device_deregister */ +#define CONFIG_SYS_CONSOLE_DEREGISTER /* needs console_deregister */ #endif /************************************************************ * Debug support diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h index 1091043..84d1b66 100644 --- a/include/configs/MPC8610HPCD.h +++ b/include/configs/MPC8610HPCD.h @@ -321,7 +321,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_CONSOLE_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 d8042fb..ecaf558 100644 --- a/include/configs/MPC8641HPCN.h +++ b/include/configs/MPC8641HPCN.h @@ -395,7 +395,7 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_PCI_OHCI 1 #define CONFIG_USB_OHCI_NEW 1 #define CONFIG_USB_KEYBOARD 1 -#define CONFIG_SYS_DEVICE_DEREGISTER +#define CONFIG_SYS_CONSOLE_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 5c4d69b..2db18d3 100644 --- a/include/configs/PIP405.h +++ b/include/configs/PIP405.h @@ -360,7 +360,7 @@ #define CONFIG_USB_STORAGE
/* Enable needed helper functions */ -#define CONFIG_SYS_DEVICE_DEREGISTER /* needs device_deregister */ +#define CONFIG_SYS_CONSOLE_DEREGISTER /* needs console_deregister */
/************************************************************ * Debug support diff --git a/include/configs/VCMA9.h b/include/configs/VCMA9.h index 547167f..db68b98 100644 --- a/include/configs/VCMA9.h +++ b/include/configs/VCMA9.h @@ -130,7 +130,7 @@ #define CONFIG_DOS_PARTITION 1
/* Enable needed helper functions */ -#define CONFIG_SYS_DEVICE_DEREGISTER /* needs device_deregister */ +#define CONFIG_SYS_CONSOLE_DEREGISTER /* needs console_deregister */
/************************************************************ * RTC diff --git a/include/configs/gr_ep2s60.h b/include/configs/gr_ep2s60.h index 6f58bac..68c96c6 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_CONSOLE_DEREGISTER /* needs console_deregister */ #endif
/* diff --git a/include/configs/mp2usb.h b/include/configs/mp2usb.h index 3225ce7..60ee0ef 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_CONSOLE_DEREGISTER /* needs console_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 index 06ec32a..428102a 100644 --- a/include/console.h +++ b/include/console.h @@ -24,15 +24,104 @@ #ifndef _CONSOLE_H_ #define _CONSOLE_H_
-#include <devices.h> +#include <linux/list.h>
/* -** VARIABLES -*/ + * CONSOLE DEVICES + */ + +#define DEV_FLAGS_INPUT 0x00000001 /* Device can be used as input console */ +#define DEV_FLAGS_OUTPUT 0x00000002 /* Device can be used as output console */ +#define DEV_FLAGS_SYSTEM 0x80000000 /* Device is a system device */ +#define DEV_EXT_VIDEO 0x00000001 /* Video extensions supported */ + +/* Device information */ +typedef struct console_device { + int flags; /* Device flags: input/output/system */ + int ext; /* Supported extensions */ + char name[16]; /* Device name */ + +/* GENERAL functions */ + + int (*start) (void); /* To start the device */ + int (*stop) (void); /* To stop the device */ + +/* OUTPUT functions */ + + void (*putc) (const char c); /* To put a char */ + void (*puts) (const char *s); /* To put a string (accelerator) */ + +/* INPUT functions */
-extern device_t *stdio_devices[] ; -extern char *stdio_names[MAX_FILES] ; + int (*tstc) (void); /* To test if a char is ready... */ + int (*getc) (void); /* To get that char */
-int console_realloc(int top); +/* Other functions */ + + void *priv; /* Private extensions */ + struct list_head list; +} console_device_t; + +/* + * VIDEO EXTENSIONS + */ +#define VIDEO_FORMAT_RGB_INDEXED 0x0000 +#define VIDEO_FORMAT_RGB_DIRECTCOLOR 0x0001 +#define VIDEO_FORMAT_YUYV_4_4_4 0x0010 +#define VIDEO_FORMAT_YUYV_4_2_2 0x0011 + +typedef struct { + void *address; /* Address of framebuffer */ + ushort width; /* Horizontal resolution */ + ushort height; /* Vertical resolution */ + uchar format; /* Format */ + uchar colors; /* Colors number or color depth */ + void (*setcolreg) (int, int, int, int); + void (*getcolreg) (int, void *); +} video_ext_t; + +/* + * VARIABLES + */ +extern console_console_device_t *stdio_devices[]; +extern char *stdio_names[MAX_FILES]; + +/* + * PROTOTYPES + */ +int console_register (console_console_device_t * dev); +int console_init (void); +int console_realloc(int top); +#ifdef CONFIG_SYS_CONSOLE_DEREGISTER +int console_deregister(char *devname); +#endif +struct list_head* console_get_list(void); +console_device_t* console_get_by_name(char* name); +console_device_t* console_clone(console_console_device_t *dev); + +#ifdef CONFIG_ARM_DCC_MULTI +int drv_arm_dcc_init(void); +#endif +#ifdef CONFIG_LCD +int drv_lcd_init (void); +#endif +#ifdef CONFIG_VFD +int drv_vfd_init (void); +#endif +#if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE) +int drv_video_init (void); +#endif +#ifdef CONFIG_KEYBOARD +int drv_keyboard_init (void); +#endif +#ifdef CONFIG_USB_TTY +int drv_usbtty_init (void); +#endif +#ifdef CONFIG_NETCONSOLE +int drv_nc_init (void); +#endif +#ifdef CONFIG_JTAG_CONSOLE +int drv_jtag_console_init (void); +#endif
#endif diff --git a/include/devices.h b/include/devices.h deleted file mode 100644 index 3a9881b..0000000 --- a/include/devices.h +++ /dev/null @@ -1,126 +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 - */ - -#include <linux/list.h> - -#ifndef _DEVICES_H_ -#define _DEVICES_H_ - -/* - * CONSOLE DEVICES - */ - -#define DEV_FLAGS_INPUT 0x00000001 /* Device can be used as input console */ -#define DEV_FLAGS_OUTPUT 0x00000002 /* Device can be used as output console */ -#define DEV_FLAGS_SYSTEM 0x80000000 /* Device is a system device */ -#define DEV_EXT_VIDEO 0x00000001 /* Video extensions supported */ - -/* Device information */ -typedef struct { - int flags; /* Device flags: input/output/system */ - int ext; /* Supported extensions */ - char name[16]; /* Device name */ - -/* GENERAL functions */ - - int (*start) (void); /* To start the device */ - int (*stop) (void); /* To stop the device */ - -/* OUTPUT functions */ - - void (*putc) (const char c); /* To put a char */ - void (*puts) (const char *s); /* To put a string (accelerator) */ - -/* INPUT functions */ - - int (*tstc) (void); /* To test if a char is ready... */ - int (*getc) (void); /* To get that char */ - -/* Other functions */ - - void *priv; /* Private extensions */ - struct list_head list; -} device_t; - -/* - * VIDEO EXTENSIONS - */ -#define VIDEO_FORMAT_RGB_INDEXED 0x0000 -#define VIDEO_FORMAT_RGB_DIRECTCOLOR 0x0001 -#define VIDEO_FORMAT_YUYV_4_4_4 0x0010 -#define VIDEO_FORMAT_YUYV_4_2_2 0x0011 - -typedef struct { - void *address; /* Address of framebuffer */ - ushort width; /* Horizontal resolution */ - ushort height; /* Vertical resolution */ - uchar format; /* Format */ - uchar colors; /* Colors number or color depth */ - void (*setcolreg) (int, int, int, int); - void (*getcolreg) (int, void *); -} video_ext_t; - -/* - * VARIABLES - */ -extern device_t *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); -#endif -struct list_head* device_get_list(void); -device_t* device_get_by_name(char* name); -device_t* device_clone(device_t *dev); - -#ifdef CONFIG_ARM_DCC_MULTI -int drv_arm_dcc_init(void); -#endif -#ifdef CONFIG_LCD -int drv_lcd_init (void); -#endif -#ifdef CONFIG_VFD -int drv_vfd_init (void); -#endif -#if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE) -int drv_video_init (void); -#endif -#ifdef CONFIG_KEYBOARD -int drv_keyboard_init (void); -#endif -#ifdef CONFIG_USB_TTY -int drv_usbtty_init (void); -#endif -#ifdef CONFIG_NETCONSOLE -int drv_nc_init (void); -#endif -#ifdef CONFIG_JTAG_CONSOLE -int drv_jtag_console_init (void); -#endif - -#endif /* _DEVICES_H_ */ diff --git a/include/iomux.h b/include/iomux.h index 257c1f7..2eb566c 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 <console.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 console_device_t **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 @@ extern int cd_count[MAX_FILES];
int iomux_doenv(const int, const char *); void iomux_printdevs(const int); -device_t *search_device(int, char *); +console_device_t *search_device(int, char *);
#endif /* _IO_MUX_H */ diff --git a/include/serial.h b/include/serial.h index e3d8b36..b756e61 100644 --- a/include/serial.h +++ b/include/serial.h @@ -47,7 +47,7 @@ extern struct serial_device serial_btuart_device; extern struct serial_device serial_stuart_device;
extern void serial_initialize(void); -extern void serial_devices_init(void); +extern void serial_consoles_init(void); extern int serial_assign(char * name); extern void serial_reinit_all(void);
diff --git a/lib_arm/board.c b/lib_arm/board.c index 9fbb4bf..8d17e96 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 <console.h> #include <timestamp.h> #include <version.h> #include <net.h> @@ -388,7 +388,7 @@ void start_armboot (void) /* IP Address */ gd->bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
- devices_init (); /* get the devices list going. */ + consoles_init (); /* get the devices list going. */
jumptable_init ();
diff --git a/lib_avr32/board.c b/lib_avr32/board.c index 57115df..bef5de4 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 <console.h> #include <timestamp.h> #include <version.h> #include <net.h> @@ -350,7 +350,7 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
- devices_init(); + consoles_init(); jumptable_init(); console_init_r();
diff --git a/lib_blackfin/board.c b/lib_blackfin/board.c index 49465d2..27c06e3 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 <console.h> #include <environment.h> #include <malloc.h> #include <net.h> @@ -354,7 +354,7 @@ void board_init_r(gd_t * id, ulong dest_addr) env_relocate();
/* Initialize devices */ - devices_init(); + consoles_init(); jumptable_init();
/* Initialize the console (after the relocation and devices init) */ diff --git a/lib_i386/board.c b/lib_i386/board.c index e18dfa5..50d490f 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 <console.h> #include <timestamp.h> #include <version.h> #include <malloc.h> @@ -299,7 +299,7 @@ void start_i386boot (void) show_boot_progress(0x27);
- devices_init (); + consoles_init ();
jumptable_init ();
diff --git a/lib_i386/video.c b/lib_i386/video.c index cd89457..f6145d3 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 <console.h> #include <i8042.h> #include <asm/ptrace.h> #include <asm/realmode.h> @@ -168,8 +168,8 @@ int video_init(void) { u16 pos;
- static device_t vga_dev; - static device_t kbd_dev; + static console_device_t vga_dev; + static console_device_t kbd_dev;
vidmem = (char *) 0xb8000; vidport = 0x3d4; @@ -203,7 +203,7 @@ int video_init(void) vga_dev.tstc = NULL; /* 'tstc' function */ vga_dev.getc = NULL; /* 'getc' function */
- if (device_register(&vga_dev) == 0) { + if (console_register(&vga_dev) == 0) { return 1; }
@@ -220,7 +220,7 @@ int video_init(void) kbd_dev.tstc = i8042_tstc; /* 'tstc' function */ kbd_dev.getc = i8042_getc; /* 'getc' function */
- if (device_register(&kbd_dev) == 0) { + if (console_register(&kbd_dev) == 0) { return 1; } return 0; diff --git a/lib_m68k/board.c b/lib_m68k/board.c index db45b00..2f41833 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 <console.h>
#include <asm/immap.h>
@@ -597,7 +597,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
/** leave this here (after malloc(), environment and PCI are working) **/ /* Initialize devices */ - devices_init (); + consoles_init ();
/* Initialize the jump table for applications */ jumptable_init (); diff --git a/lib_mips/board.c b/lib_mips/board.c index 6fc4845..f2eafd3 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 <console.h> #include <timestamp.h> #include <version.h> #include <net.h> @@ -413,7 +413,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
/** leave this here (after malloc(), environment and PCI are working) **/ /* Initialize devices */ - devices_init (); + consoles_init ();
jumptable_init ();
diff --git a/lib_nios/board.c b/lib_nios/board.c index 63e79ae..a032624 100644 --- a/lib_nios/board.c +++ b/lib_nios/board.c @@ -25,7 +25,7 @@ */
#include <common.h> -#include <devices.h> +#include <console.h> #include <watchdog.h> #include <net.h> #ifdef CONFIG_STATUS_LED @@ -153,7 +153,7 @@ void board_init (void) bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
WATCHDOG_RESET (); - devices_init(); + consoles_init(); jumptable_init(); console_init_r(); /* diff --git a/lib_nios2/board.c b/lib_nios2/board.c index 70fad1b..f21c075 100644 --- a/lib_nios2/board.c +++ b/lib_nios2/board.c @@ -25,7 +25,7 @@ */
#include <common.h> -#include <devices.h> +#include <console.h> #include <watchdog.h> #include <net.h> #ifdef CONFIG_STATUS_LED @@ -159,7 +159,7 @@ void board_init (void) bd->bi_ip_addr = getenv_IPaddr ("ipaddr");
WATCHDOG_RESET (); - devices_init(); + consoles_init(); jumptable_init(); console_init_r();
diff --git a/lib_ppc/board.c b/lib_ppc/board.c index 9e944fa..46eabde 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 <console.h> #ifdef CONFIG_8xx #include <mpc8xx.h> #endif @@ -933,7 +933,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
/** leave this here (after malloc(), environment and PCI are working) **/ /* Initialize devices */ - devices_init (); + consoles_init ();
/* Initialize the jump table for applications */ jumptable_init (); diff --git a/lib_sh/board.c b/lib_sh/board.c index 2fd213b..4c059be 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 <console.h> #include <timestamp.h> #include <version.h> #include <watchdog.h> @@ -150,7 +150,7 @@ init_fnc_t *init_sequence[] = sh_mem_env_init, INIT_FUNC_NAND_INIT/* Flash memory (NAND) init */ INIT_FUNC_PCI_INIT /* PCI init */ - devices_init, + consoles_init, console_init_r, interrupt_init, #ifdef BOARD_LATE_INIT diff --git a/lib_sparc/board.c b/lib_sparc/board.c index 2f3e673..c2fc8e6 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 <console.h> #include <config.h> #if defined(CONFIG_CMD_IDE) #include <ide.h> @@ -404,7 +404,7 @@ void board_init_f(ulong bootflag) #endif
/* Initialize devices */ - devices_init(); + consoles_init();
/* Initialize the jump table for applications */ jumptable_init();