All of lore.kernel.org
 help / color / mirror / Atom feed
From: torbenh <torbenh@gmx.de>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: linux-kernel@vger.kernel.org,
	Dimitris Papastamos <dp@opensource.wolfsonmicro.com>,
	Liam Girdwood <lrg@ti.com>, Samuel Oritz <sameo@linux.intel.com>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Graeme Gregory <gg@slimlogic.co.uk>
Subject: Re: [PATCH 0/8] Generic I2C and SPI register map library
Date: Thu, 23 Jun 2011 00:48:28 +0200	[thread overview]
Message-ID: <20110622224828.GA2342@siel.b> (raw)
In-Reply-To: <20110622184407.GC13847@sirena.org.uk>

On Wed, Jun 22, 2011 at 07:44:08PM +0100, Mark Brown wrote:
> [This reposting of the series should address all the review comments on
> the series so far.]
> 
> Many I2C and SPI based devices implement register maps on top of the raw
> wire interface.  This is generally done in a very standard fashion by
> devices, resulting in a lot of very similar code in drivers.  For some
> time now ASoC has factored this code out into the subsystem but that's
> only useful for audio devices.  The intention with this series is to
> generalise the concept so that it can be used throughout the kernel.
> 
> It's not intended that this be suitable for all devices - some devices
> have things that are hard to generalise like registers with variable
> size and paging which are hard to support genericly.  At the minute the
> code is focused on the common cases.  It is likely that the same code
> could be used with other buses with similar properties to I2C and SPI.

you should look at SMBus 
there seems to be quite some code to share.
in particular i2c rtc devices seem to be using SMBus functions
to get the exact same semantics you are providing here.

I just added support for such a device today, and it struck me, that
this API was necessary.

i did not look into it very deeply. and still dont really understand the
diff between SMBus and i2c...





> 
> Currently only physical I/O is handled, the intention is that once this
> support has been reviewed and merged the generic register cache code
> that ASoC includes will also be factored out too.  For devices with read
> heavy workloads (especially those that need a lot of read/modify/write
> cycles) or which don't support read at all this can provide a useful
> performance improvement and for sparse register maps there's a lot of
> benefit in relatively complex cache code.

hopefully, the caching can be selective.
keep rtcs in mind. huge potential for throwing code away there ;)


-- 
torben Hohn

  parent reply	other threads:[~2011-06-22 22:48 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-22 18:44 [PATCH 0/8] Generic I2C and SPI register map library Mark Brown
2011-06-22 18:45 ` [PATCH 1/8] regmap: Add generic non-memory mapped register access API Mark Brown
2011-06-22 18:45   ` [PATCH 2/8] regmap: Add I2C bus support Mark Brown
2011-06-22 18:45   ` [PATCH 3/8] regmap: Add SPI " Mark Brown
2011-06-22 18:45   ` [PATCH 4/8] ASoC: Use new register map API for ASoC generic physical I/O Mark Brown
2011-06-22 18:45   ` [PATCH 5/8] mfd: Convert WM831x to use regmap API Mark Brown
2011-06-22 18:45   ` [PATCH 6/8] mfd: Convert WM8994 to use new register map API Mark Brown
2011-06-22 18:45   ` [PATCH 7/8] mfd: Convert pcf50633 " Mark Brown
2011-06-22 18:45   ` [PATCH 8/8] regulator: Convert tps65023 to use regmap API Mark Brown
2011-06-22 19:03   ` [PATCH 1/8] regmap: Add generic non-memory mapped register access API Lars-Peter Clausen
2011-06-22 19:11     ` Mark Brown
2011-06-22 19:20       ` Lars-Peter Clausen
2011-06-22 19:42         ` Mark Brown
2011-07-01  0:22   ` Ben Hutchings
2011-07-01  2:38     ` Mark Brown
2011-06-22 22:48 ` torbenh [this message]
2011-06-23  1:25   ` [PATCH 0/8] Generic I2C and SPI register map library Mark Brown
2011-06-23  8:54     ` Jonathan Cameron
2011-06-23 10:44       ` Mark Brown
  -- strict thread matches above, loose matches on Subject: below --
2011-06-20 12:46 Mark Brown

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=20110622224828.GA2342@siel.b \
    --to=torbenh@gmx.de \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=dp@opensource.wolfsonmicro.com \
    --cc=gg@slimlogic.co.uk \
    --cc=lars@metafoo.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lrg@ti.com \
    --cc=sameo@linux.intel.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.