aboutsummaryrefslogtreecommitdiff
path: root/src/mm-base-modem.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2017-03-03 23:28:46 +0100
committerAleksander Morgado <aleksander@aleksander.es>2017-03-22 09:40:14 +0100
commit11a26f10668659fb0c043ec9bc88debacce8cab1 (patch)
tree53351ee81ae8e19537583559659f963c58bd7d20 /src/mm-base-modem.c
parent00fb9e98f6003f6b167f7d12a895ec3d1402b027 (diff)
serial: allow specifying baudrate to use via udev tags
A new 'ID_MM_TTY_BAUDRATE' per-port udev tag is introduced, which allows specifying the baudrate that will be used when opening a specific serial port. E.g.: ACTION!="add|change|move", GOTO="mm_my_modem_end" DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3/*", ENV{ID_MM_TTY_BAUDRATE}="115200" LABEL="mm_my_modem_end" https://bugs.freedesktop.org/show_bug.cgi?id=100158
Diffstat (limited to 'src/mm-base-modem.c')
-rw-r--r--src/mm-base-modem.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c
index 50717471..430ce59d 100644
--- a/src/mm-base-modem.c
+++ b/src/mm-base-modem.c
@@ -219,6 +219,12 @@ mm_base_modem_grab_port (MMBaseModem *self,
"timed-out",
G_CALLBACK (serial_port_timed_out_cb),
self);
+
+ /* For serial ports, optionally use a specific baudrate */
+ if (mm_kernel_device_has_property (kernel_device, "ID_MM_TTY_BAUDRATE"))
+ g_object_set (port,
+ MM_PORT_SERIAL_BAUD, mm_kernel_device_get_property_as_int (kernel_device, "ID_MM_TTY_BAUDRATE"),
+ NULL);
}
/* Net ports... */
else if (g_str_equal (subsys, "net")) {