Thread (17 messages) 17 messages, 3 authors, 2026-01-15

Re:Re:Re:[RFC PATCH v5 0/7] net: wwan: add NMEA port type support

From: Slark Xiao <hidden>
Date: 2026-01-14 02:43:37

At 2026-01-13 14:59:36, "Sergey Ryazanov" [off-list ref] wrote:
On January 13, 2026 4:03:19 AM, Slark Xiao [off-list ref] wrote:
quoted
At 2026-01-09 15:11:58, "Sergey Ryazanov" [off-list ref] wrote:
quoted
On January 9, 2026 5:21:34 AM, Slark Xiao [off-list ref] wrote:
quoted
At 2026-01-09 09:09:02, "Sergey Ryazanov" [off-list ref] wrote:
quoted
The series introduces a long discussed NMEA port type support for the
WWAN subsystem. There are two goals. From the WWAN driver perspective,
NMEA exported as any other port type (e.g. AT, MBIM, QMI, etc.). From
user space software perspective, the exported chardev belongs to the
GNSS class what makes it easy to distinguish desired port and the WWAN
device common to both NMEA and control (AT, MBIM, etc.) ports makes it
easy to locate a control port for the GNSS receiver activation.

Done by exporting the NMEA port via the GNSS subsystem with the WWAN
core acting as proxy between the WWAN modem driver and the GNSS
subsystem.

The series starts from a cleanup patch. Then three patches prepares the
WWAN core for the proxy style operation. Followed by a patch introding a
new WWNA port type, integration with the GNSS subsystem and demux. The
series ends with a couple of patches that introduce emulated EMEA port
to the WWAN HW simulator.

The series is the product of the discussion with Loic about the pros and
cons of possible models and implementation. Also Muhammad and Slark did
a great job defining the problem, sharing the code and pushing me to
finish the implementation. Daniele has caught an issue on driver
unloading and suggested an investigation direction. What was concluded
by Loic. Many thanks.

Slark, if this series with the unregister fix suits you, please bundle
it with your MHI patch, and (re-)send for final inclusion.

Changes RFCv1->RFCv2:
* Uniformly use put_device() to release port memory. This made code less
 weird and way more clear. Thank you, Loic, for noticing and the fix
 discussion!
Changes RFCv2->RFCv5:
* Fix premature WWAN device unregister; new patch 2/7, thus, all
 subsequent patches have been renumbered
* Minor adjustments here and there
Shall I keep these RFC changes info in my next commit?
Also these RFC changes info in these single patch.
Generally, yeah, it's a good idea to keep information about changes, especially per item patch. Keeping the cover latter changelog is up to you.
quoted
And I want to know whether  v5 or v6 shall be used for my next serial?
Any of them will work. If you asking me, then I would suggest to send it as v6 to continue numbering.
quoted
Is there a review progress for these RFC patches ( for patch 2/7 and 
3/7 especially). If yes, I will hold my commit until these review progress
finished. If not, I will combine these changes with my MHI patch and send
them out asap.
I have collected all the feedback. E.g., minor number leak was fixed. Fixed one long noticed mistype. And collected two new review tags given by Loic. So, my advice is to use these patches as base and put your MHI patch on top of them.
Hi Sergey,
I didn't find the review tags for your patch 2/7 and 3/7 until now. Am I missing something?
You are right, there are no review tags have been given for these patches. If it works for your device, just send the complete series. You testing going to be enough.
There is an error based on your RFC changes.
It locates in 7/7 net: wwan: hwsim: support NMEA port emulation.
Error as below:

  CC [M]  drivers/input/gameport/fm801-gp.o
drivers/net/wwan/wwan_hwsim.c: In function ‘wwan_hwsim_nmea_emul_timer’:
drivers/net/wwan/wwan_hwsim.c:239:40: error: implicit declaration of function ‘from_timer’; did you mean ‘mod_timer’? [-Werror=implicit-function-declaration]
  239 |         struct wwan_hwsim_port *port = from_timer(port, t, nmea_emul.timer);
      |                                        ^~~~~~~~~~
      |                                        mod_timer
drivers/net/wwan/wwan_hwsim.c:239:60: error: ‘nmea_emul’ undeclared (first use in this function)
  239 |         struct wwan_hwsim_port *port = from_timer(port, t, nmea_emul.timer);
      |                                                            ^~~~~~~~~
drivers/net/wwan/wwan_hwsim.c:239:60: note: each undeclared identifier is reported only once for each function it appears in
cc1: some warnings being treated as errors
make[5]: *** [scripts/Makefile.build:287: drivers/net/wwan/wwan_hwsim.o] Error 1
make[4]: *** [scripts/Makefile.build:544: drivers/net/wwan] Error 2


This error could be found in netdev-bpf website --Checks --netdev/build_32bit as well.
I just rollback it to previous timer_container_of() function and it builds well.

--
Sergey

Hi Slark,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help