From: Juergen Beisert on 7 May 2010 09:20 Hi, most SmartCard readers are external devices, connected via USB or serial lines. So, they do not need special in-kernel drivers. My SmartCard interface is part of a SoC (i.MX25 CPU). So, I need an in-kernel driver. Where would be the best place in the kernel tree, to add a driver for this kind of device? Maybe "drivers/char"? To exchange data with the plugged in SmartCard, only a couple of IOCTLs are required (detecting if a card is plugged in, socket power on/off, send reset to the card, configuring the communication parameters). Data exchange with the SmartCard can be done with simple read/write. Any idea? Regards, Juergen -- Pengutronix e.K. | Juergen Beisert | Linux Solutions for Science and Industry | Phone: +49-8766-939 228 | Vertretung Sued/Muenchen, Germany | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Alan Cox on 7 May 2010 09:50 On Fri, 7 May 2010 15:18:50 +0200 Juergen Beisert <jbe(a)pengutronix.de> wrote: > Hi, > > most SmartCard readers are external devices, connected via USB or > serial lines. So, they do not need special in-kernel drivers. > > My SmartCard interface is part of a SoC (i.MX25 CPU). So, I need an > in-kernel driver. Where would be the best place in the kernel tree, > to add a driver for this kind of device? Maybe "drivers/char"? > To exchange data with the plugged in SmartCard, only a couple of > IOCTLs are required (detecting if a card is plugged in, socket power > on/off, send reset to the card, configuring the communication > parameters). Data exchange with the SmartCard can be done with simple > read/write. I'd say drivers/char if its a generic char device, but if its MX25 specific code entirely then drivers/platform or arch/.../platform. The other question is one of API - it's going to best if the API isn't MX25 specific but could reasonably be expected to work with other future devices. A fake tty interface is probably overkill for that but it would be good to get general review of any API. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Juergen Beisert on 7 May 2010 10:30 Hi Alan, Alan Cox wrote: > On Fri, 7 May 2010 15:18:50 +0200 > Juergen Beisert <jbe(a)pengutronix.de> wrote: > > most SmartCard readers are external devices, connected via USB or > > serial lines. So, they do not need special in-kernel drivers. > > > > My SmartCard interface is part of a SoC (i.MX25 CPU). So, I need an > > in-kernel driver. Where would be the best place in the kernel tree, > > to add a driver for this kind of device? Maybe "drivers/char"? > > To exchange data with the plugged in SmartCard, only a couple of > > IOCTLs are required (detecting if a card is plugged in, socket power > > on/off, send reset to the card, configuring the communication > > parameters). Data exchange with the SmartCard can be done with simple > > read/write. > > I'd say drivers/char if its a generic char device, but if its MX25 > specific code entirely then drivers/platform or arch/.../platform. This driver covers a SmartCard core built into this kind of CPU. Its not like an interrupt controller which is specific to the CPU. Its a component like the USB and LCD controller, also built into this CPU. Maybe other CPUs will follow that are also using this SmartCard core (I don't know, only the manufacture knows). > The other question is one of API - it's going to best if the API isn't > MX25 specific but could reasonably be expected to work with other > future devices. A fake tty interface is probably overkill for that but > it would be good to get general review of any API. "faky tty"? Regards, Juergen -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Alan Cox on 11 May 2010 18:20 > > I'd say drivers/char if its a generic char device, but if its MX25 > > specific code entirely then drivers/platform or arch/.../platform. > > This driver covers a SmartCard core built into this kind of CPU. Its > not like an interrupt controller which is specific to the CPU. Its a > component like the USB and LCD controller, also built into this CPU. > Maybe other CPUs will follow that are also using this SmartCard core > (I don't know, only the manufacture knows). The question is really about the interface as seen from userspace - is that generic or could it be generic so you could write other card drivers for different hardware to the same user space interface ? > > The other question is one of API - it's going to best if the API > > isn't MX25 specific but could reasonably be expected to work with > > other future devices. A fake tty interface is probably overkill for > > that but it would be good to get general review of any API. > > "faky tty"? Some systems have before now implemented onchip smart card interfaces with drivers that pretend to be a serial port talking a serial link to the smartcard. Alan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Juergen Beisert on 12 May 2010 03:40 Hi Alan, Alan Cox wrote: > > > I'd say drivers/char if its a generic char device, but if its MX25 > > > specific code entirely then drivers/platform or arch/.../platform. > > > > This driver covers a SmartCard core built into this kind of CPU. Its > > not like an interrupt controller which is specific to the CPU. Its a > > component like the USB and LCD controller, also built into this CPU. > > Maybe other CPUs will follow that are also using this SmartCard core > > (I don't know, only the manufacture knows). > > The question is really about the interface as seen from userspace - is > that generic or could it be generic so you could write other card > drivers for different hardware to the same user space interface ? Yes, the interface can be generic. As the main feature of these cards is the communication itself, there are only a few additional requirements to make it work. But these additional requirements are shared by all SmartCards. Where would be the best place/mail list to discuss this API? > > > The other question is one of API - it's going to best if the API > > > isn't MX25 specific but could reasonably be expected to work with > > > other future devices. A fake tty interface is probably overkill for > > > that but it would be good to get general review of any API. > > > > "faky tty"? > > Some systems have before now implemented onchip smart card interfaces > with drivers that pretend to be a serial port talking a serial link to > the smartcard. Do you mean to emulate an external serial device in the kernel driver? To make it understand the same data sequences these kind of external device understand? Would be possible, but its more complex than to run the communication via read()/write() and a few additional IOCTLs for the special SmartCard handling. Regards, Juergen -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Next
|
Last
Pages: 1 2 Prev: tracing: Remove per event trace registering Next: UBIFS: Oops while rebooting 2.6.34-rc6 |