[<prev] [next>] [day] [month] [year] [list]
Message-ID: <61D8D34BB13CFE408D154529C120E07902DF96ED@eseldmw101.eemea.ericsson.se>
Date: Fri, 18 Sep 2009 14:01:52 +0200
From: Sjur Brændeland <sjur.brandeland@...ricsson.com>
To: "David Miller" <davem@...emloft.net>
Cc: <netdev@...r.kernel.org>
Subject: RE: [RFC] CAIF Protocol Stack
Hi David.
I understand that you are one of the main Maintainers of netdev.
As explained below we have a largeish driver we would like to contribute.
I realize we should have started contributing this on a earlier stage...., but
What is the preferred way of doing this, i.e. how should we split it up?
Submit the whole shebang,
Or
Split Horizontally e.g. a) CAIF-Protocol, b) GPRS-Net-Device c) CAIF-Link Layer
Or
Split Vertically e.g. a) Payload Path Net-Device, b) Payload Path AT-channel, c) Configuration
Which kernel GIT should we base the patch set on?
Any hints on this would be greatly appreciated.
Best Regards
Sjur Brændeland
ST-Ericsson
> -----Original Message-----
> From: Sjur Brændeland
> Sent: 16. september 2009 14:31
> To: 'netdev@...r.kernel.org'
> Subject: [RFC] CAIF Protocol Stack
>
> Hello,
>
> We are currently working on a patch set in order to introduce
> the CAIF protocol in Linux. CAIF (Communication CPU to
> Application CPU Interface) is the primary protocol used to
> communicate between to ST-Ericsson modem and external host system.
>
> The host processes can use CAIF to open virtual AT channels,
> initiate GPRS Data connections, Video channels and Utility Channels.
> The Utility Channels are general purpose pipes between modem and host.
>
> ST-Ericsson modems support a number of Link Layers between
> modem and host, currently Uart and Shared Memory are
> available for Linux.
>
> Architecture:
> ------------
> The Implementation of CAIF is divided into:
> * CAIF Devices: Character Device, Net Device and Kernel API.
> * CAIF Protocol Implementation
> * CAIF Link Layer
>
> In order to configure the devices a set of IOCTLs is used.
>
>
>
> IOCTL
> !
> ! +------+ +------+ +------+
> ! +------+! +------+! +------+!
> ! ! Chr !! !Kernel!! ! Net !!
> ! ! Dev !+ ! API !+ ! Dev !+ <- CAIF Devices
> ! +------+ +------! +------+
> ! ! ! !
> ! +----------!----------+
> ! +------+ <- CAIF Protocol
> Implementation
> +-------> ! CAIF ! /dev/caifconfig
> +------+
> +--------!--------+
> ! !
> +------+ +-----+
> !ShMem ! ! TTY ! <- Link Layer
> +------+ +-----+
>
> Any comments welcome.
>
>
>
> Files:
> -----
>
> net/caif/Kconfig | 61 +
> net/caif/Makefile | 62 +
> net/caif/caif_chnlif.c | 209 ++++
> net/caif/caif_chr.c | 392 +++++++
> net/caif/caif_config_util.c | 279 +++++
> net/caif/chnl_chr.c | 1161
> ++++++++++++++++++++
> net/caif/chnl_net.c | 338 ++++++
> net/caif/generic/cfcnfg.c | 722
> ++++++++++++
> net/caif/generic/cfctrl.c | 640 +++++++++++
> net/caif/generic/cfdgml.c | 119 ++
> net/caif/generic/cffrml.c | 144 +++
> net/caif/generic/cflist.c | 99 ++
> net/caif/generic/cfloopcfg.c | 93 ++
> net/caif/generic/cflooplayer.c | 113 ++
> net/caif/generic/cfmsll.c | 55 +
> net/caif/generic/cfmuxl.c | 270 +++++
> net/caif/generic/cfpkt_skbuff.c | 545 +++++++++
> net/caif/generic/cfrfml.c | 112 ++
> net/caif/generic/cfserl.c | 297 +++++
> net/caif/generic/cfshml.c | 67 ++
> net/caif/generic/cfspil.c | 245 ++++
> net/caif/generic/cfsrvl.c | 177 +++
> net/caif/generic/cfutill.c | 115 ++
> net/caif/generic/cfveil.c | 118 ++
> net/caif/generic/cfvidl.c | 68 ++
> net/caif/generic/fcs.c | 58 +
>
> drivers/net/caif/Kconfig | 58 +
> drivers/net/caif/Makefile | 29 +
> drivers/net/caif/chnl_tty.c | 217 ++++
> drivers/net/caif/phyif_loop.c | 418 +++++++
> drivers/net/caif/phyif_ser.c | 182 +++
> drivers/net/caif/phyif_shm.c | 838
> ++++++++++++++
> drivers/net/caif/shm.h | 95 ++
> drivers/net/caif/shm_cfgifc.c | 63 ++
> drivers/net/caif/shm_mbxifc.c | 104 ++
> drivers/net/caif/shm_smbx.c | 78 ++
>
> include/linux/caif/caif_config.h | 231 ++++
> include/linux/caif/caif_ioctl.h | 106 ++
> include/net/caif/caif_actions.h | 81 ++
> include/net/caif/caif_chr.h | 46 +
> include/net/caif/caif_config_util.h | 27 +
> include/net/caif/caif_kernel.h | 324 ++++++
> include/net/caif/caif_log.h | 57 +
> include/net/caif/generic/caif_layer.h | 476 ++++++++
> include/net/caif/generic/cfcnfg.h | 223 ++++
> include/net/caif/generic/cfctrl.h | 139 +++
> include/net/caif/generic/cffrml.h | 29 +
> include/net/caif/generic/cfglue.h | 387 +++++++
> include/net/caif/generic/cfloopcfg.h | 28 +
> include/net/caif/generic/cflst.h | 27 +
> include/net/caif/generic/cfmsll.h | 22 +
> include/net/caif/generic/cfmuxl.h | 30 +
> include/net/caif/generic/cfpkt.h | 246 +++++
> include/net/caif/generic/cfserl.h | 22 +
> include/net/caif/generic/cfshml.h | 21 +
> include/net/caif/generic/cfspil.h | 80 ++
> include/net/caif/generic/cfsrvl.h | 48 +
> include/net/caif/generic/fcs.h | 22 +
>
>
>
> Regards
> Sjur Brandeland
> ST-Ericsson
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists