QAPI doesn't know the aliases 'tty' and 'parport' and there is no
reason to prefer them to the real names of the backends 'serial' and
'parallel'.
Signed-off-by: Kevin Wolf <kwolf(a)redhat.com>
---
docs/system/deprecated.rst | 6 ++++++
chardev/char.c | 11 ++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index bbaae0d97c..7e313eae4f 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -81,6 +81,12 @@ error in the future.
The ``-realtime mlock=on|off`` argument has been replaced by the
``-overcommit mem-lock=on|off`` argument.
+``-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/chardev/char.c b/chardev/char.c
index c406e61db6..f9e297185d 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" },
@@ -585,6 +586,9 @@ help_string_append(const char *name, bool is_cli_alias, void *opaque)
GString *str = opaque;
g_string_append_printf(str, "\n %s", name);
+ if (is_cli_alias) {
+ g_string_append(str, " (deprecated)");
+ }
}
static const char *chardev_alias_translate(const char *name)
@@ -592,6 +596,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;
}
}
--
2.28.0