[PATCH v1 03/11] stdio: Introduce a new helper stdio_file_to_flags()

Andy Shevchenko
2021-02-11T15:09:36Z

Let's deduplicate existing copies by splitting off to a new helper.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
common/stdio.c | 13 +++++++++++++
include/stdio_dev.h | 2 ++
2 files changed, 15 insertions(+)

diff --git a/common/stdio.c b/common/stdio.c
index 2935d0d9ba8a..aa003b308a21 100644
--- a/common/stdio.c
+++ b/common/stdio.c
@@ -28,6 +28,19 @@ static struct stdio_dev devs;
struct stdio_dev *stdio_devices[] = { NULL, NULL, NULL };
char *stdio_names[MAX_FILES] = { "stdin", "stdout", "stderr" };

+int stdio_file_to_flags(const int file)
+{
+ switch (file) {
+ case stdin:
+ return DEV_FLAGS_INPUT;
+ case stdout:
+ case stderr:
+ return DEV_FLAGS_OUTPUT;
+ default:
+ return -EINVAL;
+ }
+}
+
#if CONFIG_IS_ENABLED(SYS_DEVICE_NULLDEV)
static void nulldev_putc(struct stdio_dev *dev, const char c)
{
diff --git a/include/stdio_dev.h b/include/stdio_dev.h
index 109a68d06409..8fb9a12dd876 100644
--- a/include/stdio_dev.h
+++ b/include/stdio_dev.h
@@ -18,6 +18,8 @@
#define DEV_FLAGS_OUTPUT 0x00000002 /* Device can be used as output console */
#define DEV_FLAGS_DM 0x00000004 /* Device priv is a struct udevice * */

+int stdio_file_to_flags(const int file);
+
/* Device information */
struct stdio_dev {
int flags; /* Device flags: input/output/system */
--
2.30.0