summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--chardev/char.c12
-rw-r--r--docs/system/deprecated.rst6
-rw-r--r--tests/unit/test-char.c6
3 files changed, 17 insertions, 7 deletions
diff --git a/chardev/char.c b/chardev/char.c
index dd925cf9a4..7be9579dd8 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -534,9 +534,10 @@ static const ChardevClass *char_get_class(const char *driver, Error **errp)
     return cc;
 }
 
-static const struct ChardevAlias {
+static struct ChardevAlias {
     const char *typename;
     const char *alias;
+    bool deprecation_warning_printed;
 } chardev_alias_table[] = {
 #ifdef HAVE_CHARDEV_PARPORT
     { "parallel", "parport" },
@@ -584,6 +585,10 @@ help_string_append(const char *name, bool is_cli_alias, void *opaque)
 {
     GString *str = opaque;
 
+    if (is_cli_alias) {
+        return;
+    }
+
     g_string_append_printf(str, "\n  %s", name);
 }
 
@@ -592,6 +597,11 @@ static const char *chardev_alias_translate(const char *name)
     int i;
     for (i = 0; i < (int)ARRAY_SIZE(chardev_alias_table); i++) {
         if (g_strcmp0(chardev_alias_table[i].alias, name) == 0) {
+            if (!chardev_alias_table[i].deprecation_warning_printed) {
+                warn_report("The alias '%s' is deprecated, use '%s' instead",
+                            name, chardev_alias_table[i].typename);
+                chardev_alias_table[i].deprecation_warning_printed = true;
+            }
             return chardev_alias_table[i].typename;
         }
     }
diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index 15b9767ba5..dfc12eef51 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -46,6 +46,12 @@ needs two devices (``-device intel-hda -device hda-duplex``) and
 ``pcspk`` which can be activated using ``-machine
 pcspk-audiodev=<name>``.
 
+``-chardev`` backend aliases ``tty`` and ``parport`` (since 6.0)
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+``tty`` and ``parport`` are aliases that will be removed. Instead, the
+actual backend names ``serial`` and ``parallel`` should be used.
+
 RISC-V ``-bios`` (since 5.1)
 ''''''''''''''''''''''''''''
 
diff --git a/tests/unit/test-char.c b/tests/unit/test-char.c
index 755d54c15e..5b3b48ebac 100644
--- a/tests/unit/test-char.c
+++ b/tests/unit/test-char.c
@@ -1199,12 +1199,6 @@ static void char_serial_test(void)
     /* TODO: add more tests with a pty */
     object_unparent(OBJECT(chr));
 
-    /* test tty alias */
-    qemu_opt_set(opts, "backend", "tty", &error_abort);
-    chr = qemu_chr_new_from_opts(opts, NULL, &error_abort);
-    g_assert_nonnull(chr);
-    object_unparent(OBJECT(chr));
-
     qemu_opts_del(opts);
 }
 #endif