diff options
author | Dan Williams <dan@ioncontrol.co> | 2024-09-12 12:28:10 -0500 |
---|---|---|
committer | Dan Williams <dan@ioncontrol.co> | 2024-09-17 12:20:46 -0500 |
commit | f19f20c00824a2436e7f6536f0ff278d4b83a4e4 (patch) | |
tree | f9be96e8884235dc155f9ba40d9837ebad1a156e /src/mm-port-probe.c | |
parent | 0b5f2adb4b078b305604b1f9b785289e279c5164 (diff) |
helpers: consolidate some uses of mm_kernel_device_get_subsystem()
Signed-off-by: Dan Williams <dan@ioncontrol.co>
Diffstat (limited to 'src/mm-port-probe.c')
-rw-r--r-- | src/mm-port-probe.c | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c index dcedc3a8..a5d2207d 100644 --- a/src/mm-port-probe.c +++ b/src/mm-port-probe.c @@ -112,6 +112,12 @@ struct _MMPortProbePrivate { GTask *task; }; +static const MMStringUintMap port_subsys_map[] = { + { "usbmisc", MM_PORT_SUBSYS_USBMISC }, + { "rpmsg", MM_PORT_SUBSYS_RPMSG }, + { "wwan", MM_PORT_SUBSYS_WWAN }, +}; + /*****************************************************************************/ static void @@ -542,11 +548,12 @@ wdm_probe_qmi (MMPortProbe *self) } else #endif /* WITH_QRTR */ { - MMPortSubsys subsys = MM_PORT_SUBSYS_USBMISC; - - if (g_str_equal (mm_kernel_device_get_subsystem (self->priv->port), "rpmsg")) - subsys = MM_PORT_SUBSYS_RPMSG; + MMPortSubsys subsys; + subsys = mm_string_uint_map_lookup (port_subsys_map, + G_N_ELEMENTS (port_subsys_map), + mm_kernel_device_get_subsystem (self->priv->port), + MM_PORT_SUBSYS_USBMISC); ctx->port_qmi = mm_port_qmi_new (mm_kernel_device_get_name (self->priv->port), subsys); } @@ -1215,15 +1222,13 @@ serial_open_at (MMPortProbe *self) /* Create AT serial port if not done before */ if (!ctx->serial) { - gpointer parser; - MMPortSubsys subsys = MM_PORT_SUBSYS_TTY; - - if (g_str_equal (mm_kernel_device_get_subsystem (self->priv->port), "usbmisc")) - subsys = MM_PORT_SUBSYS_USBMISC; - else if (g_str_equal (mm_kernel_device_get_subsystem (self->priv->port), "rpmsg")) - subsys = MM_PORT_SUBSYS_RPMSG; - else if (g_str_equal (mm_kernel_device_get_subsystem (self->priv->port), "wwan")) - subsys = MM_PORT_SUBSYS_WWAN; + gpointer parser; + MMPortSubsys subsys; + + subsys = mm_string_uint_map_lookup (port_subsys_map, + G_N_ELEMENTS (port_subsys_map), + mm_kernel_device_get_subsystem (self->priv->port), + MM_PORT_SUBSYS_TTY); ctx->serial = MM_PORT_SERIAL (mm_port_serial_at_new (mm_kernel_device_get_name (self->priv->port), subsys)); if (!ctx->serial) { |