1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * (C) Copyright 2008 4 * Gary Jennejohn, DENX Software Engineering GmbH, garyj@denx.de. 5 */ 6 7 #ifndef _IO_MUX_H 8 #define _IO_MUX_H 9 10 #include <stdio_dev.h> 11 12 /* 13 * Stuff required to support console multiplexing. 14 */ 15 16 /* 17 * Pointers to devices used for each file type. Defined in console.c 18 * but storage is allocated in iomux.c. 19 */ 20 extern struct stdio_dev **console_devices[MAX_FILES]; 21 /* 22 * The count of devices assigned to each FILE. Defined in console.c 23 * and populated in iomux.c. 24 */ 25 extern int cd_count[MAX_FILES]; 26 27 #define for_each_console_dev(i, file, dev) \ 28 for (i = 0, dev = console_devices[file][i]; \ 29 i < cd_count[file]; \ 30 i++, dev = console_devices[file][i]) 31 32 int iomux_match_device(struct stdio_dev **, const int, struct stdio_dev *); 33 int iomux_doenv(const int, const char *); 34 int iomux_replace_device(const int, const char *, const char *); 35 void iomux_printdevs(const int); 36 37 #endif /* _IO_MUX_H */ 38