From: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
To: Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w@public.gmane.org
Cc: sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
hthebaud-Umy9UjvE/gtWk0Htik3J/w@public.gmane.org,
matti.j.aaltonen-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org,
alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org
Subject: Re: [PATCH] NFC: Driver for Inside Secure MicroRead NFC chip
Date: Tue, 29 Mar 2011 13:05:02 +0200 [thread overview]
Message-ID: <201103291305.02293.arnd@arndb.de> (raw)
In-Reply-To: <99B09243E1A5DA4898CDD8B7001114481085E2375D-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
On Tuesday 29 March 2011, Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w@public.gmane.org wrote:
> >Yes, NFC seems to be a good fit for a new socket family.
> >Especially if we ever want to have a proper NFC p2p support
> >from the kernel.
> >Sending HCI commands should be done through a dedicated
> >netlink socket too.
> >
> >I am currently strting to work on such solution, and I hope to
> >be able to come up with a basic prototype for it in a few weeks.
>
> What about common drivers interface in this case.
> Should we go for common /dev/nfcX interface as well?
I fear there can only be one. A good implementation of a socket
interface would mean that there is no need for a character device.
The difference between the two is where you keep the common
NFC logic:
If you have a character device, it will be like a serial port
connecting to a modem. Any higher-level protocols live in the
user space and are limited to a single application then, which
is required to have appropriate priviledges to open the device.
In contrast, a socket implementation puts the protocol
stack into the kernel, which requires much more kernel code
but almost no user space library code, aside from perhaps
a small shim layer. It makes it possible to have multiple
applications and/or users concurrently use NFC to make connections
to separate endpoints. Since sockets have no implicit permission
handling, the kernel code then needs to implement a way to enforce
policy.
I still don't understand enough about NFC to judge which of
the two is better suited for the problem, but my feeling is
that a socket based implementation would be better if you expect
a lot of people to use it, while the main advantage of the
character device is its simplicity, so that would be preferred
if you only expect a very small set of possible applications
for this.
Arnd
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Waldemar.Rymarkiewicz@tieto.com
Cc: sameo@linux.intel.com, linux-i2c@vger.kernel.org,
linux-kernel@vger.kernel.org, hthebaud@insidefr.com,
matti.j.aaltonen@nokia.com, alan@lxorguk.ukuu.org.uk
Subject: Re: [PATCH] NFC: Driver for Inside Secure MicroRead NFC chip
Date: Tue, 29 Mar 2011 13:05:02 +0200 [thread overview]
Message-ID: <201103291305.02293.arnd@arndb.de> (raw)
In-Reply-To: <99B09243E1A5DA4898CDD8B7001114481085E2375D@EXMB04.eu.tieto.com>
On Tuesday 29 March 2011, Waldemar.Rymarkiewicz@tieto.com wrote:
> >Yes, NFC seems to be a good fit for a new socket family.
> >Especially if we ever want to have a proper NFC p2p support
> >from the kernel.
> >Sending HCI commands should be done through a dedicated
> >netlink socket too.
> >
> >I am currently strting to work on such solution, and I hope to
> >be able to come up with a basic prototype for it in a few weeks.
>
> What about common drivers interface in this case.
> Should we go for common /dev/nfcX interface as well?
I fear there can only be one. A good implementation of a socket
interface would mean that there is no need for a character device.
The difference between the two is where you keep the common
NFC logic:
If you have a character device, it will be like a serial port
connecting to a modem. Any higher-level protocols live in the
user space and are limited to a single application then, which
is required to have appropriate priviledges to open the device.
In contrast, a socket implementation puts the protocol
stack into the kernel, which requires much more kernel code
but almost no user space library code, aside from perhaps
a small shim layer. It makes it possible to have multiple
applications and/or users concurrently use NFC to make connections
to separate endpoints. Since sockets have no implicit permission
handling, the kernel code then needs to implement a way to enforce
policy.
I still don't understand enough about NFC to judge which of
the two is better suited for the problem, but my feeling is
that a socket based implementation would be better if you expect
a lot of people to use it, while the main advantage of the
character device is its simplicity, so that would be preferred
if you only expect a very small set of possible applications
for this.
Arnd
next prev parent reply other threads:[~2011-03-29 11:05 UTC|newest]
Thread overview: 103+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-18 10:40 [PATCH] NFC: Driver for Inside Secure MicroRead NFC chip Waldemar Rymarkiewicz
2011-03-18 10:40 ` Waldemar Rymarkiewicz
[not found] ` <1300444824-13713-1-git-send-email-waldemar.rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w@public.gmane.org>
2011-03-18 10:40 ` Waldemar Rymarkiewicz
2011-03-18 10:40 ` Waldemar Rymarkiewicz
[not found] ` <1300444824-13713-2-git-send-email-waldemar.rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w@public.gmane.org>
2011-03-18 11:03 ` Alan Cox
2011-03-18 11:03 ` Alan Cox
[not found] ` <20110318110348.728f6036-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2011-03-18 15:00 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-18 15:00 ` Waldemar.Rymarkiewicz
[not found] ` <99B09243E1A5DA4898CDD8B7001114481085881963-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-18 15:05 ` Arnd Bergmann
2011-03-18 15:05 ` Arnd Bergmann
2011-03-18 15:12 ` Alan Cox
2011-03-18 15:12 ` Alan Cox
[not found] ` <20110318151219.7aedc765-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2011-03-18 15:15 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-18 15:15 ` Waldemar.Rymarkiewicz
2011-03-18 11:49 ` Wolfram Sang
2011-03-18 11:49 ` Wolfram Sang
[not found] ` <20110318114931.GA2155-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2011-03-18 15:08 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-18 15:08 ` Waldemar.Rymarkiewicz
[not found] ` <99B09243E1A5DA4898CDD8B700111448108588196C-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-18 15:31 ` Mark Brown
2011-03-18 15:31 ` Mark Brown
2011-03-18 16:43 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-18 16:43 ` Waldemar.Rymarkiewicz
2011-03-18 12:19 ` Arnd Bergmann
2011-03-18 12:19 ` Arnd Bergmann
[not found] ` <201103181319.54191.arnd-r2nGTMty4D4@public.gmane.org>
2011-03-18 12:51 ` Mark Brown
2011-03-18 12:51 ` Mark Brown
[not found] ` <20110318125150.GD27129-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2011-03-18 14:20 ` Arnd Bergmann
2011-03-18 14:20 ` Arnd Bergmann
2011-03-25 14:26 ` Samuel Ortiz
2011-03-29 8:00 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-29 8:00 ` Waldemar.Rymarkiewicz
[not found] ` <99B09243E1A5DA4898CDD8B7001114481085E2375D-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-29 11:05 ` Arnd Bergmann [this message]
2011-03-29 11:05 ` Arnd Bergmann
2011-03-29 11:59 ` Alan Cox
[not found] ` <20110329125931.21a69776-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2011-03-29 12:04 ` Arnd Bergmann
2011-03-29 12:04 ` Arnd Bergmann
[not found] ` <201103291404.39023.arnd-r2nGTMty4D4@public.gmane.org>
2011-03-29 12:23 ` Alan Cox
2011-03-29 12:23 ` Alan Cox
[not found] ` <20110329132305.7aa065a1-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2011-03-29 13:22 ` Arnd Bergmann
2011-03-29 13:22 ` Arnd Bergmann
[not found] ` <201103291305.02293.arnd-r2nGTMty4D4@public.gmane.org>
2011-03-31 14:16 ` Samuel Ortiz
2011-03-31 14:16 ` Samuel Ortiz
2011-03-31 14:42 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-31 14:42 ` Waldemar.Rymarkiewicz
[not found] ` <99B09243E1A5DA4898CDD8B7001114481085F0FE5A-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-31 14:49 ` Arnd Bergmann
2011-03-31 14:49 ` Arnd Bergmann
2011-03-31 15:09 ` Samuel Ortiz
2011-03-31 15:09 ` Samuel Ortiz
2011-03-31 15:24 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-31 15:24 ` Waldemar.Rymarkiewicz
[not found] ` <99B09243E1A5DA4898CDD8B7001114481085F0FE7C-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-31 15:30 ` Samuel Ortiz
2011-03-31 15:30 ` Samuel Ortiz
2011-04-01 18:19 ` Aloisio Almeida
2011-04-01 18:19 ` Aloisio Almeida
[not found] ` <AANLkTikjTAFrhS7_P+KJ-r-33K6fW2+63OnLhjXE-u0k-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-04-01 19:43 ` Arnd Bergmann
2011-04-01 19:43 ` Arnd Bergmann
2011-06-06 20:22 ` Pavan Savoy
[not found] ` <BANLkTimsZeqvSWj+kKWLSmFOQc70KWodcw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-06-06 20:30 ` Pavan Savoy
2011-06-06 20:30 ` Pavan Savoy
[not found] ` <BANLkTim9tyZXhLUxzHL2K-nWtujsJTB0fw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-06-06 20:46 ` Aloisio Almeida
2011-06-06 20:46 ` Aloisio Almeida
2011-06-06 20:50 ` Samuel Ortiz
2011-06-06 20:50 ` Samuel Ortiz
2011-03-18 15:50 ` Randy Dunlap
2011-03-18 15:50 ` Randy Dunlap
[not found] ` <20110318085033.9bea6dc9.rdunlap-/UHa2rfvQTnk1uMJSBkQmQ@public.gmane.org>
2011-03-18 15:57 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-18 15:57 ` Waldemar.Rymarkiewicz
-- strict thread matches above, loose matches on Subject: below --
2011-03-10 14:20 Waldemar Rymarkiewicz
2011-03-10 14:20 ` Waldemar Rymarkiewicz
[not found] ` <1299766808-2535-1-git-send-email-waldemar.rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w@public.gmane.org>
2011-03-10 13:52 ` Arnd Bergmann
2011-03-10 13:52 ` Arnd Bergmann
[not found] ` <201103101452.54862.arnd-r2nGTMty4D4@public.gmane.org>
2011-03-10 14:45 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-10 14:45 ` Waldemar.Rymarkiewicz
2011-03-10 16:20 ` Arnd Bergmann
[not found] ` <201103101720.53782.arnd-r2nGTMty4D4@public.gmane.org>
2011-03-14 14:59 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-14 14:59 ` Waldemar.Rymarkiewicz
[not found] ` <99B09243E1A5DA4898CDD8B7001114481082FAE10A-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-14 15:34 ` Arnd Bergmann
2011-03-14 15:34 ` Arnd Bergmann
[not found] ` <201103141634.10865.arnd-r2nGTMty4D4@public.gmane.org>
2011-03-14 15:45 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-14 15:45 ` Waldemar.Rymarkiewicz
[not found] ` <99B09243E1A5DA4898CDD8B7001114481082FAE15A-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-14 16:00 ` Arnd Bergmann
2011-03-14 16:00 ` Arnd Bergmann
[not found] ` <201103141700.26457.arnd-r2nGTMty4D4@public.gmane.org>
2011-03-14 16:15 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-14 16:15 ` Waldemar.Rymarkiewicz
2011-03-14 17:01 ` Arnd Bergmann
2011-03-15 8:37 ` Waldemar.Rymarkiewicz
2011-03-15 8:37 ` Waldemar.Rymarkiewicz
[not found] ` <99B09243E1A5DA4898CDD8B7001114481082FAE39E-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-15 9:06 ` Arnd Bergmann
2011-03-15 9:06 ` Arnd Bergmann
2011-03-17 12:58 ` Waldemar.Rymarkiewicz
2011-03-17 12:58 ` Waldemar.Rymarkiewicz
[not found] ` <99B09243E1A5DA4898CDD8B70011144810830AB119-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-17 13:07 ` Arnd Bergmann
2011-03-17 13:07 ` Arnd Bergmann
[not found] ` <201103171407.58164.arnd-r2nGTMty4D4@public.gmane.org>
2011-03-17 13:38 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-17 13:38 ` Waldemar.Rymarkiewicz
[not found] ` <99B09243E1A5DA4898CDD8B70011144810830AB18B-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-17 13:54 ` Arnd Bergmann
2011-03-17 13:54 ` Arnd Bergmann
[not found] ` <201103171454.42838.arnd-r2nGTMty4D4@public.gmane.org>
2011-03-17 13:58 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
2011-03-17 13:58 ` Waldemar.Rymarkiewicz
2011-03-15 10:01 ` Samuel Ortiz
[not found] ` <loom.20110315T104753-187-eS7Uydv5nfjZ+VzJOa5vwg@public.gmane.org>
2011-03-15 12:59 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
[not found] ` <99B09243E1A5DA4898CDD8B70011144810830AA4BD-TzrFtyi11j7rLp5S7fUuNkEOCMrvLtNR@public.gmane.org>
2011-03-15 14:16 ` Samuel Ortiz
2011-03-15 14:29 ` Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201103291305.02293.arnd@arndb.de \
--to=arnd-r2ngtmty4d4@public.gmane.org \
--cc=Waldemar.Rymarkiewicz-++hxYGjEMp0AvxtiuMwx3w@public.gmane.org \
--cc=alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org \
--cc=hthebaud-Umy9UjvE/gtWk0Htik3J/w@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=matti.j.aaltonen-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org \
--cc=sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.