On Monday, October 17, 2016 1:22:01 PM CEST Lubomir Rintel wrote: > > > > And why do you need a char device for this type of > > > > hardware? Isn't there already an existing interface for this device > > > > class? > > > > > > (Arnd answered this better than I would do in his response to this > > > message). > > > > Yeah, that makes sense. A bit messy though. > > I guess that makes sense; the chip card readers tend to be rather > complex and the API (IFD Handler API) user space typically uses is > rather generic -- it would require quite some logic to interface with a > particular hardware. > > Moreover, most of the present-day smart card readers are standard CCID > class USB devices, with the CCID to IFD done in userspace. There's some > serial readers too, attached via UARTs too that use the tty ioctls to > detect the card presence and set the baud rate, etc. > > The rest (PCMCIA) seem to emulate either of the two. It still makes > sense to implement the IFD in userspace and I guess there's not too > much common ground for a device class here.
Well, you could in theory implement this as a tty driver and be compatible with the serial port devices, see drivers/tty/goldfish.c for an example driver. Not sure if that actually improves things for you or not, but the advantage is that there is an existing kernel subsystem for it. Arnd