Subject: RE: [PATCH net-next-2.6 13/13] net-caif-driver: add CAIF serial driver (ldisc)

From: Marcel Holtmann <[email-masked]>
Date: Fri, 22 Jan 2010 11:07:05 +0100

Hi Sjur,

> >> Add CAIF Serial driver. This driver is implemented as a line
> >> discipline. The TTY is opened from inside the kernel module.
> >> 
> >> caif_serial uses the following module parameters:
> >> ser_ttyname - specifies the tty name.
> >> ser_use_stx - specifies if STart of frame eXtension is in use.
> >> ser_loop    - sets the interface in loopback mode.
> > 
> > I think opening the TTY from within the kernel is the wrong approach.
> > It basically takes all the control away from the system people trying
> > to bring up the device. And for every special TTY you need to add
> > hacks and workarounds.   
> > 
> > You should be just providing the TTY line discipline for CAIF. And
> > then have a program like caifattach that open the TTY and sets it. We
> > do this for Bluetooth with hciattach for IrDA with irattach etc.  
> 
> I see your point, actually we did this in a while back, 
> but changed it to open the tty from kernel side.
> I think this is a trade off between flexibility and making it simple to 
> use from user space. Another problem with the current approach miss the
> flexibility of configuring the UART and the possibility to have multiple 
> serial links...

that is why am I proposing just providing the line discipline and an
extra caifattach program.

With that we can add some plugin to oFono that just does the same as
caifattach would do and get a really smooth integration for embedded
platform, but on the other hand enough flexibility for everything else.

For Bluetooth and IrDA this approach has been working nicely for years
now.

Regards

Marcel