X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fdevices.c;h=9cc963ac204efbd7c965937ef22fee5f402883ef;hb=ebb86c4ecd37a7701358284e497ca4c6483c7cc5;hp=2d0b04614f3bbfe6c398a2ef40035c9c14999c65;hpb=91d3256c6ef94531e731d5484b04a8a082cc5b98;p=u-boot diff --git a/common/devices.c b/common/devices.c index 2d0b04614f..9cc963ac20 100644 --- a/common/devices.c +++ b/common/devices.c @@ -26,12 +26,25 @@ #include #include #include +#include +#ifdef CONFIG_LOGBUFFER +#include +#endif +#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C) #include +#endif + +DECLARE_GLOBAL_DATA_PTR; list_t devlist = 0; device_t *stdio_devices[] = { NULL, NULL, NULL }; char *stdio_names[MAX_FILES] = { "stdin", "stdout", "stderr" }; +#if defined(CONFIG_SPLASH_SCREEN) && !defined(CFG_DEVICE_NULLDEV) +#define CFG_DEVICE_NULLDEV 1 +#endif + + #ifdef CFG_DEVICE_NULLDEV void nulldev_putc(const char c) { @@ -63,7 +76,7 @@ static void drv_system_init (void) strcpy (dev.name, "serial"); dev.flags = DEV_FLAGS_OUTPUT | DEV_FLAGS_INPUT | DEV_FLAGS_SYSTEM; -#if CONFIG_SERIAL_SOFTWARE_FIFO +#ifdef CONFIG_SERIAL_SOFTWARE_FIFO dev.putc = serial_buffered_putc; dev.puts = serial_buffered_puts; dev.getc = serial_buffered_getc; @@ -112,7 +125,7 @@ int device_deregister(char *devname) device_t *dev = NULL; char temp_names[3][8]; - dev_index=-1; + dev_index = -1; for (i=1; i<=ListNumItems(devlist); i++) { dev = ListGetPtrToItem (devlist, i); if(strcmp(dev->name,devname)==0) { @@ -148,16 +161,16 @@ int device_deregister(char *devname) int devices_init (void) { - DECLARE_GLOBAL_DATA_PTR; - - int i; +#ifndef CONFIG_ARM /* already relocated for current ARM implementation */ ulong relocation_offset = gd->reloc_off; + int i; /* relocate device name pointers */ for (i = 0; i < (sizeof (stdio_names) / sizeof (char *)); ++i) { stdio_names[i] = (char *) (((ulong) stdio_names[i]) + relocation_offset); } +#endif /* Initialize the list */ devlist = ListCreate (sizeof (device_t)); @@ -172,15 +185,25 @@ int devices_init (void) #ifdef CONFIG_LCD drv_lcd_init (); #endif -#ifdef CONFIG_VIDEO +#if defined(CONFIG_VIDEO) || defined(CONFIG_CFB_CONSOLE) drv_video_init (); #endif -#ifdef CONFIG_WL_4PPM_KEYBOARD - drv_wlkbd_init (); +#ifdef CONFIG_KEYBOARD + drv_keyboard_init (); +#endif +#ifdef CONFIG_LOGBUFFER + drv_logbuff_init (); #endif drv_system_init (); - - gd-> flags |= GD_FLG_DEVINIT; /* device initialization done */ +#ifdef CONFIG_SERIAL_MULTI + serial_devices_init (); +#endif +#ifdef CONFIG_USB_TTY + drv_usbtty_init (); +#endif +#ifdef CONFIG_NETCONSOLE + drv_nc_init (); +#endif return (0); }