linux/drivers
Loic Poulain cac6fb015f usb: class: cdc-wdm: WWAN framework integration
The WWAN framework provides a unified way to handle WWAN/modems and its
control port(s). It has initially been introduced to support MHI/PCI
modems, offering the same control protocols as the USB variants such as
MBIM, QMI, AT... The WWAN framework exposes these control protocols as
character devices, similarly to cdc-wdm, but in a bus agnostic fashion.

This change adds registration of the USB modem cdc-wdm control endpoints
to the WWAN framework as standard control ports (wwanXpY...).

Exposing cdc-wdm through WWAN framework normally maintains backward
compatibility, e.g:
    $ qmicli --device-open-qmi -d /dev/wwan0p1QMI --dms-get-ids
instead of
    $ qmicli --device-open-qmi -d /dev/cdc-wdm0 --dms-get-ids

However, some tools may rely on cdc-wdm driver/device name for device
detection. It is then safer to keep the 'legacy' cdc-wdm character
device to prevent any breakage. This is handled in this change by
API mutual exclusion, only one access method can be used at a time,
either cdc-wdm chardev or WWAN API.

Note that unknown channel types (other than MBIM, AT or MBIM) are not
registered to the WWAN framework.

Signed-off-by: Loic Poulain <loic.poulain@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-05-11 16:17:56 -07:00
..
accessibility TTY/Serial driver updates for 5.13-rc1 2021-04-26 11:20:10 -07:00
acpi Assorted arm64 fixes and clean-ups, the most important: 2021-05-07 12:11:05 -07:00
amba
android selinux/stable-5.13 PR 20210426 2021-04-27 13:42:11 -07:00
ata pci-v5.13-changes 2021-05-05 13:24:11 -07:00
atm atm: iphase: fix possible use-after-free in ia_module_exit() 2021-05-11 16:12:03 -07:00
auxdisplay treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
base init/initramfs.c: do unpacking asynchronously 2021-05-07 00:26:33 -07:00
bcma bcma: remove unused function 2021-04-18 09:36:56 +03:00
block block-5.13-2021-05-07 2021-05-07 11:35:12 -07:00
bluetooth Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
bus ARM: SoC drivers for v5.13 2021-04-26 12:11:52 -07:00
cdrom
char drivers/char: remove /dev/kmem for good 2021-05-07 00:26:34 -07:00
clk pci-v5.13-changes 2021-05-05 13:24:11 -07:00
clocksource ARM: 2021-05-01 10:14:08 -07:00
comedi
connector
counter
cpufreq Power management updates for 5.13-rc1 2021-04-26 15:10:25 -07:00
cpuidle
crypto ARM: 2021-05-01 10:14:08 -07:00
cxl cxl/mem: Fix memory device capacity probing 2021-04-16 18:21:56 -07:00
dax
dca
devfreq
dio
dma dmaengine updates for v5.13-rc1 2021-05-04 11:24:46 -07:00
dma-buf
edac
eisa
extcon - Core Frameworks 2021-04-28 15:59:13 -07:00
firewire The usual updates from the irq departement: 2021-04-26 09:43:16 -07:00
firmware Assorted arm64 fixes and clean-ups, the most important: 2021-05-07 12:11:05 -07:00
fpga ARM: SoC drivers for v5.13 2021-04-26 12:11:52 -07:00
fsi
gnss
gpio gpio updates for v5.13 2021-05-05 12:39:29 -07:00
gpu drm/i915/display: fix compiler warning about array overrun 2021-05-08 11:30:22 -07:00
greybus
hid Merge branch 'for-5.13/warnings' into for-linus 2021-04-29 21:47:22 +02:00
hsi
hv printk changes for 5.13 2021-04-27 18:09:44 -07:00
hwmon ACPI updates for 5.13-rc1 2021-04-26 15:03:23 -07:00
hwspinlock
hwtracing ARM: 2021-05-01 10:14:08 -07:00
i2c Merge branch 'i2c/for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2021-04-30 13:01:02 -07:00
i3c Revert "i3c master: fix missing destroy_workqueue() on error in i3c_master_register" 2021-04-24 22:21:01 +02:00
ide
idle
iio spi: Updates for v5.13 2021-04-26 16:32:11 -07:00
infiniband block-5.13-2021-05-07 2021-05-07 11:35:12 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2021-05-06 23:37:55 -07:00
interconnect CFI on arm64 series for v5.13-rc1 2021-04-27 10:16:46 -07:00
iommu pci-v5.13-changes 2021-05-05 13:24:11 -07:00
ipack
irqchip ARM: 2021-05-01 10:14:08 -07:00
isdn mISDN: fix possible use-after-free in HFC_cleanup() 2021-05-11 16:12:46 -07:00
leds Nothing too exciting here, just some fixes. 2021-05-03 12:23:03 -07:00
lightnvm
macintosh macintosh/via-pmu: Fix build warning 2021-04-16 23:57:51 +10:00
mailbox - qcom: enable support for SM8350 and SC7280 2021-04-28 16:10:33 -07:00
mcb
md Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
media Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
memory .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
memstick memstick: r592: ignore kfifo_out() return code again 2021-04-26 11:08:23 +02:00
message
mfd - Core Frameworks 2021-04-28 15:59:13 -07:00
misc IOMMU Updates for Linux v5.13 2021-05-01 09:33:00 -07:00
mmc MMC core: 2021-04-28 15:56:51 -07:00
most Staging/IIO driver updates for 5.13-rc1 2021-04-26 11:14:21 -07:00
mtd This pull request contains changes for JFFS2, UBI and UBIFS 2021-05-04 18:08:40 -07:00
mux
net usb: class: cdc-wdm: WWAN framework integration 2021-05-11 16:17:56 -07:00
nfc
ntb
nubus
nvdimm include: remove pagemap.h from blkdev.h 2021-05-06 19:24:11 -07:00
nvme nvmet: remove unsupported command noise 2021-05-04 09:39:26 +02:00
nvmem
of of: overlay: Remove redundant assignment to ret 2021-05-03 13:57:56 -05:00
opp
parisc
parport treewide: remove editor modelines and cruft 2021-05-07 00:26:34 -07:00
pci more s390 updates for 5.13 merge window 2021-05-06 14:39:50 -07:00
pcmcia
perf ARM: 2021-05-01 10:14:08 -07:00
phy Networking changes for 5.13. 2021-04-29 11:57:23 -07:00
pinctrl linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in <linux/kernel.h> 2021-05-09 00:29:45 +09:00
platform chrome platform changes for 5.13 2021-05-07 14:49:18 -07:00
pnp
power power supply and reset changes for the v5.13 series 2021-04-28 15:43:58 -07:00
powercap
pps TTY/Serial driver updates for 5.13-rc1 2021-04-26 11:20:10 -07:00
ps3
ptp ptp: ptp_clock: make scaled_ppm_to_ppb static inline 2021-05-10 14:54:23 -07:00
pwm pwm: Changes for v5.13-rc1 2021-05-05 12:53:16 -07:00
rapidio
ras
regulator - Core Frameworks 2021-04-28 15:59:13 -07:00
remoteproc remoteproc updates for v5.13 2021-05-04 11:13:33 -07:00
reset pci-v5.13-changes 2021-05-05 13:24:11 -07:00
rpmsg
rtc RTC for 5.13 2021-05-03 12:15:21 -07:00
s390 block-5.13-2021-05-07 2021-05-07 11:35:12 -07:00
sbus
scsi SCSI misc on 20210508 2021-05-08 10:44:36 -07:00
sh The usual updates from the irq departement: 2021-04-26 09:43:16 -07:00
siox
slimbus
soc IOMMU Updates for Linux v5.13 2021-05-01 09:33:00 -07:00
soundwire
spi sound updates for 5.13 2021-04-30 12:48:14 -07:00
spmi
ssb
staging drm tegra-next + fixes for 5.13-rc1 2021-04-30 12:44:02 -07:00
target SCSI misc on 20210508 2021-05-08 10:44:36 -07:00
tc
tee ARM: SoC drivers for v5.13 2021-04-26 12:11:52 -07:00
thermal - Remove duplicate error message for the amlogic driver (Tang Bin) 2021-05-05 12:46:48 -07:00
thunderbolt
tty .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
uio
usb usb: class: cdc-wdm: WWAN framework integration 2021-05-11 16:17:56 -07:00
vdpa vDPA/ifcvf: get_config_size should return dev specific config size 2021-05-03 04:55:54 -04:00
vfio IOMMU Updates for Linux v5.13 2021-05-01 09:33:00 -07:00
vhost virtio,vhost,vdpa: features, fixes 2021-05-05 13:31:39 -07:00
video Merge branch 'akpm' (patches from Andrew) 2021-05-07 00:34:51 -07:00
virt nitro_enclaves: Fix stale file descriptors on failed usercopy 2021-04-29 19:06:49 +02:00
virtio virtio_pci_modern: correct sparse tags for notify 2021-05-04 04:19:59 -04:00
visorbus
vlynq
vme
w1
watchdog - Core Frameworks 2021-04-28 15:59:13 -07:00
xen Merge branch 'stable/for-linus-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb 2021-05-04 10:58:49 -07:00
zorro
Kconfig
Makefile virtio,vhost,vdpa: features, fixes 2021-05-05 13:31:39 -07:00