From: Sergey Ryazanov <ryazanov.s.a@gmail.com>
To: Loic Poulain <loic.poulain@oss.qualcomm.com>,
Johannes Berg <johannes@sipsolutions.net>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>,
Eric Dumazet <edumazet@google.com>,
"David S . Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
netdev@vger.kernel.org, Slark Xiao <slark_xiao@163.com>,
Muhammad Nuzaihan <zaihan@unrealasia.net>,
Daniele Palmas <dnlplm@gmail.com>,
Qiang Yu <quic_qianyu@quicinc.com>,
Manivannan Sadhasivam <mani@kernel.org>,
Johan Hovold <johan@kernel.org>
Subject: [RFC PATCH v5 0/7] net: wwan: add NMEA port type support
Date: Fri, 9 Jan 2026 03:09:02 +0200 [thread overview]
Message-ID: <20260109010909.4216-1-ryazanov.s.a@gmail.com> (raw)
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
CC: Slark Xiao <slark_xiao@163.com>
CC: Muhammad Nuzaihan <zaihan@unrealasia.net>
CC: Daniele Palmas <dnlplm@gmail.com>
CC: Qiang Yu <quic_qianyu@quicinc.com>
CC: Manivannan Sadhasivam <mani@kernel.org>
CC: Johan Hovold <johan@kernel.org>
Sergey Ryazanov (7):
net: wwan: core: remove unused port_id field
net: wwan: core: explicit WWAN device reference counting
net: wwan: core: split port creation and registration
net: wwan: core: split port unregister and stop
net: wwan: add NMEA port support
net: wwan: hwsim: refactor to support more port types
net: wwan: hwsim: support NMEA port emulation
drivers/net/wwan/Kconfig | 1 +
drivers/net/wwan/wwan_core.c | 280 +++++++++++++++++++++++++++-------
drivers/net/wwan/wwan_hwsim.c | 201 +++++++++++++++++++-----
include/linux/wwan.h | 2 +
4 files changed, 396 insertions(+), 88 deletions(-)
--
2.52.0
next reply other threads:[~2026-01-09 1:09 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-09 1:09 Sergey Ryazanov [this message]
2026-01-09 1:09 ` [RFC PATCH v5 1/7] net: wwan: core: remove unused port_id field Sergey Ryazanov
2026-01-09 1:09 ` [RFC PATCH v5 2/7] net: wwan: core: explicit WWAN device reference counting Sergey Ryazanov
2026-01-14 21:31 ` Loic Poulain
2026-01-15 6:52 ` Sergey Ryazanov
2026-01-15 8:08 ` Slark Xiao
2026-01-09 1:09 ` [RFC PATCH v5 3/7] net: wwan: core: split port creation and registration Sergey Ryazanov
2026-01-09 1:09 ` [RFC PATCH v5 4/7] net: wwan: core: split port unregister and stop Sergey Ryazanov
2026-01-09 1:09 ` [RFC PATCH v5 5/7] net: wwan: add NMEA port support Sergey Ryazanov
2026-01-09 1:09 ` [RFC PATCH v5 6/7] net: wwan: hwsim: refactor to support more port types Sergey Ryazanov
2026-01-09 1:09 ` [RFC PATCH v5 7/7] net: wwan: hwsim: support NMEA port emulation Sergey Ryazanov
2026-01-09 3:21 ` Re:[RFC PATCH v5 0/7] net: wwan: add NMEA port type support Slark Xiao
2026-01-09 7:11 ` Sergey Ryazanov
2026-01-13 2:03 ` Slark Xiao
2026-01-13 6:59 ` Sergey Ryazanov
2026-01-14 2:42 ` Slark Xiao
2026-01-14 19:59 ` [RFC " Sergey Ryazanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260109010909.4216-1-ryazanov.s.a@gmail.com \
--to=ryazanov.s.a@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=dnlplm@gmail.com \
--cc=edumazet@google.com \
--cc=johan@kernel.org \
--cc=johannes@sipsolutions.net \
--cc=kuba@kernel.org \
--cc=loic.poulain@oss.qualcomm.com \
--cc=mani@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=quic_qianyu@quicinc.com \
--cc=slark_xiao@163.com \
--cc=zaihan@unrealasia.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox