Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

USB: serial: simple: add Nokia phone driver

Add a new "simple" driver for certain Nokia phones, including Nokia 130
(RM-1035) which exposes two serial ports in "charging only" mode:

Bus 001 Device 009: ID 0421:069a Nokia Mobile Phones 130 [RM-1035] (Charging only)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0421 Nokia Mobile Phones
idProduct 0x069a 130 [RM-1035] (Charging only)
bcdDevice 1.00
iManufacturer 1 Nokia
iProduct 2 Nokia 130 (RM-1035)
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0037
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)

Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220228084919.10656-1-johan@kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>

+8
+1
drivers/usb/serial/Kconfig
··· 66 66 - Libtransistor USB console 67 67 - a number of Motorola phones 68 68 - Motorola Tetra devices 69 + - Nokia mobile phones 69 70 - Novatel Wireless GPS receivers 70 71 - Siemens USB/MPI adapter. 71 72 - ViVOtech ViVOpay USB device.
+7
drivers/usb/serial/usb-serial-simple.c
··· 91 91 { USB_DEVICE(0x0cad, 0x9016) } /* TPG2200 */ 92 92 DEVICE(motorola_tetra, MOTOROLA_TETRA_IDS); 93 93 94 + /* Nokia mobile phone driver */ 95 + #define NOKIA_IDS() \ 96 + { USB_DEVICE(0x0421, 0x069a) } /* Nokia 130 (RM-1035) */ 97 + DEVICE(nokia, NOKIA_IDS); 98 + 94 99 /* Novatel Wireless GPS driver */ 95 100 #define NOVATEL_IDS() \ 96 101 { USB_DEVICE(0x09d7, 0x0100) } /* NovAtel FlexPack GPS */ ··· 128 123 &vivopay_device, 129 124 &moto_modem_device, 130 125 &motorola_tetra_device, 126 + &nokia_device, 131 127 &novatel_gps_device, 132 128 &hp4x_device, 133 129 &suunto_device, ··· 146 140 VIVOPAY_IDS(), 147 141 MOTO_IDS(), 148 142 MOTOROLA_TETRA_IDS(), 143 + NOKIA_IDS(), 149 144 NOVATEL_IDS(), 150 145 HP4X_IDS(), 151 146 SUUNTO_IDS(),