Lines Matching full:gnss

8  * ice_gnss_do_write - Write data to internal GNSS receiver
13 * Write UBX command data to the GNSS receiver
72 dev_err(ice_pf_to_dev(pf), "GNSS failed to write, offset=%u, size=%u, err=%d\n", in ice_gnss_do_write()
79 * ice_gnss_read - Read data from internal GNSS module
80 * @work: GNSS read work structure
82 * Read the data from internal GNSS receiver, write it to gnss_dev.
86 struct gnss_serial *gnss = container_of(work, struct gnss_serial, in ice_gnss_read() local
98 pf = gnss->back; in ice_gnss_read()
156 kthread_queue_delayed_work(gnss->kworker, &gnss->read_work, delay); in ice_gnss_read()
158 dev_dbg(ice_pf_to_dev(pf), "GNSS failed to read err=%d\n", err); in ice_gnss_read()
162 * ice_gnss_struct_init - Initialize GNSS receiver
165 * Initialize GNSS structures and workers.
175 struct gnss_serial *gnss; in ice_gnss_struct_init() local
177 gnss = kzalloc(sizeof(*gnss), GFP_KERNEL); in ice_gnss_struct_init()
178 if (!gnss) in ice_gnss_struct_init()
181 gnss->back = pf; in ice_gnss_struct_init()
182 pf->gnss_serial = gnss; in ice_gnss_struct_init()
184 kthread_init_delayed_work(&gnss->read_work, ice_gnss_read); in ice_gnss_struct_init()
185 kworker = kthread_run_worker(0, "ice-gnss-%s", dev_name(dev)); in ice_gnss_struct_init()
187 kfree(gnss); in ice_gnss_struct_init()
191 gnss->kworker = kworker; in ice_gnss_struct_init()
193 return gnss; in ice_gnss_struct_init()
197 * ice_gnss_open - Open GNSS device
198 * @gdev: pointer to the gnss device struct
200 * Open GNSS device and start filling the read buffer for consumer.
209 struct gnss_serial *gnss; in ice_gnss_open() local
217 gnss = pf->gnss_serial; in ice_gnss_open()
218 if (!gnss) in ice_gnss_open()
221 kthread_queue_delayed_work(gnss->kworker, &gnss->read_work, 0); in ice_gnss_open()
227 * ice_gnss_close - Close GNSS device
228 * @gdev: pointer to the gnss device struct
230 * Close GNSS device, cancel worker, stop filling the read buffer.
235 struct gnss_serial *gnss; in ice_gnss_close() local
240 gnss = pf->gnss_serial; in ice_gnss_close()
241 if (!gnss) in ice_gnss_close()
244 kthread_cancel_delayed_work_sync(&gnss->read_work); in ice_gnss_close()
248 * ice_gnss_write - Write to GNSS device
249 * @gdev: pointer to the gnss device struct
251 * @count: size of the buffer to be sent to the GNSS device
262 struct gnss_serial *gnss; in ice_gnss_write() local
274 gnss = pf->gnss_serial; in ice_gnss_write()
275 if (!gnss) in ice_gnss_write()
288 * ice_gnss_register - Register GNSS receiver
291 * Allocate and register GNSS receiver in the Linux GNSS subsystem.
325 * ice_gnss_deregister - Deregister GNSS receiver
328 * Deregister GNSS receiver from the Linux GNSS subsystem,
341 * ice_gnss_init - Initialize GNSS support
355 dev_info(ice_pf_to_dev(pf), "GNSS init successful\n"); in ice_gnss_init()
358 dev_err(ice_pf_to_dev(pf), "GNSS init failure\n"); in ice_gnss_init()
363 * ice_gnss_exit - Disable GNSS TTY support
372 struct gnss_serial *gnss = pf->gnss_serial; in ice_gnss_exit() local
374 kthread_cancel_delayed_work_sync(&gnss->read_work); in ice_gnss_exit()
375 kthread_destroy_worker(gnss->kworker); in ice_gnss_exit()
376 gnss->kworker = NULL; in ice_gnss_exit()
378 kfree(gnss); in ice_gnss_exit()