Lines Matching +full:gnss +full:- +full:receiver
1 // SPDX-License-Identifier: GPL-2.0
3 * Generic serial GNSS receiver driver
9 #include <linux/gnss.h>
25 struct serdev_device *serdev = gserial->serdev; in gnss_serial_open()
32 serdev_device_set_baudrate(serdev, gserial->speed); in gnss_serial_open()
35 ret = pm_runtime_get_sync(&serdev->dev); in gnss_serial_open()
37 pm_runtime_put_noidle(&serdev->dev); in gnss_serial_open()
52 struct serdev_device *serdev = gserial->serdev; in gnss_serial_close()
56 pm_runtime_put(&serdev->dev); in gnss_serial_close()
63 struct serdev_device *serdev = gserial->serdev; in gnss_serial_write_raw()
87 struct gnss_device *gdev = gserial->gdev; in gnss_serial_receive_buf()
100 if (!gserial->ops || !gserial->ops->set_power) in gnss_serial_set_power()
103 return gserial->ops->set_power(gserial, state); in gnss_serial_set_power()
113 struct device_node *node = serdev->dev.of_node; in gnss_serial_parse_dt()
116 of_property_read_u32(node, "current-speed", &speed); in gnss_serial_parse_dt()
118 gserial->speed = speed; in gnss_serial_parse_dt()
132 return ERR_PTR(-ENOMEM); in gnss_serial_allocate()
134 gdev = gnss_allocate_device(&serdev->dev); in gnss_serial_allocate()
136 ret = -ENOMEM; in gnss_serial_allocate()
140 gdev->ops = &gnss_serial_gnss_ops; in gnss_serial_allocate()
143 gserial->serdev = serdev; in gnss_serial_allocate()
144 gserial->gdev = gdev; in gnss_serial_allocate()
156 gnss_put_device(gserial->gdev); in gnss_serial_allocate()
166 gnss_put_device(gserial->gdev); in gnss_serial_free()
173 struct serdev_device *serdev = gserial->serdev; in gnss_serial_register()
177 pm_runtime_enable(&serdev->dev); in gnss_serial_register()
184 ret = gnss_register_device(gserial->gdev); in gnss_serial_register()
192 pm_runtime_disable(&serdev->dev); in gnss_serial_register()
202 struct serdev_device *serdev = gserial->serdev; in gnss_serial_deregister()
204 gnss_deregister_device(gserial->gdev); in gnss_serial_deregister()
207 pm_runtime_disable(&serdev->dev); in gnss_serial_deregister()
275 MODULE_DESCRIPTION("Generic serial GNSS receiver driver");