Hi! > So the little elves have been slowly working to get voice calls > working on droid 4 with the mainline kernel. And just in time for the > upcoming holidays, it might be possible to call friends and relatives. > > I've pushed out an experimental branch containing serdev ts 27.010 > UART multiplexing support. That contains a serdev core driver for the > mdm6600 modem (that also now idles the modem for PM), support for Alsa > ASoC voice codec and mixer, and a GNSS driver for the GPS. Thanks for doing the work. I'm quite busy these days, but... # commit 64cf2bf6b7614da35028a11974acb5a445dcc535 (patch) # n_gsm: Use const unsigned char * and size_t # We can use const unsigned char * and size_t. This makes things # a bit easier for adding serdev support. # # Note that gsm_control_modem() gsm_control_rls() read the data # for tty control characters and then call gsm_control_reply() # that allocates a new reply and copies the data. # # REVISIT: Check size_t usage vs int # # Signed-off-by: Tony Lindgren Dunno, I see that you might want const there, but u8 -> unsigned char seems like a step in wrong direction. # commit cd16272060d8100ef0388349cf88f42a1dc667fc (patch) # tty: n_gsm: Add support for serdev Is it worth putting those in separate file? n_gsm_serdev.c? # commit 0c1bc81ba976bcd480d6e3c3009a28589f8427c0 (patch) # mfd: motmdm: Add Motorola TS 27.010 serdev driver for devices like droid4 Oh, that is a lot of fun. Especially state machine for parsing modem responses. I wonder how well it is going to work when modem is accessed over USB... motmdm_read_state(... size_t len) I applied it over my tree (I still need patches for display, right?). I'm getting /data/fast/l/k/drivers/mfd/motorola-mdm.c:1132:3: error: initializer element is not constant /data/fast/l/k/drivers/mfd/motorola-mdm.c:1132:3: error: (near initialization for 'motmdm_driver.driver.name') /data/fast/l/k/scripts/Makefile.build:291: recipe for target 'drivers/mfd/motorola-mdm.o' failed Oh and that mdelay(3000) is going to hurt... especially because console is initialized very late or d4. I did a quick test in my config... and it did not break my old setup -- voice calls still work when set up over USB and with manual mixer setup. That was good surprise. Thanks, Pavel diff --git a/drivers/mfd/motorola-mdm.c b/drivers/mfd/motorola-mdm.c index eea754d..2b7c324 100644 --- a/drivers/mfd/motorola-mdm.c +++ b/drivers/mfd/motorola-mdm.c @@ -1129,7 +1129,7 @@ static void motmdm_remove(struct serdev_device *serdev) static struct serdev_device_driver motmdm_driver = { .driver = { - .name = motmdm_driver_name, + .name = "motmdm", .of_match_table = of_match_ptr(motmdm_id_table), .pm = &motmdm_pm_ops, }, -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html