All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Waldemar.Rymarkiewicz@tieto.com, matti.j.aaltonen@nokia.com
Cc: linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
	hthebaud@insidefr.com
Subject: Re: [PATCH] NFC: Driver for Inside Secure MicroRead NFC chip
Date: Thu, 10 Mar 2011 17:20:53 +0100	[thread overview]
Message-ID: <201103101720.53782.arnd@arndb.de> (raw)
In-Reply-To: <99B09243E1A5DA4898CDD8B7001114481082EF2A65@EXMB04.eu.tieto.com>

On Thursday 10 March 2011, Waldemar.Rymarkiewicz@tieto.com wrote:

> >What I suggest you do is to work with the maintainers of the existing
> >pn544 driver (Matti and Jari) to create an NFC core library 
> >that takes care of the character device interface and that can 
> >be shared between the two drivers. Instead of each driver 
> >registering a misc device, make it call a 
> >nfc_device_register() function that is implemented in a common module.
> 
> I've been already thinking about that and it's seems like next obvious step.

Ok, cool.

> >mdev, rx_waitq and mutex would go into the common module.
> >I would expect that you also need a tx_waitq. What happens 
> >when the buffer is full?
> 
> Do you mean info->buff ?

Oh, I see you simply do

       ret = i2c_master_send(client, info->buf, len);
       usleep_range(1000, 10000);

and assume that the buffer can always be written within a milisecond,
so you just slow down output enough to never have to worry about it,
right?

A nicer solution would be to have an interrupt driven output
so you know when the i2c buffers have been flushed.

> >Note that the microread_is_busy() logic does not protect you 
> >from having multiple concurrent readers, because multiple 
> >threads may share a single file descriptor.
> 
> It's just used to ensure that only one reader can open the device.
> It's called only in open callback.
> The mutex actually secures concurrent read operations. 

So if having multiple readers is safe (though possibly not
meaningful), I guess you don't really need the microread_is_busy()
logic.

I suppose it doesn't hurt either, it just seems a bit pointless
when it does the right thing most of the time, but not always.

	Arnd

  reply	other threads:[~2011-03-10 16:20 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-10 14:20 [PATCH] NFC: Driver for Inside Secure MicroRead NFC chip 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 [this message]
     [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
  -- strict thread matches above, loose matches on Subject: below --
2011-03-18 10:40 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
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

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=201103101720.53782.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=Waldemar.Rymarkiewicz@tieto.com \
    --cc=hthebaud@insidefr.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matti.j.aaltonen@nokia.com \
    /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.