HSI: cmt_speech: Add cmt-speech driver
Introduces the cmt-speech driver, which implements a character device interface for transferring speech data frames over HSI/SSI. The driver is used to exchange voice/speech data between the Nokia N900/N950/N9's modem and its cpu. Signed-off-by: Kai Vehmanen <kai.vehmanen@nokia.com> Signed-off-by: Carlos Chinea <carlos.chinea@nokia.com> Signed-off-by: Joni Lapilainen <joni.lapilainen@gmail.com> Since the original driver has been written for 2.6.28 some build fixes and general cleanups have been added by me: * fix build for 4.0 kernel * replace GFP_ATOMIC with GFP_KERNEL in cs_alloc_cmds() * add sanity check for CS_SET_WAKELINE ioctl * cleanup driver initialisation * rename driver to cmt-speech to be consistent with ssi-protocol driver * move cs-protocol.h to include/uapi/linux/hsi, since it describes a userspace API * replace hardcoded channels numbers with values provided via the HSI framework (e.g. coming from DT) Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi> Tested-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Sebastian Reichel <sre@kernel.org>
This commit is contained in:

committed by
Sebastian Reichel

parent
b2249129f4
commit
7f62fe8a58
@@ -13,6 +13,16 @@ config NOKIA_MODEM
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config CMT_SPEECH
|
||||
tristate "CMT speech"
|
||||
depends on HSI && SSI_PROTOCOL
|
||||
help
|
||||
If you say Y here, you will enable the CMT speech protocol used
|
||||
by Nokia modems. If you say M the protocol will be available as
|
||||
module named cmt_speech.
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
config SSI_PROTOCOL
|
||||
tristate "SSI protocol"
|
||||
depends on HSI && PHONET && OMAP_SSI
|
||||
|
@@ -4,4 +4,5 @@
|
||||
|
||||
obj-$(CONFIG_NOKIA_MODEM) += nokia-modem.o
|
||||
obj-$(CONFIG_SSI_PROTOCOL) += ssi_protocol.o
|
||||
obj-$(CONFIG_CMT_SPEECH) += cmt_speech.o
|
||||
obj-$(CONFIG_HSI_CHAR) += hsi_char.o
|
||||
|
1456
drivers/hsi/clients/cmt_speech.c
Normal file
1456
drivers/hsi/clients/cmt_speech.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user